Stop Solving Alone. Start Solving Together.
🔗 Frontend: https://we-code-dsa.vercel.app
🔗 Backend API: https://wecode-6hfa.onrender.com
WeCode is a real-time collaborative coding platform designed for:
- DSA Practice
- Pair Programming
- Interview Preparation
- Brainstorming Coding Approaches
Users can join shared rooms to:
- Write code together
- Chat in real-time
- Use a collaborative whiteboard
- Execute code in multiple languages instantly
- Real-time collaborative code editor
- Room-based session management
- Live presence indicators
- Integrated real-time chat
- Shared whiteboard
- Multi-language execution (C++ , Java , Python , JavaScript)
- Fully responsive UI
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- Socket.io Client
- Monaco Editor
- Node.js
- Express.js
- Socket.io
- In-memory Room State Management
- Judge0 Community Edition API
Client (Next.js)
↓
Socket.io Client
↓
Node + Express Server
↓
Room State (In-Memory)
↓
Judge0 API (Code Execution)
- WebSocket-based real-time synchronization
- Room isolation using Socket.io rooms
- State cleanup on disconnect
- Secure CORS configuration
git clone https://github.com/your-username/wecode.git
cd wecodecd server
npm install
npm run devRuns on: 👉 http://localhost:5000
cd client
npm install
npm run devRuns on: 👉 http://localhost:3000
-
Root Directory:
server -
Build Command:
npm install && npm run build -
Start Command:
npm start
- Root Directory:
client - Framework: Next.js
WeCode/
├── client/ # Next.js frontend
├── server/ # Node.js backend
└── README.md
Add actual screenshots here for maximum impact
/screenshots/editor.png
/screenshots/chat.png
/screenshots/whiteboard.png
- Room state stored in memory (resets on server restart)
- No authentication yet
- No persistent session history
- Authentication (JWT / OAuth)
- Redis for scalable room storage
- Custom test case execution system
- Session history & analytics
- Multi-instance horizontal scaling
MIT License
Contributions are welcome.
- Fork the repository
- Create your feature branch
- Commit changes
- Open a pull request
If you like this project:
- ⭐ Star the repository
- 🍴 Fork it
- 📢 Share it