This application enables mentors and students to collaborate remotely. Mentors share code blocks in read-only mode, while students can make real-time changes. Features include role management, student counts, solution verification, syntax highlighting, code synchronization using Socket.IO, and a lobby page for code block selection.
- Role Management: The first user to join a room is assigned the mentor role; others are students.
- Real-Time Code Collaboration: Code changes are broadcast to all participants in the room.
- Student Count: Displays the number of students currently in the room.
- Solution Verification: Automatically checks if the submitted code matches the correct solution.
- Mentor Handling: If the mentor leaves the room, all students are redirected to the lobby.
- Frontend: React, Ace Editor
- Backend: Node.js, Express, Socket.IO
- Database: MongoDB
To get a local copy of the project up and running, follow these steps:
-
Clone the repository:
git clone https://github.com/Karin-Koren/online-coding-app.git
-
Install server dependencies:
cd server npm install
-
Install client dependencies:
cd client npm install
-
Start the server:
cd server node server.js
-
Start the client:
cd client npm start
-
Open your browser and visit http://localhost:3000 to access the application.
The application is deployed on Railway. You can access the deployed app at App-Url
.