CodeSphere is a comprehensive web platform where users can code, compile, chat, and share their screens seamlessly. Designed to empower collaborative learning, CodeSphere is perfect for teachers and students to conduct live coding classes, interact, and learn together in real-time.
- Collaborative Coding: Code together in multiple programming languages like C, C++, Java, Python, and more.
- Real-Time Compilation: Compile each other's code and share feedback instantly.
- Screen Sharing: Share your screen for live demonstrations and debugging sessions.
- Chat Integration: Chat with participants in real-time.
- Room Management:
- Create rooms for specific languages.
- Share unique Room IDs for participants to join.
- Local Save: Save your code locally on your device.
- React.js
- Tailwind CSS
- Monaco Code Editor
- ShadCN (UI Components)
- Express.js
- MongoDB
- Socket.io
- Axios
- Clone the repository:
git clone https://github.com/dibakarghosh03/code-sphere.git
- Navigate into the project directory:
cd code-sphere - Run Frontend:
cd frontend npm install npm run dev - Run Backend:
cd backend npm install node --watch index.js - Access the App: Open your browser and navigate to http://localhost:5173 to view the application.
Experience CodeSphere live: CodeSphere Live
-
Sign Up & Log In:
After cloning and setting up the project, sign up or log in to your account. -
Create a Room:
- Once logged in, create a new room by selecting a programming language (e.g., C, C++, Java, Python, etc.).
- You can invite others to join by sharing the unique Room ID.
-
Collaborative Coding:
- Once inside the room, you and your participants can code together in real-time.
- Use the Monaco code editor for writing your code.
-
Compile Code:
- You can compile your code directly within the room, and others can compile their code too.
-
Chat and Screen Share:
- Use the built-in chat feature to discuss and collaborate on code.
- Share your screen for live demonstrations or troubleshooting.
-
Save Your Work:
- You can save your code locally to your device for future reference.
Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.