An online judge platform hosting coding problems and challenges. Users solve a series of coding problems. First he has to begin with registration for his accound, user can register as admin or user(member). During problem solving, they submit their solutions through the platform. Once submitted, these solutions are evaluated against hidden test cases by the platform. Based on the results of these tests, user solution submission is assigned verdict. The platform provides the infrastructure to manage and execute the DSA coding problems, ensuring fair and impartial evaluation.
Project working: watch recording
- User Authentication and Role-Based Authorization: Secure login and role-based access.
- User Dashboard: Personalized dashboard for participants.
- Problem Creation and Management Service: Admins can create and manage problems.
- Submission Service: Participants can submit their solutions.
- Multiple Languages and Themes: Support for various coding languages and IDE themes.
- Interactive Coding Workspace: Real-time coding environment.
- Problem Filters: Search problems based on tags.
- Validations: Ensuring the correctness of passwords and code.
- Optimized Queries: Faster response times and reduced bandwidth consumption.
- Core:
- React
- MongoDB
- Node.js (Express)
- Libraries:
- ShadCN
- TailwindCSS
- react-hook-form
- zod
- zustand
- User logs in or registers.
- User navigates through problem lists, participates in contests, solves problems.
- User chooses a problem to solve.
- User submits code.
- Backend evaluates the code against test cases.
- Submissions are stored and can be accessed later.
- Admin logs in or registers.
- Admin navigates through the dashboard.
- Admin can create and edit problems.
- Admin can change the status and test cases for the problems.
- Admin can host a contest and see results [Coming Soon].
- Validating user email.
- Features to host coding contests and ladders.
- Enhancements to the user dashboard.
- AI-Based RAG Model: Assist users with an AI-based model that embeds problems and user solutions. Using an LLM model, generate natural language responses to help users learn better and solve problems more efficiently.
![]() Figure 1: Landing page |
![]() Figure 2: Problems Page |
![]() Figure 3.1: Problems page |
![]() Figure 3.2: Problems Tag Filter |
![]() Figure 1: About Page |
![]() Figure 2: Problem page |
![]() Figure 3.1: Login |
![]() Figure 3.2: Register |
![]() Figure 4: Tag Filter |
![]() Figure 5: Problem all Submissions |
Admin Dashboard | |
---|---|
![]() Figure 2.1: Admin Problems |
![]() Figure 2.2: Admin Create Problem |
![]() Figure 2.3: Admin Edit Problem |
![]() Figure 2.4: Admin Submissions of Problem |