🚧 This project is a work in progress and not yet completed.
Deployed Link : https://chillcode.tech
Walk Through Video : https://www.loom.com/share/048cdfe85ea3499ea217508de3054f08
The Online Judge project is a full-stack application designed using the MERN stack (MongoDB, Express.js, React, Node.js). It is an online platform where users can participate in coding challenges by submitting their solutions, which are automatically evaluated against hidden test cases. The project aims to provide a seamless experience for users to enhance their coding skills, compete in contests, and view their performance statistics.
- 👤 User Registration: Sign up using email or Google accounts.
- 🔧 Profile Management: Edit personal information, track progress, and view submissions.
- 💡 Practice Problems: Curated coding problems categorized by difficulty and topic.
- 🖥️ Code Compilation: Online code editor and compiler with real-time feedback.
- ✅ Return Verdict: Automatic evaluation of submissions with verdicts like Accepted, Wrong Answer, or Time Limit Exceeded.
- 🏆 Contests (WILL ADD): Participate in coding competitions with real-time rankings.
- 📊 Leaderboard (WILL ADD): Displays user rankings based on performance.
- Frontend: React.js
- Backend: Node.js, Express.js, MongoDB
- Authentication: Custom authentication system
- Code Editor: Custom Code editor
- ⚖️ Load Balancing: Distribute traffic across multiple servers.(WILL MAKE IT)
- 📈 Auto-scaling: Dynamically add or remove resources based on demand. (WILL MAKE IT)
- 🚀 Efficient Code Execution: Use a robust queue system to manage submissions.(WILL MAKE IT)
- 🗂️ Caching and CDNs: Reduce server load with caching mechanisms. (WILL MAKE IT)
- 🛠️ Standardized Test Environment: Use containerization for consistent execution.
- 🔍 Comprehensive Test Cases: Include extensive test cases for validation.
- 🔒 Dockers: Execute code in a secure, isolated environment.
- 📅 Regular Monitoring: Conduct audits and real-time monitoring.(WILL MAKE IT)
- 👤 User Registration: Sign up and create a profile.
- 🔑 Login: Access the platform using registered credentials.
- 📝 Browse Problems: View and select problems to solve.
- 💻 Submit Code: Write and submit code using the online editor.
- 📋 Get Verdict: Receive instant feedback on submissions.
- 🏅 Compete in Contests (WILL ADD): Participate in real-time coding competitions.
- 📊 View Leaderboard (WILL ADD): Check rankings and performance statistics.
The admin dashboard allows administrators to manage the platform effectively. Key functionalities include:
- Adding New Problems: Admins can create and add new coding problems to the platform.
- User Management: Admins can manage user accounts and permissions.
This project is being developed under the mentorship of Bhavesh Garg, Bhavya Surana and Sanskar Bansal.
For more details, please refer to the project documentation.
We welcome contributions! Please reach us at manjitmajhi156@gmail.com.
Thank you for your interest in the Online Judge project! Stay tuned for updates as we continue to develop and improve the platform.
Repository Link: Online Judge GitHub Repository