CodeAndCollab: A Virtual Coding Environment
Authors/Creators
Description
This paper introduces CodeAndCollab, a web-based platform designed to facilitate real-time collaborative programming with secure code execution capabilities. The system addresses the growing demand for effective remote collaboration tools in software development and computer science education by providing synchronous multi-user editing, instant communication channels, and safe code execution. Developed using modern web technologies including React, Node.js, and Socket.io, CodeAndCollab implements an efficient event-driven synchronization mechanism that ensures minimal delay during collaborative sessions. The platform employs containerized deployment withDocker and provides secure sandboxed execution through the Piston API. Performance evaluation demonstrates average synchronization latency below 250ms with 20 concurrent users, CPU utilization under 70%, and connection stability exceeding 99.5%. User studies involving 30 participants show significant improvements in collaborative efficiency and learning outcomes.This research contributes an open-source, scalable solution that bridges important gaps in current collaborative development environments.
Files
FinalPaperForPublication.pdf
Files
(250.5 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:b6c76ae9fec3fcac4ba4068427bb4b45
|
250.5 kB | Preview Download |
Additional details
Software
- Programming language
- TypeScript
- Development Status
- Active
References
- K. Virdi, A. Yadav, A. Gadoo, and N. Singh, "Collaborative code editors– enabling real-time multi-user coding and knowledge sharing," in 2023 International Conference on Intelligent Systems and Management (ICIMIA), Bangalore, India, 2023, pp. 614–620.
- H. Fan, K. Li, X. Li, Y. Wang, and T. Wang, "CoVSCode: A novel real-time collaborative programming environment for lightweight IDE," Applied Sciences, vol. 9, no. 21, p. 4642, Oct. 2019.
- M. Cheatham, G. Fourny, and C. van der Goot, "Visual Studio Live Share: Real-time collaborative development," in 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Pro ceedings (ICSE-Companion), Montreal, QC, Canada, 2019, pp. 33–36.
- C. A. Ellis and S. J. Gibbs, "Concurrency control in groupware systems," in Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data, Portland, OR, USA, 1989, pp. 399–407.
- C. Sun, X. Jia, Y. Zhang, Y. Yang, and D. Chen, "Achieving conver gence, causality preservation, and intention preservation in real-time cooperative editing systems," ACM Transactions on Computer-Human Interaction, vol. 5, no. 1, pp. 63–108, Mar. 1998.
- M. Shapiro, N. Preguic¸a, C. Baquero, and M. Zawirski, "Conflict free replicated data types," in Proceedings of the 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems, Grenoble, France, 2011, pp. 386–400.
- M. Kleppmann and A. R. Beresford, "Automerge: Real-time data synchronization between edge devices," in Proceedings of the 11th ACM Symposium on Cloud Computing, Virtual Event, USA, 2020, pp. 437–451.
- A. Bohra, J. Perdomo, S. Kamil, and A. Guha, "Replit: A scalable platform for interactive programming education," in Proceedings of the 51st ACM Technical Symposium on Computer Science Education, Portland, OR, USA, 2020, pp. 785–791.
- E. Derakhshani, A. L. C. R. de M. R. de Mattos, and J. H. J. E. R. de Oliveira, "Collabode: Collaborative development environment with continuous analysis," in 2014 IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, 2014, pp. 1–10.
- R. van der Meij, A. S. Z. Bell, and S. M. McNamara, "CodeR: A web-based environment for collaborative R programming," Journal of Statistical Software, vol. 85, no. 1, pp. 1–25, May 2018.