Skip to content

devuppal46/WeCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WeCode

Stop Solving Alone. Start Solving Together.


🌐 Live Demo

🔗 Frontend: https://we-code-dsa.vercel.app
🔗 Backend API: https://wecode-6hfa.onrender.com


Overview

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

Core Features

  • 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

Tech Stack

Frontend

  • Next.js (App Router)
  • TypeScript
  • Tailwind CSS
  • Socket.io Client
  • Monaco Editor

Backend

  • Node.js
  • Express.js
  • Socket.io
  • In-memory Room State Management

Code Execution

  • Judge0 Community Edition API

🏗 Architecture


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

Run Locally

1️⃣ Clone Repository

git clone https://github.com/your-username/wecode.git
cd wecode

2️⃣ Backend Setup

cd server
npm install
npm run dev

Runs on: 👉 http://localhost:5000


3️⃣ Frontend Setup

cd client
npm install
npm run dev

Runs on: 👉 http://localhost:3000


🌍 Deployment

Backend (Render)

  • Root Directory: server

  • Build Command:

    npm install && npm run build
    
  • Start Command:

    npm start
    

Frontend (Vercel)

  • Root Directory: client
  • Framework: Next.js

Project Structure

WeCode/
├── client/        # Next.js frontend
├── server/        # Node.js backend
└── README.md

📸 Screenshots

Add actual screenshots here for maximum impact

/screenshots/editor.png
/screenshots/chat.png
/screenshots/whiteboard.png

Current Limitations

  • Room state stored in memory (resets on server restart)
  • No authentication yet
  • No persistent session history

Future Improvements

  • Authentication (JWT / OAuth)
  • Redis for scalable room storage
  • Custom test case execution system
  • Session history & analytics
  • Multi-instance horizontal scaling

📄 License

MIT License


🤝 Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create your feature branch
  3. Commit changes
  4. Open a pull request

⭐ Support

If you like this project:

  • ⭐ Star the repository
  • 🍴 Fork it
  • 📢 Share it

About

WeCode is a real-time collaborative coding platform designed for DSA Practice, Pair Programming, Interview Preparation and Brainstorming Coding Approaches .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors