Skip to content

ravindraogg/CodeCrib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CodeCrib Logo

✨ 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

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. diagram-export-5-15-2025-9_28_33-PM

🧩 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:

    git clone https://github.com/ravindraogg/codecrib.git
    cd codecrib
    
  2. Frontend Installation:

    cd frontend
    npm install
    npm run dev
  3. Backend Installation:

    cd backend
    npm install
    npm run start
  4. Environment Variables: Create a .env in backend/:

    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
Nitesh PanatiNitesh
Masood Masood
Vedanth Vedanth

πŸ“„ License

This project is licensed under the MIT License.


πŸ”– Badges

GitHub Repo stars GitHub forks GitHub issues GitHub license


About

Real-time private room based code collaboration platform with file sharing and live synchronization.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published