Project Report On Coding Platform
Project Report On Coding Platform
On
CodeBIT
(a unified platform for hackathons and coding contests)
submitted in partial fulfillment of the requirements for the award of the degree of
BACHELOR OF TECHNOLOGY
in
Computer Science and Engineering
By
CERTIFICATE
This is to certify that the dissertation bound herewith is an authentic record of project work on
"CodeBIT - a unified platform for hackathons and coding contests " carried out by the following
students under our guidance and supervision of partial fulfilment of the requirement for the award
of B. Tech degree in Computer Science & Engineering (session: 2021-2025) of B. I. T. Sindri,
Dhanbad under the affiliation of Jharkhand University of Technology, Jharkhand.
It gives us immense pleasure to express our heartiest and sincere gratitude, indebtedness to our
supervisor and mentor, Mr. Jitendra Kumar, Assistant Professor, Department of Computer Science,
B.I.T. Sindri for his cooperation and tireless efforts in executing this project. His firm
determination always boosted confidence in us. It was his constant hard work that helped us in
giving this project a successful outcome.
We are extremely grateful to and would like to add our deep sense of gratitude to Dr. S. C. Dutta,
Head of the Department, Computer Science & Engineering, B.I.T. Sindri for his suggestions,
cooperation and constant encouragement that helped us to grow personally and professionally.
Our heartfelt gratitude and appreciation is also to the administration, the workers and the lab
assistants at department of Computer Science & Engineering who were always there in
need and support.
I
ABSTRACT
CodeBIT is a comprehensive web-based platform that streamlines the organization and
participation in hackathons and coding contests. It addresses contest hosting inefficiencies through
a centralized system that is both scalable and adaptable, supporting a vast number of simultaneous
users. The platform integrates modern technologies for real-time code execution and evaluation.
Key features include a dynamic leaderboard with real-time updates, seamless user registration, and
automated problem grading. CodeBIT improves the coding competition experience by providing
robust functionalities like performance tracking, real-time feedback, and user-friendly interfaces.
Its scalable architecture maintains optimal performance under high user load while keeping costs
minimal.
II
TABLE OF CONTENTS
ACKNOWLEDGEMENT I
ABSTRACT II
LIST OF FIGURES IV
ABBREVIATIONS V
CHAPTERS
I. Introduction --------------------- 01
V. Result --------------------- 23
REFERENCES ------------------------------------------ 27
III
LIST OF FIGURES
FIGURE NO. FIGURE NAME PAGE
4.10 Leaderboard 11
4.11- 4.14 Contest & Hackathon Creation and Participation Management Form 12
4.22 ER Model 20
IV
ABBREVIATIONS
V
CHAPTER I
INTRODUCTION
In today's fast-paced digital world, coding contests and hackathons have evolved beyond simple
competitions-they are now vital platforms for innovation, collaboration, and skill demonstration.
However, the traditional methods used to organize these events have not kept up with the demands
of modern educational institutions and tech communities. Most organizers still depend on a
fragmented system of tools: Google Forms for registrations, WhatsApp messages for
communication, Excel sheets for participant tracking, and email chains for submissions and
judging. This outdated approach results in inefficiencies, disjointed workflows, data errors, and a
poor overall experience for both participants and organizers.
CodeBIT was created to solve these challenges by delivering a comprehensive, centralized, and
modern platform for managing hackathons and coding contests. It streamlines the entire lifecycle-
from event creation and team registration to code submission, automated judging, and final result
announcements-while prioritizing scalability, security, and ease of use. Whether for small college
contests or large-scale inter-institutional hackathons, CodeBIT adapts to diverse needs with
flexibility and precision.
Why CodeBIT?
Organizing tech events should be just as innovative as the technologies being showcased. Yet,
most current systems lack the features and adaptability needed for such events, especially in
academic contexts. CodeBIT fills this gap by offering a robust platform tailored to the specific
needs of coding clubs, universities, student organizations, and event coordinators.
- Weak security and the absence of integrated, real-time code evaluation systems in many contest
platforms.
- Manual, time-consuming participant data management using Excel sheets and forms, leading to
human error.
1
Our Mission:
At its core, CodeBIT is about empowering organizers and enhancing participant experiences. Our
mission is to deliver a one-stop platform that is:
- Intuitive - Designed with user-centric interfaces for both administrators and participants.
- Integrated - Bringing all event operations under one umbrella for smooth coordination.
- Scalable - Supporting a range of events, from local college fests to national-level competitions.
- A centralized dashboard for creating and managing events like coding contests, hackathons, and
idea sprints.
- Integrated with Judge0 API for real-time code execution and problem evaluation.
- In-platform announcement system for direct communication between organizers and participants.
- Eliminates reliance on external tools like WhatsApp or Telegram for important updates.
- Dedicated portal for uploading GitHub repositories, video demos, and live app links.
2
- Evaluation tools for judges to assign scores and feedback directly in the system.
- Built using modern, modular web technologies for easy maintenance and future updates.
- Secure login and role-based access for all types of users (admins, judges, participants).
- Auto-expiration of sensitive data using TTL (Time-To-Live) features for improved data hygiene.
3
CHAPTER II
LITERATURE REVIEW
While the proliferation of competitive programming and hackathons has led to a proliferation of
specialized platforms, the key to unlocking their full potential lies in the development of unified
solutions that can effectively balance scalability, real-time assessment, and seamless event
management, thereby catering to the diverse needs of users.
“ The growth of competitive programming and hackathons has spurred the development of several
platforms, each addressing unique challenges such as scalability, real-time assessment, and
seamless event management. These platforms serve as benchmarks for the creation of unified
solutions that cater to diverse user needs (Yuen, Liu, & Leong, 2023). ”
“Hackathons play a critical role in connecting academia and industry. They act as real-world
laboratories where theoretical knowledge is transformed into working solutions. These platforms
support innovation while also nurturing future-ready talent by promoting practical application of
skills (Rys 2025). ”
Existing platforms like HackerEarth provide tools for organizing and managing coding contests
or hackathons. They excel in offering:
CodeBIT’s Edge:
4
CodeBIT addresses these gaps by offering clearly defined workflows for both students and
admins. The Events Page provides a unified starting point, simplifying navigation for all users.
User Roles: Challenges in adapting user functionality based on roles like participants and
admins.
Contest Pages: Dedicated sections for ongoing contests with detailed problem statements.
User Data Insecurity: Hackerrank provide subsidized contest creation and management at
cost of user data.
CodeBIT’s Edge:
CodeBIT addresses this issue by providing security to user data by preventing data leak to any
third-party applications .
Existing platforms like devpost, leetcode , codechef and codeforces held regular contests but have
a shortcoming such as:
Event Specific Management: Lack a unified platform that can manage both contest and
hackathons at same place.
CodeBIT builds upon the strengths of existing platforms by integrating core functionalities like
role-based navigation, event-specific workflows, and real-time code validation. Unlike traditional
systems, CodeBIT ensures a focused and user-friendly approach tailored to coding contests and
hackathons. This specialization makes it a valuable tool for managing competitive technical events
effectively.
5
CHAPTER III
PROBLEM STATEMENT
To create a user-friendly platform for managing hackathons and coding contests, addressing issues
like fragmented tools, inefficient manual processes, and lack of security. The system will offer
dynamic event management, automated workflows, and improved user experience for both
students and organizers.
6
CHAPTER IV
APPLIED METHODOLOGY
The CodeBIT project aims to streamline the management of hackathons and coding contests by
modernizing the infrastructure, improving user experience, and integrating key automation
features. Below is a detailed description of the applied methodology in three key parts: frontend,
backend, and third-party applications (Docker containerization, AWS, and Judge0).
1. Frontend Methodology
The frontend of CodeBIT is designed with the primary goal of creating an intuitive, user-friendly
interface for both participants and organizers. The frontend structure is optimized for both usability
and accessibility, ensuring that users can easily interact with the system and manage their
hackathon or coding contest participation. The design follows a modular approach, where each
page corresponds to a specific user action or workflow.
1. Landing Page
Fig. 4.1
The landing page is the first point of contact for users. It showcases the platform's features and
benefits, promoting user engagement and attracting participation.
It features a prominent call to action, encouraging users to register and explore the platform's
offerings.
7
It displays information about upcoming events and showcases recent highlights, attracting user
attention and fostering interest.
Fig. 4.2
Fig. 4.3
8
Users can create accounts using a simple and straightforward registration process, ensuring a
smooth onboarding experience.
Secure authentication methods, including email verification and Google login, are implemented to
protect user accounts and data.
The frontend validates user input, preventing errors and ensuring data integrity, enhancing the
security and reliability of the platform.
Fig. 4.4
Fig. 4.5
This page serves as a control center for organizers, providing access to manage contests, configure
problems, and monitor participant progress.
9
Organizers can create and manage contests, setting deadlines and configuring test cases to ensure
fair competition.
The dashboard offers insights into user submissions, performance metrics, and reports, enabling
organizers to analyze and refine their contest structure.
This page provides a central hub for users to access and manage their participation in contests and
Hackathons.
Users can easily view upcoming contests and Hackathons and access problem sets and Themes.
The dashboard displays relevant information about each event, such as timeframes and deadlines,
ensuring users stay informed.
Fig. 4.8
10
This page allows users to submit their codes during participating in contests.
Fig. 4.9
Users can browse through available problems, view detailed descriptions, and understand the
requirements for each task.
A user-friendly interface allows users to submit code solutions in various programming languages,
facilitating ease of participation.
The page integrates with the backend, providing real-time feedback on submissions and test case
results, offering users immediate insights into their performance.
7. Leaderboard
Fig. 4.10
11
The Leaderboard displays the ranking of participants based on their performance, motivating users
to improve their scores and compete with others.
It dynamically updates in real time, reflecting the most recent submissions and performance
changes.
Users can easily track their progress and compare their performance with others, encouraging
healthy competition and continuous improvement.
12
Create Hackathon: Configure all details for hosting a new hackathon, including timelines, team
settings, and submission options.
Create Contest with Challenges: Design contests by adding multiple challenges, timelines, and
scoring configurations
Team Registration for Hackathon: Register teams for hackathons, manage team members, and
submit preliminary details and send notification to team members for verification and complete
registration.
Frontend Packages
react : A library for building dynamic and responsive user interfaces using a component-based
architecture.
react-dom: Bridges React with the DOM, enabling the rendering of React components in the
browser.
react-scripts : Provides pre-configured build scripts for React projects, simplifying project setup.
react-toastify: Displays stylish toast notifications with customizable themes and positions.
13
Student Navigation Flow
Fig. 4.15
Fig. 4.16
14
2. Backend Methodology
The backend of CodeBIT is built using Node.js and Express to provide a scalable, efficient API
layer. The backend is designed to handle requests related to user management, contest
management, problem-solving submissions, and integration with third-party services like Judge0
for code evaluation.
1. User Management:
o The backend provides RESTful endpoints for user registration, authentication, and
authorization. JWT tokens are used for secure session management.
o A MongoDB database is used to store user profiles, registration details, submission
histories, and contest participation status.
2. Contest Management:
o Organizers can create, update, and delete contests through dedicated endpoints.
o The backend supports dynamic problem sets, where problems can be configured
with multiple test cases that will be used for evaluation when submissions are made.
3. Problem Submission and Evaluation:
o Users submit their solutions through a POST request to the backend. The source
code, language ID, and problem ID are passed to the backend.
o The backend interacts with Judge0 (a third-party code execution API) to send code
for evaluation and check the status of submissions.
o Submissions are evaluated against a set of test cases, and results (such as pass/fail,
execution time, errors) are returned to the frontend.
4. Real-Time Contest Updates:
o The backend communicates contest results, leaderboards, and submission statuses
back to the frontend in real-time.
o The server handles asynchronous operations efficiently, ensuring participants
receive feedback as soon as their submissions are evaluated.
5. Security Considerations:
o JWT Authentication: Used for secure login and session management. Tokens are
issued on successful login and are required for access to most API endpoints.
o Rate Limiting: To prevent abuse and ensure fair use of resources, API calls,
especially for code submissions, are rate-limited.
o Input Validation & Sanitization: All incoming data is validated to ensure correct
format and prevent potential security issues such as SQL injections or code
injections.
Backend Technologies:
15
dotenv : Manages sensitive data like secret keys and database credentials using
environment variables stored in a .env file. Ensures secure and centralized access to
configuration details.
nodemon : Monitors files for changes and automatically restarts the server, streamlining
the development workflow.
jsonwebtoken : Facilitates the creation and validation of JWT tokens for secure
authentication processes.
cors : Enables secure cross-origin requests, making APIs accessible from different
domains.
googleapis : Provides seamless integration with Google services like Gmail, Sheets, and
Drive.
nodemailer : Simplifies the process of sending emails from the server, supporting various
transports like SMTP.
aws-sdk: A robust library for interacting with AWS services like S3, Lambda, and
DynamoDB.
16
Data Flow Diagrams
17
Fig. 4.19: Hackathon Registration and Project Submission Process
18
Fig. 4.21: Event Management and Notifcation System
19
ER Diagram:
Fig. 4.22:
20
3. Third-Party Applications
The third-party tools and services integrated into CodeBIT are crucial for the functionality of the
platform, particularly for the execution of code submissions and managing infrastructure.
Docker Containerization:
Docker is used to containerize both the backend services (Node.js application) and the
third-party services like Judge0. This approach ensures that the backend and all
dependencies are isolated and consistent across all environments.
Each contest, along with its problems and test cases, runs in a separate Docker container,
which ensures scalability and separation of concerns.
Judge0 (which runs in its own container) is used for executing the user-submitted code in
various programming languages. It is responsible for compiling and running code securely,
fetching test case results, and providing feedback to the system.
AWS EC2 is used to host the backend and deploy containers for running the application
in a scalable manner.
When a contest is created, a new EC2 instance is provisioned, and Docker is installed along
with the necessary services (e.g., Judge0 API container, backend container).
Auto-scaling can be implemented for handling peak loads during coding contests, ensuring
smooth operations and optimal resource allocation.
Judge0 Integration:
Judge0 is a powerful, open-source, cloud-based code execution API that supports multiple
programming languages. It allows CodeBIT to compile and run code securely on behalf of
the participants.
The backend sends the user’s code and relevant input to the Judge0 API, which processes
the code, runs it, and returns the output, along with any errors or status.
Code execution results, such as Time Limit Exceeded (TLE), Wrong Answer (WA), and
Accepted (AC) statuses, are used to update the participant's score and the leaderboard in
real-time.
Docker: For containerizing the application and the Judge0 service, ensuring a consistent
environment.
21
AWS EC2: For hosting the backend and managing the infrastructure, ensuring scalability.
AWS SDK: For managing EC2 instances and other AWS resources programmatically
22
CHAPTER V
RESULT
This project resulted in helping the admin / organizer with efficient management of events
announcements, contest and hackathons in below ways
Fig. 5.1
Fig. 5.2
Efficient Participant Management – The Registered Participants page allowed the admin to
view all registered users along with their roll numbers and emails, making it easy to verify
participants and ensure accurate registrations.
23
Real-Time Leaderboard Tracking – The Leaderboard page helped the admin track participants'
ranks, scores, and performance in contests, allowing for fair and transparent competition
evaluation.
Performance Analysis – The admin could monitor scores and submission statuses (Q1, Q2) to
analyze which participants performed well and identify potential winners.
Fig. 5.3
Fig. 5.4
Team Management - Displays a list of registered teams along with their team leader and
members.
Allows the admin to verify team details, contact information, and themes.
Provides GitHub, Video, and Live Demo links, making it easy for the admin to evaluate projects.
24
Helps track which teams have submitted their projects and which haven't.
Contact & Communication - The table includes emails and phone numbers of team leaders and
members.The admin can quickly reach out to participants for clarifications or updates.
Fig. 5.5
Structured Event Announcements - Allows the admin to create and manage different types of
announcements (Normal, Hackathon, or Contest results). Ensures that all events have a clear title,
description, and deadline.
Organizer Information Management - Admins can add multiple organizers with details like
name, email, and phone number. Helps in keeping track of event coordinators for effective
communication.
Deadline Management - Setting a submission deadline helps in ensuring participants are aware
of important dates. Avoids confusion regarding event timelines.
25
CHAPTER VI
CONCLUSION
The development of CODEBIT, a unified platform for organizing hackathons and contests, has
successfully addressed the challenges associated with event management in academic and
professional settings. By streamlining the process of event creation, participant registration, team
management, and project submission, CODEBIT provides an efficient and user-friendly solution
for both organizers and participants.
The platform ensures seamless event execution through its intuitive user interface, real-time
updates, and secure authentication system. Features like automated deadline tracking, submission
management, and result announcements enhance the overall experience, making hackathons and
contests more accessible and engaging.
Through this project, we have applied full-stack development concepts, database management, and
real-time application handling, demonstrating a practical implementation of MERN stack
technologies. The project also highlights the importance of scalability, security, and user
experience in building robust web applications.
In conclusion, CODEBIT stands as a comprehensive and scalable solution for institutions and
organizations looking to host coding competitions efficiently. Future enhancements could include
AI-driven judging mechanisms, real-time collaboration tools, and integration with industry-
standard APIs to further enrich the experience.
This project has not only strengthened our technical expertise but also provided valuable insights
into real-world application development, making it a significant contribution to the tech-driven
educational ecosystem.
26
REFERENCES
Articles :-
Blogs :-
Github Repos:-
Npm docs:-
1. https://www.npmjs.com/package/react-resizable
2. https://www.npmjs.com/package/aws-sdk
27