CodeHive Group 32
CodeHive Group 32
Under the
guidance of
May 2025
UNDERTAKING
This is to certify that Jay Prakash, Kirtibala Verma and Rajeev Ranjan have
successfully carried out the completion of the project entitled “CodeHive -A
RealTime Collaborative Coding Platform” under my supervision during
session 2024-25 and all the requirements of the project have been met.
We would like to give our sincere thanks to our mentor, Dr. Vibhav
Prakash Singh, who guided us throughout our project “CodeHive – A
RealTime Collaborative Coding Platform” in every possible way with his
invaluable advice and valuable suggestions. Our project would not have
been possible without his constant guidance, support, and encouragement
that helped us complete our project on time. We feel honoured and
privileged to work under him.
The platform also integrates essential developer-friendly utilities such as code export,
syntax highlighting, screenshot capture, and shimmer UI for seamless user experience.
Security is maintained through validated Room IDs and username constraints, while
performance is optimized with indexed database queries and automated room cleanup.
CodeHive aims to provide a single platform that unifies code development,
communication, and visualization to streamline the collaborative programming
process in both academic and professional settings.
Content
5. Testing
- Testing Objective 43-45
- Testing Plan Used
6. Maintenance & Future Scope of The Project 46
7. Limitations of the Project 47
8. Conclusion 48
9. Bibliography/References 49
1. Introduction of Project
❖ Introduction
❖ Product Perspective
CodeHive is a standalone web-based collaborative code editing platform developed to bridge the
gap between isolated development environments and modern collaborative workflows. Unlike
traditional IDEs or single-user code editors, CodeHive centralizes the development, communication,
and visualization processes into a single interactive interface that is accessible through any modern
web browser.
1
AI Assistant Module:
• AI-based code completions with OpenAI Codex/GPT-4 • Inline suggestions for bug fixes
and optimizations.
• Natural language to code conversion
• Instant feedback and error explanation
Whiteboard Module
• Shared collaborative drawing space for diagrams, flowcharts, and brainstorming for Real-
Time Synchronization.
• Multi-Tool Drawing Interface like Pen, Eraser, Highlighter, shapes.
• Colour and Size Customization, Undo/Redo Functionality, Screenshot
Capture
Screenshot Module
• Capture drawing board and save as an image.
2
❖ Software and Hardware Requirements
Software Requirements
• Web Server: The web server plays a crucial role in hosting the CODEHIVE platform. It
stores and delivers all necessary components such as HTML, JavaScript, CSS, and media
assets, as well as backend files and APIs. The server can run on either Windows or Linux
operating systems, depending on deployment preferences. It handles all client requests and
responses efficiently to ensure a seamless collaborative coding experience.
• Server Software: The CODEHIVE server is built using Node.js with Express.js, which
processes client requests and manages real-time data communication via Socket.io. The
server interacts with the database and the OpenAI API to handle real-time collaboration, AI-
assisted coding, user management, and code execution, responding dynamically to all
frontend actions.
• Web Tools: The frontend of CODEHIVE is developed using React.js, enhanced with modern
libraries such as Monaco Editor, Code Mirror, and React Router DOM. These tools offer
a responsive, interactive, and user-friendly interface for coding, chat, and whiteboard
collaboration. Tools like Redux Toolkit and Vite ensure efficient development workflows
and state management.
• Database System: CODEHIVE uses MongoDB as its primary database system to store
persistent user data, session information, code history, chat messages, and room metadata.
The database ensures high-speed performance with indexed Room IDs and is capable of
cleaning up inactive rooms automatically, improving storage efficiency and application
responsiveness.
Hardware Requirements
3
• Processor: To efficiently handle real-time communication, AI processing, and multi-user
collaboration features of CODEHIVE, a processor with solid multitasking capability is
essential. A Core i3 processor with a base clock speed of 1.4 GHz or higher is suitable for
both client and server-side operations during development and testing. It supports core
functionalities such as real-time data processing, socket connections, and concurrent user
requests.
• RAM: For smooth performance of the collaborative code editor, whiteboard module, and
background processes like chat and AI integration, the system requires a minimum of 4GB of
RAM. This ensures efficient handling of the application's state management, rendering, and
code execution tasks.
• Hard Disk: To store source code, node modules, dependencies, MongoDB data, and other
related assets, at least 500GB of hard disk space is recommended. This provides sufficient
storage for the project files, logs, and historical user data managed by the application.
4
2. Motivation and Objective of the Project
❖ Motivation
In today’s software development landscape, collaboration is essential— whether for remote
teams, coding interviews, hackathons, or educational purposes. However, most existing tools
have limitations:
5
• Performance: To maintain high performance, CODEHIVE utilizes a lightweight and optimized
React frontend that delivers fast loading times and seamless user interactions. Server-side
indexing of Room IDs enhances data retrieval speed, while automatic cleanup of inactive
rooms ensures optimal database performance and memory usage over time.
• Control: Users have extensive control over their sessions, with features like undo/redo
functionality, code loss prevention alerts before refresh, and persistent data logging for
future reference. Additionally, the platform allows session hosts or educators to manage
collaborative tools such as the whiteboard, giving them full control over access and
participation.
❖ Objective
The primary objective of the CodeHive project is to develop a real-time collaborative code editor
that enhances remote software development and learning experiences. The platform aims to provide
seamless multi-user code editing, AI-powered code assistance, and real-time communication
through integrated chat and drawing board features. With support for multi-language code
execution, persistent session storage, and an intuitive UI/UX, CodeHive empowers developers,
educators, and teams to collaborate efficiently. It leverages modern web technologies and ensures
code safety, user-friendly interactions, and optimized performance throughout the development
lifecycle.
❖ Purpose
The purpose of the CodeHive project is to create a real-time, collaborative coding environment that
supports multiple users working simultaneously. It is designed to enhance productivity, enable peer
learning, and simplify remote collaboration among developers. The integration of AI-driven code
assistance, a drawing board, and live chat features aims to make collaborative coding more
interactive, efficient, and user-friendly for teams and individuals alike.
❖ Project Scope
CodeHive is a full-stack collaborative code editor designed to support real-time code sharing, multi-
language execution, AI-powered suggestions, and team communication. It includes core features
such as a synchronized code editor, live chat, drawing board, and persistent room-based data storage
using MongoDB. The project supports developers, educators, and students in pair programming,
team projects, and online teaching sessions. It also includes room validation, user prompts, and
performance optimization.
6
❖ Document Conventions
This document follows standard software engineering conventions. Terminologies like API, UI/UX,
WebSocket, Redux, and modules refer to their commonly accepted definitions in the development
community. Technical elements such as file paths, components, and configurations are written in
code-style formatting where necessary. All headings are structured hierarchically for clarity.
Diagrams, code samples, and references, if any, will be annotated and presented using consistent
formatting.
❖ Intended Audience
This document is intended for developers, project supervisors, evaluators, educators, and any
stakeholders involved in the planning, development, or deployment of the CodeHive platform. It is
also useful for technical writers documenting the system and for QA engineers testing the
application's features. Familiarity with web technologies like React, Node.js, MongoDB, and
WebSocket’s will help readers better understand the technical aspects of the system.
❖ Additional Information
CodeHive is built using React for the frontend and Node.js with Express for the backend. It utilizes
Socket.io for real-time updates and MongoDB for persistent data storage. The platform integrates
OpenAI APIs for AI code assistance and the Piston API for multi-language code execution. ESLint
ensures code quality during development. Vite is used as the front-end build tool to deliver fast and
efficient bundling and development experiences.
1. Project Perspective
CodeHive enables users to collaboratively edit code in real-time, with features such as code
suggestions, version control, and communication tools. Users can seamlessly collaborate on coding
projects, execute code, and manage versions. The project scope is vast, offering features that
enhance usability, understanding, and modification
2. Project Category
A web application (or web app) is software that runs in a web browser, unlike traditional software
that operates locally on a device’s operating system. CodeHive is delivered through the World Wide
Web, accessible by users with an active internet connection, providing a seamless coding and
collaboration experience across different platforms.
• HTML
• CSS
• JavaScript
• React.Js
• Node.js
• Express.js
• MongoDB Database
• Internet Connection
GitHub: GitHub is a web-based platform for version control and collaboration, allowing multiple
users to work on projects simultaneously. It uses Git for source code management and provides
features like access control, bug tracking, task management, and collaboration tools. GitHub
integrates continuous integration and supports features like wikis for project documentation. Since
2018, GitHub has been a subsidiary of Microsoft, widely used for managing Code Hive’s source
code and collaboration.
HTML: HTML (Hypertext Markup Language) is the standard language for creating web pages in
CodeHive. It defines the structure and content of the web pages that users interact with, such as the
interface to search doctors, book appointments, and send messages. HTML5 is the version used,
9
offering improved markup elements, APIs, and the Document Object Model (DOM), ensuring
dynamic interaction and seamless integration with other web technologies.
CSS: CSS (Cascading Style Sheets) is used in CodeHive to define the look and feel of the web
pages. It controls the design, layout, and responsiveness, ensuring that the platform provides an
optimal experience across various devices and screen sizes. By using CSS, we enhance the user
interface, making it more visually appealing while maintaining accessibility and responsiveness.
JavaScript: JavaScript is the primary scripting language in CodeHive, enabling dynamic features
like form validation, real-time interaction, and client-side processing. It is essential for user
interactions such as submitting forms, handling asynchronous requests, and dynamically updating
the UI based on user actions. JavaScript helps make the web pages interactive and ensures smooth
user experiences without needing to refresh the page.
React.js: React.js is a popular JavaScript library for building user interfaces, especially single-page
applications where you need a fast, interactive user experience. React makes it easier to build and
maintain complex UIs in a declarative way by breaking them into reusable components. In
CodeHive, React.js powers the front-end interface, allowing users to easily navigate, interact, and
book appointments.
Express: Express is a minimalist web framework for Node.js. It simplifies the creation of web
servers and API endpoints, providing robust features for handling HTTP requests and responses. In
the CodeHive project, Express is used to build the backend APIs that facilitate communication
between the front-end and the MongoDB database.
MongoDB: MongoDB is a NoSQL database that stores data in a flexible, JSON-like format.
It is designed for scalability and high availability. CodeHive uses MongoDB to store and manage
user data, doctor information, appointments, and other system-related data, providing a robust and
scalable solution to meet the project’s needs.
4. Product Functions
• Users can join rooms, collaborate in real time, and share code.
• Participants can access and edit a shared code editor with real-time updates.
• Users can send and receive messages in the chat system.
• The project integrates a feature to save all relevant data (e.g., code, language, version,
console text, and chat messages) in MongoDB.
• Real-time saving of data ensures that all changes are updated immediately and
reflected for all users in the room.
10
5. Constraints:
• Only authorized users can access or modify room-specific code, chat, and data to ensure
secure collaboration.
• The application must maintain low latency and high responsiveness for real-time code
editing and messaging.
• Multiple users should be able to access and edit the same code simultaneously without
conflict.
• Real-time syncing and database integration must ensure consistency and integrity of all
shared data.
• A stable internet connection is assumed for real-time code collaboration and data
synchronization.
• MongoDB, Node.js with Express, and React.js are properly configured and deployed on
Render for backend and frontend services.
7. Specific Requirements
• Functional Requirements
• Non-Functional Requirement
11
Non - Functional requirements identified for this system are listed below:
1. Usability Requirements:
• A clean and minimal UI design is provided to enhance ease of use.
• The application is accessible to users without requiring an account or prior technical
knowledge.
2. Performance Requirements:
• The system supports real-time synchronization of code, chat, and whiteboard across
multiple users simultaneously.
• All user inputs and changes are updated in the backend instantly and broadcast to other
users.
3. Reliability
• The room data is auto saved in MongoDB, ensuring users can continue their work even
after a page refresh.
• Data sync between users is handled using WebSocket’s (Socket.io) for smooth
collaboration.
4. Portability
• CodeHive is a web-based app accessible on any device with an internet connection and a
modern browser.
• Supports multiple operating systems like Windows, macOS, Linux, etc.
5. Security Techniques
• Each room is uniquely identified, and access is limited to users who have the room ID.
• All data transmission is secured using HTTPS protocol
12
Why Iterative Waterfall Model?
In the development of CodeHive, a collaborative real-time code editor, the classical waterfall model
posed limitations due to its rigid, non-adaptive structure. Therefore, the Iterative Waterfall Model
was adopted, as it allows for incremental improvements while maintaining a structured development
approach.
Since CodeHive involves multiple components like room creation, collaborative code editing, real-
time data sync, and chat, it was important to have flexibility in revisiting earlier stages when issues
or new requirements were discovered during later phases such as integration or testing.
The Iterative Waterfall Model provided feedback paths from each stage (e.g., requirement
gathering, system design, implementation) to its previous stages. This allowed for refining the
system without restarting the whole process. For instance, during the testing phase, if a
synchronization bug was found in real-time updates, it was possible to revisit the design or
implementation phase and fix the issue effectively.
This approach ensured that each iteration of CodeHive’s development was more robust, resulting in
a system that is scalable, responsive, and user-friendly—ideal for a collaborative coding platform.
• Simple – Iterative waterfall model is very simple to understand and use. That’s why it is one
of the most widely used software development models.
13
• Well-organized – In this model, less time is consumed on documenting and the team can
spend more time on development
Computer software experts have adapted several approaches from older engineering fields, and for
developing new ones. For instance, divide and conquer a widely known technique for handling
more complex problems, is used in a few ways in software engineering.
The software engineering process, for example, is normally divided into phases. SDLC is a series of
steps which provides a model for development and lifecycle management of software. It varies
across industry and organization. But it has a standard. For this several system development life
cycle models have been created. Some of them are waterfall, spiral, fountain, build and fix.
- Feasibility Study
- Requirement Definition
- System Specification
- System Design
- Program, Design, Coding
14
- Implementation
- Testing
- Changing Request Definition
➢ Feasibility Study
In the first stage of SDLC I must make measure feasibility study for the proposed system. There are
basically five parts to any effective Feasibility Study:
1. The Project Scope: I defined the project scope earlier. Users can write code, collaborate in real
time, and chat with others in the same room. Users can also run their code, draw on a whiteboard,
and use AI suggestions to improve code. This project has a large scope as it has the following
features which help in making it easy to use, understand and modify it.
2. The Current Analysis: In various platforms we must write code and share updates manually
through messages or screenshots. It is time-consuming and not efficient. Users must collect and
update information using separate tools. It needs multiple apps and takes input by human effort,
and there is a lot of interaction which is not efficiently done. If any modifications or updating is
required, it must be done separately. So, it is prone to error.
3. Requirements: User requires using the system simply a laptop, PC, or mobile phone to access
internet. Using the internet, it is very easy to write and execute code collaboratively.
4. Evaluation: In evaluation examine cost effectiveness of the system. It is cost effective as users
do not need to open multiple tools for sharing and executing code. Time is also saved. One can
collaborate and run code directly from home using internet.
5. Review: From the above analysis it may be concluded that the system would be useful, cost
effective, easy to use and will solve the manual system faults.
6. Testing:
Testing is the process of examining a software product to find errors. This process is crucial not only
for the code but for all the associated lifecycle products, including documentation and user manuals.
In the CodeHive project, the software testing process is divided into several phases. The first phase
involves unit testing, where individual components like code editing features, real-time
15
synchronization, and AI code suggestions are tested by developers. The second phase is integration
testing, where various modules (e.g., chat, drawing board, and real-time code updates) are
combined and tested as a group.
System testing is done on the entire platform, ensuring that all features work together seamlessly,
including code editing, collaboration, AI integration, and real-time communication. Acceptance
testing is performed by the intended users (e.g., developers and instructors) to ensure that the
system meets their expectations.
The basic unit of testing is the test case, which defines the specific aspect of the system being
tested, along with test conditions (input values), the environmental state (system setup), and the
expected behaviour given those conditions.
7. Implementation
The implementation stage of the CodeHive project is a critical phase that determines the success or
failure of the system. It involves the process of installing the system and making it operational in a
production environment. This phase begins once the system has been thoroughly tested and
accepted by the users.
In the SDLC model for CodeHive, the implementation involves deploying the system on a live
server environment, ensuring that all collaborative coding features, real-time chat, AI-driven
suggestions, and the drawing board are fully functional. The system is then made accessible to
users, allowing them to collaborate on coding projects seamlessly. User access, data
synchronization, and system performance are continuously monitored to ensure a smooth
experience.
For CodeHive, this might include adding new programming language support, improving AI
features, or enhancing real-time collaboration capabilities. The process ensures that the system
remains flexible and adaptable to meet evolving demands.
16
4. System Design and Implementation
▪ Gantt Chart
17
▪ PERT Chart
18
▪ ER Diagram
19
▪ Data Flow Diagram
A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the processes that
change data throughout a system. It’s a structured analysis and design tool that can be used for
flowcharting in place of or in association with information. Oriented and process-oriented
system flowcharts. Four basics symbols are used to construct data flow diagrams. They are
symbols that represent data source, data flows, and data transformations and data storage.
▪ 0 Level DFD
20
• 1 Level DFD
2 level DFD
21
Sequence Diagram:
22
• System Design
The architecture of CodeHive is engineered around the principles of consistency and completeness,
ensuring seamless real-time collaboration and robust data persistence. The CodeHive system is
23
engineered with core architectural principles of Consistency and Completeness to ensure seamless
performance in a collaborative, real-time environment.
• Consistency guarantees that all modules (code editor, chat, drawing board, etc.) interact
reliably across all user sessions.
• Completeness ensures that both frontend and backend behaviours are fully aligned, enabling
real-time collaboration and data persistence without functional gaps.
♦ User Module: Enables users to instantly create or join collaborative coding rooms, edit and
share code in real-time using Socket.io, communicate via group chat, collaborate visually on
a drawing board, export code, and receive pre-refresh alerts.
24
• System Management Module: Handles secure generation and validation of 20-character
room IDs and usernames, maintains real-time global state synchronization via Redux, stores
and retrieves room data in MongoDB, cleans up inactive rooms after 7 days, and enables
screenshot capture of the drawing board.
• Data Modelling: Room-related data is stored in MongoDB, with each room’s state-including
code, chat logs, and user information-persisted for reliability and fast retrieval. Real-time
synchronization is achieved using Socket.io, and Indexed DB is leveraged on the front end
for rapid access to frequently used data.
25
26
• User Interface Design: The UI is designed for intuitive, responsive use across devices. Key
technologies include React.js for component-based development, Monaco Editor and Code
Mirror for rich code editing, and a focus on streamlined workflows for creating rooms,
editing code, chatting, and leveraging AI suggestions.
• Data Design: All critical data-code, user profiles, chat logs, and room metadata-are stored in
MongoDB. Real-time updates are synchronized via WebSocket (Socket.io), ensuring all users
see changes instantly. Indexed DB further accelerates frontend data access.
• Module Design
27
• Server-Side Implementation: The backend, built with Node.js and Express.js, processes
client requests, manages real-time data via Socket.io, interfaces with MongoDB, and
communicates with the OpenAI API for AI driven features.
28
• Multi-language Execution: Piston API enables execution and testing of code in multiple
programming languages within the platform.
29
• Implementation
The implementation stage of the CodeHive project is a critical phase that determines the success or
failure of the system. It involves the process of installing the system and making it operational in a
production environment. This phase begins once the system has been thoroughly tested and
accepted by the users.
In the SDLC model for CodeHive, the implementation involves deploying the system on a live
server environment, ensuring that all collaborative coding features, real-time chat, AI-driven
suggestions, and the drawing board are fully functional. The system is then made accessible to
users, allowing them to collaborate on coding projects seamlessly. User access, data
synchronization, and system performance are continuously monitored to ensure a smooth
experience.
❖ UI Implementation (Desktop)
30
Fig. 1. This is the Join Room Page
Fig. 2. Enter the Room Id and Username then click on Join Room
You can also generate a Random Room Id
31
Fig. 3. Ensure that the Room ID is under 40 characters or it will not be accepted.
32
Fig. 5 This is the Room Page code.
33
Fig 6: You can code in any language (JavaScript, Python, Java, C++, C) of your choice
and You can Copy the Room Id
• Share your Room Id with People whom you want to work with in the same room.
• They will join in the same room. You all can code together at Real Time
34
Fig. 7: When user with same Room Id joins that room its visible there.
35
Fig. 8: Automatic Code Suggestions
Fig.9: After Completing the program execute it and See the Output.
36
Fig. 10: All users will see the same things on their screen.
This is exactly what A Coding platform where users can Collaboratory Work at Real Time.
Every Changes by any Member of the Room is visible to other Members.
Fig. 11. You can also Download the Code File. It will the downloaded in the extension of the language
you are coding in.
37
Fig. 12. This is the Drawing Board having functionality like
▫ Pen & Highlighter with multiple color options and size scaling.
▫ Pan to move the image
▫ All the Members of the room will see this at real time
▫ Redo Undo the Drawing, draw shapes
▫ Take Screenshot and clear the board
38
Fig. 13 Drawing Board
39
Fig. 15: This is the Chat Box
40
Fig. 17 Chat notifications and new members can also see the previous chats
41
Fig. 18 This is the AI Tool to seek help from AI.
5. Testing
42
Testing is the process of examining a software product to find errors. This process is crucial not only
for the code but for all the associated lifecycle products, including documentation and user manuals.
The basic unit of testing is the test case, which defines the specific aspect of the system being
tested, along with test conditions (input values), the environmental state (system setup), and the
expected behaviour given those conditions.
The testing plan used for CodeHive included the following phases:
• Unit Testing
• Integration Testing
• System Testing
• Acceptance Testing
Unit Testing:
This was conducted for individual modules such as the code editor component, chat system, and
room ID generation functions. Each unit was tested in isolation using Jest and Mocha to ensure
correctness in core logic without integration dependencies. For example, test cases verified whether
socket events triggered accurate state updates and whether the AI code suggestions worked as
intended.
Integration Testing:
43
After successful unit testing, modules like the WebSocket based collaboration and AI assistance
APIs were integrated. The focus here was on verifying seamless interaction between components
like the real-time whiteboard and group chat, or code execution and user session states. Bugs related
to event timing or state desynchronization were addressed during this phase
System Testing:
Once integrated, the entire CodeHive application was tested. Test cases were derived from the
functional specifications (real-time sync, multiuser collaboration, code execution, etc.) to validate
end-to-end performance. Tests evaluated parameters like the response time of real-time updates, chat
message delivery reliability, and whiteboard drawing synchronization. System testing also included:
• Security testing for verifying Room ID authentication and code history access.
• Volume testing for checking MongoDB performance during high data activity.
Acceptance Testing:
Upon completion of system testing, the platform was handed over to end users, including peer
developers and mentors, for final validation. Acceptance testing ensured that the project met all user
requirements such as
44
This focused on the functional outputs of CodeHive's UI components. Testers verified expected
behaviour without looking into internal code logic, ensuring that all features worked according to
the specification from an end user’s perspective
➢ Remark
The entire CodeHive system passed all defined test cases across different levels. No critical errors
were found during testing, ensuring a robust and deployable product. The project is now ready for
final release and operational use.
45
6. Maintenance and Future
Scope of the Project
As CodeHive is a fully web-based application, its maintenance is relatively simple and can be
carried out remotely with minimal system requirements. Thanks to its clean, responsive, and user-
friendly interface, both beginners and experienced developers can use the platform with ease,
without requiring any additional installations or training.
In case users encounter any bugs or functionality issues, they can reach out directly to the
development team through the built-in feedback or contact sections of the platform. Additionally,
the About Us section contains the contact details of the development team, allowing users to report
issues or suggest improvements.
The development team welcomes feedback and offers full support to help users get familiar with the
platform. As part of our maintenance plan, periodic codebase reviews, dependency updates, and
performance optimizations are scheduled to ensure long-term stability and compatibility.
In the future, we aim to expand CodeHive with several new features, including:
• Video/voice call/audio call integration for live teaching and code walkthroughs.
• GitHub integration for version control and direct repository access. • User
leaderboard and progress tracking for academic institutions
• Our own trained AI model integration.
• Coding competition platform.
8. Conclusion
Considering all the implemented features and technologies, it is evident that CodeHive offers a
modern, interactive solution for collaborative programming and education. It empowers users to
47
write, review, and execute code in real-time with the support of AI assistance and synchronized
communication tools.
48
9.Bibliography/References
➢ Technical References
❖ [1] Socket.IO, "Real-time application framework," 2023. [Online].
Available: https://socket.io/ (For WebSocket implementation)
❖ [3] Piston API, "Multi-language code execution engine," 2023. [Online]. Available:
https://github.com/engineer-man/piston (For code execution in C/C++/Python/etc.) [4]
MongoDB, "NoSQL database documentation," 2023. [Online]. Available:
https://www.mongodb.com/docs/ (For data persistence and TTL cleanup)
49