Virtual Expo 2025

CodeMaster

Year Long Project CompSoc

CodeMaster

Very Short Summary:

An open-source online coding assessment platform tailored for smaller communities and organizations, supporting contests, coding & MCQ support, and scalable code execution.

Aim:

To build an open source, secure, scalable, and easy-to-use online coding contest platform that facilitates both conducting and participating in assessments with dynamic evaluation and real-time feedback.

Introduction:

In the current digital age, online coding platforms are essential tools for recruitment and upskilling. However, existing tools often lack customization for smaller communities or student organizations. CodeMaster bridges this gap by providing a tailored assessment solution, allowing users to create, manage, and participate in coding contests with ease. The platform supports proctoring features, fair evaluation, and live collaborative editing similar to Google Docs, making it ideal for educational institutions and clubs.

Literature Survey and Technologies Used:

Technologies:

 

- Frontend: React.js

- Backend: Node.js + Express.js

- Database: PostgreSQL (via Supabase)

- Code Execution: Piston API

- Message Queue & Caching: Redis

- Version Control: Git, GitHub

Architecture


Related Work & Concepts:

  • LeetCode, HackerRank: These platforms influenced the design of our question interface and contest evaluation system.
  • Google Docs: The real-time collaborative editor was inspired by the live editing experience offered by tools like Google Docs.
  • Judge0 & Piston: These open-source platforms inspired our code execution setup.
  • Codeforces + Polygon: Codeforces is a widely-used competitive programming platform. Polygon, its problem preparation system, inspired the question-setting workflow in our project. We integrated the Polygon API to simplify and streamline question creation.

Methodology:

System Workflow:

1. Code Submission: Users write and submit code through the frontend interface.

2. Queueing: Submissions are sent to the backend server, then queued using Redis for async processing.

3. Code Execution: Worker processes pick submissions from the queue and use the Piston API to run the code.

4. Result Publishing: The result is saved in Supabase PostgreSQL and can be viewed by users.

5. Leaderboard: Shows scores of the contest participants.

Features Implemented:

- Login system

- Contest creation and participation modules

- MCQ and coding question support

- Leaderboard with scores

- Admin dashboard to manage contests and problems

- Real-time collaborative code editor

- Integrated Polygon API for easy problem setting

Results:

- Fully functional web application supporting coding and MCQ-based assessments.

- Contest system with working custom problem creation , participation, and result viewing.

- Backend uses Redis for job queuing and Piston API for code execution.

- PostgreSQL (Supabase) used as the central database for all application data.

- Real-time code editor with minimal latency using web sockets

Conclusions / Future Scope:

Conclusion:

CodeMaster is a promising, lightweight alternative to existing online coding platforms. It offers essential functionality for educational use-cases and club contests. The integration of collaborative tools and easy question management via Polygon sets it apart from typical platforms.

Future Scope:

- Add practice problem sets and upskilling challenges.

- Introduce Code Battles for 1v1 matches.

- Add discussion forums and a global rating system.

- Implement anti-cheat systems including tab switching detection and AI-based monitoring.

References / Links to GitHub Repo:

GitHub Repository: https://github.com/IEEE-NITK/Codemasters

Piston API: https://github.com/engineer-man/piston

Supabase: https://supabase.com

Polygon: https://polygon.codeforces.com/

Mentors and Mentees Details:

Team Mentors:

1. Aahil Rafiq
   Contact: +91 79 7565 7621
   Gmail: aahilrafiq.221cs101@nitk.edu.in

2. Syed Farhan
   Contact: +91 79 7577 8026
   Gmail: syedfarhan.221cs254@nitk.edu.in

3. Rohith Vijayakumar
   Contact: +91 96 3244 3134
   Gmail: rohithvijayakumar.221it055@nitk.edu.in

4. Rohan Chandra Regulagadda
   Contact: +91 86 3988 4378
   Gmail: regulagaddarohanchandra.221cs241@nitk.edu.in


Mentees:

1.Paluvadi Dinesh Manideep
   Contact: +91 7416135389
   Gmail: dineshmanideep.231it047@nitk.edu.in

2.Nikhil Kottoli

   Contact: +91 9008465462

    Gmail:nikhilkottoli2005@gmail.com

3. Nilayan Mazumdar

   Contact: +9932451513

   Gmail: mazumdarnilayan@gmail.com

Report Information

Explore More Projects

View All 2025 Projects