CodeX is a real-time collaborative coding platform that allows users to create and join coding sessions, share code, and communicate via chat and video calls. This application is built using React for the frontend and Socket.IO for real-time communication.
- Real-time Collaboration: Multiple users can join the same coding session and collaborate in real-time.
- Chat Functionality: Users can send messages to each other while coding.
- Video Call Support: Users can initiate video calls to discuss code and collaborate more effectively.
- Code Execution: Users can execute code snippets in various programming languages and see the output in real-time.
- Frontend: React, TypeScript, Tailwind CSS
- Backend: Node.js, Express, Socket.IO
- Database: (If applicable, mention the database used)
- APIs: (If applicable, mention any external APIs used)
- Node.js (version 14 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/mondeep31/codex.git cd codex
-
Install the dependencies:
npm install # or yarn install
-
Set up the backend server:
- Navigate to the server directory (if applicable) and install dependencies.
- Configure environment variables as needed (e.g., database connection strings, API keys).
-
Start the development server:
npm start # or yarn start
-
Open your browser and navigate to
http://localhost:3000
to access the application.
- Creating a Room: Users can create a new room by entering a room name and their username.
- Joining a Room: Users can join an existing room by entering the room ID and their username.
- Collaborating: Once in a room, users can share code, chat, and initiate video calls.
- Executing Code: Users can write code in the editor and execute it to see the output.
client/
: Contains the frontend codebase.src/components/
: Contains React components for the application.src/socket.js
: Socket.IO client setup for real-time communication.
server/
: Contains the backend codebase.controller/
: Contains socket event handlers and business logic.config/
: Configuration files for the server.types/
: TypeScript type definitions.
Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Special thanks to the libraries and frameworks used in this project.