{"id":28509814,"url":"https://github.com/ravindraogg/codecrib","last_synced_at":"2026-04-10T07:43:50.045Z","repository":{"id":288800961,"uuid":"966142845","full_name":"ravindraogg/CodeCrib","owner":"ravindraogg","description":"Real-time private room based code collaboration platform with file sharing and live synchronization.","archived":false,"fork":false,"pushed_at":"2025-05-31T05:46:06.000Z","size":21812,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-03T01:34:39.002Z","etag":null,"topics":["code-sharing","coding-platform","expressjs","mongodb","nodejs","private-rooms","reactjs","real-time-collaboration","socket-io","typescript"],"latest_commit_sha":null,"homepage":"https://code-crib.netlify.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravindraogg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-14T13:19:29.000Z","updated_at":"2025-05-31T05:46:09.000Z","dependencies_parsed_at":"2025-05-31T05:40:05.761Z","dependency_job_id":"6551640e-24ac-41ce-8f91-7c46cd88153c","html_url":"https://github.com/ravindraogg/CodeCrib","commit_stats":null,"previous_names":["ravindraogg/codecrib"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ravindraogg/CodeCrib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravindraogg%2FCodeCrib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravindraogg%2FCodeCrib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravindraogg%2FCodeCrib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravindraogg%2FCodeCrib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravindraogg","download_url":"https://codeload.github.com/ravindraogg/CodeCrib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravindraogg%2FCodeCrib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265509549,"owners_count":23779378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-sharing","coding-platform","expressjs","mongodb","nodejs","private-rooms","reactjs","real-time-collaboration","socket-io","typescript"],"created_at":"2025-06-08T22:37:20.444Z","updated_at":"2026-04-10T07:43:49.969Z","avatar_url":"https://github.com/ravindraogg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./codecrib/src/assets/logo.png\" alt=\"CodeCrib Logo\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# ✨ CodeCrib\n\n**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!\n\n---\n\n## 📜 Table of Contents\n- [About](#-about)\n- [Problem Statement](#-problem-statement)\n- [Objectives](#-objectives)\n- [Tech Stack](#-tech-stack)\n- [System Architecture](#-system-architecture)\n- [Modules](#-modules)\n- [Setup Instructions](#-setup-instructions)\n- [Folder Structure](#-folder-structure)\n- [Results \u0026 Performance](#-results--performance)\n- [Applications](#-applications)\n- [Future Enhancements](#-future-enhancements)\n- [License](#-license)\n\n---\n\n## 🔥 About\n\n**CodeCrib** is a full-stack platform that allows:\n- Categorized coding problem practice with progress tracking.\n- Real-time collaborative editing for interviews or pair programming.\n- Upload of code files for sharing and solving with peers.\n- Seamless integration of UI/UX for improved learning flow.\n\nIdeal for:\n- Interview prep\n- Coding bootcamps\n- Live peer reviews\n- DSA practice\n\n---\n\n## ❗ Problem Statement\n\nAspiring 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.\n\n---\n\n## 🎯 Objectives\n\n- ✅ Structured coding problem sets categorized by difficulty.\n- ✅ Real-time code collaboration using WebSockets.\n- ✅ Secure authentication \u0026 user sessions.\n- ✅ Admin-level problem management and uploads.\n- ✅ Intuitive UI for smooth coding workflows.\n- ✅ Beginner-focused, free-to-use experience.\n\n---\n\n## 🛠️ Tech Stack\n\n| Frontend         | Backend             | Realtime           | Storage / Database      |\n|------------------|----------------------|--------------------|--------------------------|\n| React.js + TypeScript | Node.js + Express.js | Socket.IO          | MongoDB (NoSQL)          |\n| Vite + CSS | Multer (file uploads) | WebSocket Protocol | Local Disk for files     |\n| CodeMirror / Monaco | CORS Middleware | Room Events | Memory \u0026 DB Storage       |\n\n---\n\n## 🧠 System Architecture\n\n- **Frontend**: Built with React + Vite + TypeScript. Handles the UI, problem display, authentication, and WebSocket sync.\n- **Backend**: Node.js + Express with REST APIs for problems, users, and submissions. Handles Multer uploads and room sync.\n- **Database**: MongoDB to store user data, problem sets, and submissions.\n- **Real-Time Engine**: Socket.IO enables collaborative editing via WebSocket connections.\n![diagram-export-5-15-2025-9_28_33-PM](https://github.com/user-attachments/assets/446d9823-c5ee-484e-aba8-b10f7fde0efc)\n\n---\n\n## 🧩 Modules\n\n### 1. **User Interface**\n- Responsive interface for problems, dashboard, login/signup.\n- Dynamic rendering of problems and editors.\n\n### 2. **Authentication**\n- Secure login/signup.\n- JWT or session-based auth.\n- CORS-protected routes.\n\n### 3. **Problem Management**\n- Admin APIs for creating/editing problems.\n- Metadata includes title, description, sample I/O, difficulty.\n\n### 4. **Solution \u0026 Evaluation**\n- Submit solutions with metadata.\n- Track submission history and status.\n\n### 5. **Collaboration**\n- Live typing and sync across multiple users in a room.\n- WebSocket-driven updates.\n\n### 6. **File Upload**\n- Accepts only `.js`, `.py`, `.cpp`, `.txt`, etc.\n- Validates max 20MB size, rejects folders/ZIPs.\n\n### 7. **Progress Tracking**\n- Monitor attempted/solved problems.\n- Display analytics, streaks, and category stats.\n\n---\n\n## 🚀 Setup Instructions\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/ravindraogg/codecrib.git\n   cd codecrib\n\n2. **Frontend Installation:**\n\n   ```bash\n   cd frontend\n   npm install\n   npm run dev\n   ```\n\n3. **Backend Installation:**\n\n   ```bash\n   cd backend\n   npm install\n   npm run start\n   ```\n\n4. **Environment Variables:**\n   Create a `.env` in `backend/`:\n\n   ```bash\n   PORT=5000\n   MONGO_URI=your_mongodb_connection_string\n   ```\n\n5. **Run the app locally:**\n   Visit `http://localhost:5173`\n\n---\n\n## 📁 Folder Structure\n\n```\n/frontend\n    /src\n        /components\n        /pages\n    index.html\n    vite.config.js\n\n/backend\n    /file\n    /uploads\n    server.js\n```\n\n---\n\n## 📊 Results \u0026 Performance\n\n* ⚡ UI loads under 1.5s due to Vite optimization.\n* 🚀 API latency: \\~150ms avg response time.\n* 🔄 Real-time sync: latency \u003c 100ms.\n* 📁 Upload handling \u0026 DB queries show minimal lag.\n\n---\n\n## 💡 Applications\n\n* 👨‍🎓 Students: Learn and practice for placements.\n* 🧑‍🏫 Trainers: Conduct collaborative sessions.\n* 🧪 Bootcamps: Teach DSA live and track progress.\n* 👥 Peer Coding: Improve logic with real-time feedback.\n* 🧩 Practice Arena: Sharpen DSA skills with others.\n\n---\n\n## 🧭 Future Enhancements\n\n* 💬 Live code execution and output testing.\n* 🌐 Multilingual coding support (Python, Java, etc.).\n* 📈 Analytics dashboard for user growth.\n* 🏆 Leaderboards, streaks, gamification.\n* 📱 Mobile App for Android/iOS.\n* 📹 Voice \u0026 Video Chat, session recordings.\n* ☁️ Cloud-based deployment with scalability.\n\n---\n## 👨‍💻 Contributors\n\n| Name          | GitHub Profile                      | Image |\n|---------------|--------------------------------------|--------|\n| **Ravindra S** | [ravindraog](https://github.com/ravindraog) | \u003cimg src=\"https://avatars.githubusercontent.com/u/149950829?s=400\u0026u=1988b4718b3d5d96d2bde79fe24333508a10d0c9\u0026v=4\" width=\"80\" height=\"80\" style=\"border-radius:50%\"/\u003e |\n| **Nitesh**     | [PanatiNitesh](https://github.com/PanatiNitesh) | \u003cimg src=\"https://avatars.githubusercontent.com/u/134051960?v=4\" width=\"80\" height=\"80\" style=\"border-radius:50%\"/\u003e |\n| **Masood**     | _Masood_ | \u003cimg src=\"https://instagram.fblr1-8.fna.fbcdn.net/v/t51.2885-19/499131789_17908172475149185_751939665111374926_n.jpg?stp=dst-jpg_s150x150_tt6\u0026_nc_ht=instagram.fblr1-8.fna.fbcdn.net\u0026_nc_cat=101\u0026_nc_oc=Q6cZ2QHXvXha2IXWQHEfxBPkp0eFZZE3vDVmtworw13_v5BKErnC27cGov1NFdOTfACrQEQ5NsNAI3LoCdUsU0jm-Xbp\u0026_nc_ohc=9rqBfTlwA_EQ7kNvwEHbcwZ\u0026_nc_gid=TymtnahDiFDo-UPBItTYZQ\u0026edm=ALGbJPMBAAAA\u0026ccb=7-5\u0026oh=00_AfIMz_IYL8pfvUgVfmYkZDmqcfJFUFtNO4nlySWbiXUwCg\u0026oe=68407AAF\u0026_nc_sid=7d3ac5\" width=\"80\" height=\"80\" style=\"border-radius:50%\"/\u003e |\n| **Vedanth**    | _Vedanth_ | \u003cimg src=\"https://avatars.githubusercontent.com/u/424443?v=4\" width=\"80\" height=\"80\" style=\"border-radius:50%\"/\u003e |\n\n## 📄 License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n## 🔖 Badges\n\n![GitHub Repo stars](https://img.shields.io/github/stars/ravindraogg/codecrib?style=social)\n![GitHub forks](https://img.shields.io/github/forks/ravindraogg/codecrib?style=social)\n![GitHub issues](https://img.shields.io/github/issues/ravindraogg/codecrib)\n![GitHub license](https://img.shields.io/github/license/ravindraogg/codecrib)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravindraogg%2Fcodecrib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravindraogg%2Fcodecrib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravindraogg%2Fcodecrib/lists"}