CodeCipher is a collaborative coding platform enabling real-time code sharing, editing, and execution across multiple programming languages. Perfect for developers, educators, and teams to streamline remote interviews, pair programming, and coding practice.
CodeCipher provides a seamless environment for collaborative coding with live chat, code execution, and multi-language support. Users can create rooms, invite collaborators, and work together in real time.
- 📝 Real-time collaborative code editor
- 💬 Integrated chat for communication
- ⚡ Live code execution for multiple languages
- 🔒 Secure room creation and management
- 🌐 Multi-user support
- 📊 Syntax highlighting and error reporting
- 🔄 Socket-based live updates
Frontend:
- React.js
- Redux
- Socket.io-client
- Tailwind CSS
Backend:
- Node.js
- Express.js
- Socket.io
- MongoDB
- REST API
Deployment:
-
Clone the repository
git clone https://github.com/yourusername/codecipher.git cd codecipher -
Install dependencies
cd server npm install cd ../client npm install
-
Set up environment variables
Create a.envfile in theserverfolder:MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret CLIENT_URL=http://localhost:3000 -
Run the application
- Start backend:
cd server npm start - Start frontend:
cd client npm start
- Start backend:
- Visit your deployed frontend on Vercel.
- Register or log in.
- Create or join a coding room.
- Start collaborating and executing code!
-
Backend Environment Variables:
MONGO_URI: MongoDB connection stringJWT_SECRET: Secret for JWT authenticationCLIENT_URL: Frontend URLPORT: Server port (default: 5000)
-
Frontend Environment Variables:
REACT_APP_API_URL: Backend Render URL
codecipher/
├── client/ # React frontend
│ ├── src/
│ └── public/
├── server/ # Node.js backend
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ └── sockets/
├── README.md
└── .env
joinRoom: Join a coding roomcodeUpdate: Broadcast code changeschatMessage: Send/receive chat messagesrunCode: Execute code and return output
POST /api/auth/register: Register userPOST /api/auth/login: Login userGET /api/rooms: List roomsPOST /api/rooms: Create room
- JavaScript
- Python
- Java
- C++
- C#
- Ruby
- Go
- PHP
- TypeScript
- Push your backend code to GitHub.
- Create a new Web Service on Render.
- Set the root directory to
server. - Set build command:
npm install - Set start command:
node index.js - Add environment variables in Render dashboard.
- Deploy.
- Push your frontend code to GitHub.
- Create a new project on Vercel.
- Set the root directory to
client. - Set environment variable
REACT_APP_API_URLto your Render backend URL. - Deploy.
- Fork the repository
- Create a new branch (
feature/your-feature) - Commit your changes
- Open a pull request
- Follow the Code of Conduct
- 🧑💻 Video/audio chat integration
- 📱 Mobile app support
- 🏆 Coding challenges and leaderboards
- 🛡️ Enhanced security features
- 🌐 More language support
- 📊 Analytics dashboard