https://github.com/ravindraogg/codecrib
Real-time private room based code collaboration platform with file sharing and live synchronization.
https://github.com/ravindraogg/codecrib
code-sharing coding-platform expressjs mongodb nodejs private-rooms reactjs real-time-collaboration socket-io typescript
Last synced: 8 months ago
JSON representation
Real-time private room based code collaboration platform with file sharing and live synchronization.
- Host: GitHub
- URL: https://github.com/ravindraogg/codecrib
- Owner: ravindraogg
- License: mit
- Created: 2025-04-14T13:19:29.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-05-31T05:46:06.000Z (10 months ago)
- Last Synced: 2025-07-03T01:34:39.002Z (9 months ago)
- Topics: code-sharing, coding-platform, expressjs, mongodb, nodejs, private-rooms, reactjs, real-time-collaboration, socket-io, typescript
- Language: TypeScript
- Homepage: https://code-crib.netlify.app
- Size: 20.8 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# โจ CodeCrib
**CodeCrib** is a real-time collaborative coding platform that bridges the gap between theoretical learning and practical coding. Designed for interview preparation, it offers structured problem sets, secure code sharing, and a smooth UI โ all in one place!
---
## ๐ Table of Contents
- [About](#-about)
- [Problem Statement](#-problem-statement)
- [Objectives](#-objectives)
- [Tech Stack](#-tech-stack)
- [System Architecture](#-system-architecture)
- [Modules](#-modules)
- [Setup Instructions](#-setup-instructions)
- [Folder Structure](#-folder-structure)
- [Results & Performance](#-results--performance)
- [Applications](#-applications)
- [Future Enhancements](#-future-enhancements)
- [License](#-license)
---
## ๐ฅ About
**CodeCrib** is a full-stack platform that allows:
- Categorized coding problem practice with progress tracking.
- Real-time collaborative editing for interviews or pair programming.
- Upload of code files for sharing and solving with peers.
- Seamless integration of UI/UX for improved learning flow.
Ideal for:
- Interview prep
- Coding bootcamps
- Live peer reviews
- DSA practice
---
## โ Problem Statement
Aspiring developers often lack access to a beginner-friendly and structured platform that supports real-time practice, progress tracking, and interview-level coding problems โ all in one place. Existing platforms are either paywalled, cluttered, or lack collaboration.
---
## ๐ฏ Objectives
- โ
Structured coding problem sets categorized by difficulty.
- โ
Real-time code collaboration using WebSockets.
- โ
Secure authentication & user sessions.
- โ
Admin-level problem management and uploads.
- โ
Intuitive UI for smooth coding workflows.
- โ
Beginner-focused, free-to-use experience.
---
## ๐ ๏ธ Tech Stack
| Frontend | Backend | Realtime | Storage / Database |
|------------------|----------------------|--------------------|--------------------------|
| React.js + TypeScript | Node.js + Express.js | Socket.IO | MongoDB (NoSQL) |
| Vite + CSS | Multer (file uploads) | WebSocket Protocol | Local Disk for files |
| CodeMirror / Monaco | CORS Middleware | Room Events | Memory & DB Storage |
---
## ๐ง System Architecture
- **Frontend**: Built with React + Vite + TypeScript. Handles the UI, problem display, authentication, and WebSocket sync.
- **Backend**: Node.js + Express with REST APIs for problems, users, and submissions. Handles Multer uploads and room sync.
- **Database**: MongoDB to store user data, problem sets, and submissions.
- **Real-Time Engine**: Socket.IO enables collaborative editing via WebSocket connections.

---
## ๐งฉ Modules
### 1. **User Interface**
- Responsive interface for problems, dashboard, login/signup.
- Dynamic rendering of problems and editors.
### 2. **Authentication**
- Secure login/signup.
- JWT or session-based auth.
- CORS-protected routes.
### 3. **Problem Management**
- Admin APIs for creating/editing problems.
- Metadata includes title, description, sample I/O, difficulty.
### 4. **Solution & Evaluation**
- Submit solutions with metadata.
- Track submission history and status.
### 5. **Collaboration**
- Live typing and sync across multiple users in a room.
- WebSocket-driven updates.
### 6. **File Upload**
- Accepts only `.js`, `.py`, `.cpp`, `.txt`, etc.
- Validates max 20MB size, rejects folders/ZIPs.
### 7. **Progress Tracking**
- Monitor attempted/solved problems.
- Display analytics, streaks, and category stats.
---
## ๐ Setup Instructions
1. **Clone the repository:**
```bash
git clone https://github.com/ravindraogg/codecrib.git
cd codecrib
2. **Frontend Installation:**
```bash
cd frontend
npm install
npm run dev
```
3. **Backend Installation:**
```bash
cd backend
npm install
npm run start
```
4. **Environment Variables:**
Create a `.env` in `backend/`:
```bash
PORT=5000
MONGO_URI=your_mongodb_connection_string
```
5. **Run the app locally:**
Visit `http://localhost:5173`
---
## ๐ Folder Structure
```
/frontend
/src
/components
/pages
index.html
vite.config.js
/backend
/file
/uploads
server.js
```
---
## ๐ Results & Performance
* โก UI loads under 1.5s due to Vite optimization.
* ๐ API latency: \~150ms avg response time.
* ๐ Real-time sync: latency < 100ms.
* ๐ Upload handling & DB queries show minimal lag.
---
## ๐ก Applications
* ๐จโ๐ Students: Learn and practice for placements.
* ๐งโ๐ซ Trainers: Conduct collaborative sessions.
* ๐งช Bootcamps: Teach DSA live and track progress.
* ๐ฅ Peer Coding: Improve logic with real-time feedback.
* ๐งฉ Practice Arena: Sharpen DSA skills with others.
---
## ๐งญ Future Enhancements
* ๐ฌ Live code execution and output testing.
* ๐ Multilingual coding support (Python, Java, etc.).
* ๐ Analytics dashboard for user growth.
* ๐ Leaderboards, streaks, gamification.
* ๐ฑ Mobile App for Android/iOS.
* ๐น Voice & Video Chat, session recordings.
* โ๏ธ Cloud-based deployment with scalability.
---
## ๐จโ๐ป Contributors
| Name | GitHub Profile | Image |
|---------------|--------------------------------------|--------|
| **Ravindra S** | [ravindraog](https://github.com/ravindraog) |
|
| **Nitesh** | [PanatiNitesh](https://github.com/PanatiNitesh) |
|
| **Masood** | _Masood_ |
|
| **Vedanth** | _Vedanth_ |
|
## ๐ License
This project is licensed under the **MIT License**.
---
## ๐ Badges




---