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!
- About
- Problem Statement
- Objectives
- Tech Stack
- System Architecture
- Modules
- Setup Instructions
- Folder Structure
- Results & Performance
- Applications
- Future Enhancements
- License
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
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.
- β 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.
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 |
- 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.
- Responsive interface for problems, dashboard, login/signup.
- Dynamic rendering of problems and editors.
- Secure login/signup.
- JWT or session-based auth.
- CORS-protected routes.
- Admin APIs for creating/editing problems.
- Metadata includes title, description, sample I/O, difficulty.
- Submit solutions with metadata.
- Track submission history and status.
- Live typing and sync across multiple users in a room.
- WebSocket-driven updates.
- Accepts only
.js
,.py
,.cpp
,.txt
, etc. - Validates max 20MB size, rejects folders/ZIPs.
- Monitor attempted/solved problems.
- Display analytics, streaks, and category stats.
-
Clone the repository:
git clone https://github.com/ravindraogg/codecrib.git cd codecrib
-
Frontend Installation:
cd frontend npm install npm run dev
-
Backend Installation:
cd backend npm install npm run start
-
Environment Variables: Create a
.env
inbackend/
:PORT=5000 MONGO_URI=your_mongodb_connection_string
-
Run the app locally: Visit
http://localhost:5173
/frontend
/src
/components
/pages
index.html
vite.config.js
/backend
/file
/uploads
server.js
- β‘ 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.
- π¨βπ 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.
- π¬ 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.
Name | GitHub Profile | Image |
---|---|---|
Ravindra S | ravindraog | |
Nitesh | PanatiNitesh | |
Masood | Masood | |
Vedanth | Vedanth |
This project is licensed under the MIT License.