Skip to content

Latest commit

 

History

History
175 lines (128 loc) · 5.93 KB

File metadata and controls

175 lines (128 loc) · 5.93 KB

💻 CodeConnect

A real-time platform for coding interview practice and collaboration.

Video calls, live collaborative code editing, and DSA practice — built for developers preparing for technical interviews.

JavaScript React Node.js Express.js MongoDB Socket.IO WebRTC JWT

🔴 Live Demo · Report Bug · Request Feature


📸 Preview

CodeConnect app preview

⚠️ Since this app is hosted on Render's free tier, the live demo may take up to a minute to spin up on first load.


✨ Overview

CodeConnect is a full-stack web application that streamlines interview preparation and collaboration for developers. It brings together real-time video, a shared code editor, and DSA practice in one interactive environment, so users can practice mock interviews or pair-program with others as if they were in the same room.

🧩 Features

  • 🎥 Real-time video calls — powered by WebRTC for peer-to-peer audio/video during sessions
  • ⌨️ Collaborative code editor — write and edit code together in real time via Socket.IO
  • 🧠 DSA practice — built-in space for practicing data structures & algorithms problems
  • 🔐 Secure authentication — JWT-based auth protecting user sessions and routes
  • 👥 Role-based access — separate flows for recruiters, interviewers, and candidates
  • 📅 Interview scheduling — coordinate and manage interview sessions
  • 🔌 REST API backend — Express + MongoDB powering user data, sessions, and scheduling

🛠️ Tech Stack

Layer Technology
Frontend React.js
Backend Node.js + Express.js
Database MongoDB
Real-time Communication Socket.IO, WebRTC
Authentication JWT
Deployment Render

🏗️ Architecture

┌──────────────┐   REST API    ┌───────────────────┐        ┌───────────────┐
│   React UI   │ ────────────▶ │  Express Backend   │ ─────▶ │   MongoDB     │
│ (Interview   │                │  (Auth, Sessions,  │        │ (Users,       │
│  Rooms, DSA) │ ◀──────────── │   Scheduling)      │ ◀───── │  Interviews)  │
└──────┬───────┘                └─────────┬──────────┘        └───────────────┘
       │                                  │
       │        Socket.IO (code sync)     │
       └─────────────────┬────────────────┘
                          │
                   ┌──────▼──────┐
                   │   WebRTC    │
                   │ (video/audio│
                   │  peer link) │
                   └─────────────┘

📂 Project Structure

CodeConnect/
├── backend/
│   ├── controllers/
│   ├── models/
│   ├── routes/
│   ├── middlewares/
│   └── ...
├── frontend/
│   ├── public/
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   └── ...
│   └── package.json
├── index.js
├── package.json
└── README.md

⚙️ Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB (local or Atlas)

1. Clone the repo

git clone https://github.com/Coderencrypt/CodeConnect.git
cd CodeConnect

2. Backend setup

cd backend
npm install

Create a .env file in backend/:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:5173

Run the backend:

npm run dev

3. Frontend setup

cd ../frontend
npm install
npm run dev

The app should now be running locally, with the frontend talking to your local backend.

🎥 Live Demo

Try it here: codeconnect-1-h9vi.onrender.com

🗺️ Roadmap

  • Recorded interview playback
  • Interview feedback & scoring system
  • More DSA problem categories with difficulty filters
  • Interviewer analytics dashboard

🤝 Contributing

Contributions, issues, and feature requests are welcome. Feel free to check the issues page.

📄 License

Distributed under the MIT License. See LICENSE for more information.

👤 Author

Ayush Dubey


If you found this project useful, consider giving it a ⭐️!