Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 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 ⭐️!

About

CodeConnect is a full-stack web application platform designed to streamline the interview preparation and collaboration experience for developers. It combines frontend and backend technologies to create an interactive environment where users can practice coding interviews, collaborate in real-time, and share insights seamlessly.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages