{"id":25070690,"url":"https://github.com/pranavjarande/coderover","last_synced_at":"2025-04-14T20:55:38.443Z","repository":{"id":262967829,"uuid":"850554446","full_name":"PRANAVJARANDE/CodeRover","owner":"PRANAVJARANDE","description":"Web platform for coding interviews and solving coding problems, featuring real-time collaboration, code execution, and video chat for interviews.","archived":false,"fork":false,"pushed_at":"2025-01-30T16:55:21.000Z","size":3135,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T09:11:13.156Z","etag":null,"topics":["docker","express","git","github","javascript","leetcode-clone","mongodb","nodejs","react","redux","socket-io"],"latest_commit_sha":null,"homepage":"https://coderover-frontend.onrender.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PRANAVJARANDE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-09-01T05:35:09.000Z","updated_at":"2025-02-17T16:15:39.000Z","dependencies_parsed_at":"2025-01-30T17:40:44.570Z","dependency_job_id":null,"html_url":"https://github.com/PRANAVJARANDE/CodeRover","commit_stats":null,"previous_names":["pranavjarande/coderover"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRANAVJARANDE%2FCodeRover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRANAVJARANDE%2FCodeRover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRANAVJARANDE%2FCodeRover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRANAVJARANDE%2FCodeRover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRANAVJARANDE","download_url":"https://codeload.github.com/PRANAVJARANDE/CodeRover/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248961130,"owners_count":21189991,"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":["docker","express","git","github","javascript","leetcode-clone","mongodb","nodejs","react","redux","socket-io"],"created_at":"2025-02-06T21:33:32.106Z","updated_at":"2025-04-14T20:55:38.414Z","avatar_url":"https://github.com/PRANAVJARANDE.png","language":"JavaScript","readme":"# Coderover\n\n![Coderover Logo](/Frontend/public/logo.png)\n\n## Live Link  \n[https://coderover-frontend.onrender.com/](https://coderover-frontend.onrender.com/)  \n\n**Note:** The Docker-based *Run Code* and *Submit Code* functionalities are currently not available in the deployed version. To access these features, please run the project locally with Docker configured.\n\n## Overview\n\nCoderover is a full-stack web application designed for remote coding interviews and solving challenging problems. It features a robust code execution engine powered by Docker and real-time collaboration capabilities using Socket.io, enabling interviewers and interviewees to code together in separate rooms.\n\nBuilt on the MERN stack (MongoDB, Express, React, Node.js), Coderover offers secure authentication, asynchronous code execution, and real-time communication for a seamless coding experience.\n\n## Technologies Used\n\n- **Docker**: For containerization to isolate code execution\n- **Socket.io**: Real-time communication for collaborative coding\n- **Node.js and Express**: Backend API development\n- **MongoDB**: Database for storing user data and problem sets\n- **React.js**: Frontend with a modern and responsive user interface\n- **Redux**: State management \n- **Tailwind**: Designing UI\n  \n## Features\n\n- **Code Sanitization**: Each code execution request is sanitized to prevent harmful operations\n- **Dockerized Code Execution**: Separate Docker containers for each code execution, ensuring isolation from the host system\n- **Real-time Collaboration**: Socket.io enables interviewers and interviewees to join rooms for real-time collaboration\n- **Asynchronous Execution**: The server handles multiple code execution requests simultaneously without blocking other users\n- **Secure Authentication**: User login and registration secured with JWT tokens\n  \n## Screenshots\n\nHere are some screenshots of Coderover in action:\n\n### Home Page\n\n![Home](/Screenshots/home.png)\n\n### Live Interview\n\n![Live Interview - Video Chat](/Screenshots/vc.png)\n\n![Live Interview - Code Editor](/Screenshots/vc1.png)\n\n![Live Interview - Problem Description](/Screenshots/vc2.png)\n\n![Live Interview - Problem Description](/Screenshots/vc3.png)\n\n### User Profile\n\n![Profile Overview](/Screenshots/profile.png)\n\n![Profile Details](/Screenshots/profile2.png)\n\n### Problem Set\n\n![Problem Set List](/Screenshots/problemset.png)\n\n### Problem View\n\n![Problem Description](/Screenshots/problem.png)\n\n![Problem Solution](/Screenshots/problem2.png)\n\n### Discussion Forum\n![Discuss Page](/Screenshots/discuss.png)\n## How to Run the Project Locally\n\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/yourusername/coderover.git\ncd coderover\n```\n\n### Backend Setup\n\n1. Navigate to the backend directory:\n   ```bash\n   cd Backend/\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Create a `.env` file in the backend directory and add the following variables:\n   ```\n    MONGO_URI=your_mongodb_uri\n    JWT_SECRET=your_jwt_secret\n    PORT=desired_port_for_backend\n    CORS_ORIGIN=*\n    ACCESS_TOKEN_SECRET=your_secret\n    ACCESS_TOKEN_EXPIRY=days\n    REFRESH_TOKEN_SECRET=your_secret\n    REFRESH_TOKEN_EXPIRY=days\n    CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name\n    CLOUDINARY_API_KEY=your_cloudinary_api_key\n    CLOUDINARY_API_SECRET=your_cloudinary_api_secret\n   ```\n\n4. Start the backend server:\n   ```bash\n   npm run dev\n   ```\n\n### Frontend Setup\n\n1. Navigate to the frontend directory:\n   ```bash\n   cd Frontend/\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Create a `.env` file in the frontend directory and add the following variables:\n   ```\n   VITE_BACKEND_URL=http://localhost:8000/api/v1\n   VITE_BACKEND_URL_FOR_SOCKET=http://localhost:8000\n   ```\n\n4. Start the frontend application:\n   ```bash\n   npm run dev\n   ```\n\n### Docker Setup for Code Execution\n\n1. Open Docker desktop\n2. Container will get formed automatically and destroyed after code execution\n\n\nYou can now register or log in, create coding rooms, and collaborate in real-time!\n\n\n## Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make to Coderover are greatly appreciated.\n\nIf you have any ideas for new features, bug fixes, or improvements, feel free to submit a pull request. Here's how you can get started:\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\n## Author\n\n**Pranav Jarande**\n\n- Email: jarandepranav2004@gmail.com\n\nFor questions, feedback, or collaboration opportunities, feel free to reach out!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranavjarande%2Fcoderover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpranavjarande%2Fcoderover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranavjarande%2Fcoderover/lists"}