CODESYNC
Submitted in partial fulfillment of the requirements of the degree of
BACHELOR OF COMPUTER ENGINEERING
by
Atharva Patil - 22102060
Ayan Mohammed -22102113
Varun Sangale -22102089
Nishant Prasad - 22102090
Guide:
Prof. [Link]
Department of Computer Engineering
A. P. SHAH INSTITUTE OF TECHNOLOGY, THANE
(2024-2025)
1
A. P. SHAH INSTITUTE OF TECHNOLOGY, THANE
CERTIFICATE
This is to certify that the Mini Project 2A entitled “CODESYNC” is a
bonafide work of “Atharva Gokul Patil (22102060), Ayan Mohammed
AbdulHalim (22102113), Varun Gangaram Sangle (22102089), Nishant
Ashok Prasad (22102090) submitted to the University of Mumbai in partial
fulfillment of the requirement for the award of the degree of Bachelor of
Engineering in Computer Engineering.
Guide: Project Coordinator: Head of Department
Prof. [Link] Prof. R. R. Nikam Dr. S.H. Malave
2
s A. P. SHAH INSTITUTE OF TECHNOLOGY, THANE
Project Report Approval for Mini Project-2B
This project report entitled “CODESYNC” by Atharva Patil, Ayan
Mohammed AbdulHalim, Nishant Ashok Prasad, Varun Gangaram
Sangale is approved for the partial fulfillment of the degree of Bachelor of
Engineering in Computer Engineering, 2024-25
Examiner Name Signature
1.
2.
Date:
Place:
3
Declaration
We declare that this written submission represents my ideas in my own words and where others' ideas
or words have been included, I have adequately cited and referenced the sources. I also declare that I
have adhered to all principles of academic honesty and integrity and have not misrepresented or
fabricated or falsified any idea/data/fact/source in my submission. I understand that any violation of the
above will be cause for disciplinary action by the Institute and can also evoke penal action from the
sources which have thus not been properly cited or from whom proper permission has not been taken
when needed.
Atharva Gokul Patil – 22102060
Ayan Mohammed AbdulHalim– 22102113
Nishant Ashok Prasad – 22102090
Varun Gangaram Sangale – 22102089
Date:
4
Abstract
CODESYNC is an online platform designed to manage coding challenges and assessments, allowing
administrators to upload and organize coding questions for users to solve in real time. The platform
features an admin dashboard where administrators can create, categorize, and track questions by
difficulty, programming languages, and topics, while managing users and analyzing performance.
Users can solve problems in an integrated development environment (IDE) that supports multiple
programming languages, with real-time feedback provided based on test cases, enabling them to refine
their solutions before submission. The platform incorporates a scoring and ranking system, fostering
competition through leaderboards and time-based challenges, while offering admins detailed
performance analytics to enhance question design and evaluation.
Keywords: Coding Environment, Admin Dashboard, Scoring & Ranking, AI Integration, Real-
time feedback , Multiple Users
5
CONTENTS
Sr. Page
Chapter Name
No. No.
1 Introduction 8
2 Literature Survey 9
3 Problem Statement, Objective & Scope 13
4 Proposed System 14
5 Project Plan 23
6 Experimental Setup 25
7 Implementation Details 26
8 Results 28
9 Conclusion 33
10 References 34
6
LIST OF FIGURES
Sr. Page
Figure Name
No. No.
1 Gantt Chart 15
2 Architecture Diagram 16
3 Data Flow Diagram 18
4 Use Case Diagram 19
5 Sequence Flow Diagram 22
6 Activity Diagram 24
7 User Authentication Implementation 28
8 User Authentication Screenshots 29
9 Backend Screenshots 30
7
Chapter 1
Introduction
One of the key features of the platform is its coding environment, which includes a code editor and
terminal integrated directly into the learning interface. Users can solve problems within this
environment, and solutions are evaluated using test cases or AI-based analysis. This integration not only
streamlines the learning process but also provides instant feedback, encouraging active learning and
self-improvement. The "Ask AI" feature further enhances the learning experience by offering intelligent
hints when students encounter difficulties, helping them solve problems independently rather than
providing direct solutions. The project also emphasizes scalability and security, ensuring that the
platform can handle a growing number of users while maintaining data integrity and privacy. By
utilizing microservices architecture and adhering to best practices in web development, the platform is
designed to be both efficient and adaptable, supporting future expansions or feature additions.
8
Chapter 2
Literature Survey
1. T. K. Chandru, M. Dinesh Kumar, S. Karthikeyan, K. Saranya. " Interactive Coding Platform
for Students" International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-
3878 (Online), Volume-7 Issue-4s, November 2018 This paper titled "Interactive Coding Platform
for Students" presented a web-based platform designed to improve college students' coding skills
through continuous feedback and practice. It allows teachers to upload coding challenges, assignments,
and exams, which students can solve using multiple programming languages like C, C++, Python, and
Java. Built on the MEVN (MongoDB, ExpressJS, VueJS, NodeJS) stack and adopting a microservices
architecture for scalability and reliability, the platform provides features such as real-time code
compilation, a customizable test environment, cloud storage, and instant feedback on submissions. It
includes performance tracking, leaderboards, and badges to foster competition and motivation.
Additionally, the platform is suitable for academic tasks and recruitment processes, helping students
build strong coding habits and better prepare for industry demands.
2. Gandikota Ramu. "A Case Study on an Online platform approach to improve coding skill
"International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6
(2018) pp. 4464-4470" presented a case study on the IARE-BuildIT Tool, an online coding platform
designed to improve coding skills among engineering students by allowing them to solve problems
remotely using internet access. The platform consists of instructor, administrator, and student modules,
enabling seamless problem uploading, management, and testing. The study, conducted over 12 months
with around 7,000 students, shows a significant boost in student engagement and coding proficiency.
Key findings highlight the platform's ability to foster active learning and enhance performance in
coding contests. Despite being limited to one institution, the study concludes that online coding
platforms are highly effective and recommends expanding their use to a broader audience.
3. Nien-Lin Hsueh *, Lien-Chi Lai and Wei-Hsiang Tseng "Design of an Online Programming
Platform and a Study on Learners’ Testing Ability". This paper titled "Design of an Online
Programming Platform and a Study on Learners' Testing Ability" presented the development of a
9
system called Pytutor, designed to integrate software-testing concepts with an online judge (OJ)
system. The goal is to improve both programming and testing skills among learners, focusing on the
testing abilities often overlooked in traditional OJ systems. The study assesses how students perform
in software engineering by analyzing their code coverage, mutation testing, and learning behaviors,
comparing computer science majors with non-CS majors. The results indicate that better testing
abilities can enhance programming skills, suggesting the importance of integrating software-testing
education into programming courses
4. Akshata Chandure , Arzoobanu Siddiquee , Roshni Baviskar, [Link] Pai "Online Platform
for Taking Coding Exams/Interview" Department of Information Technology, Terna
Engineering College, Mumbai ,India The paper titled "Online Platform for Taking Coding
Exams/Interview" presented the development of an online platform called Code Online, which
facilitates the administration of coding tests, quizzes, and interviews. The platform offers features for
both examiners and students, allowing examiners to design tests, set problem statements, and manage
interviews, while students can participate in these tests from any location, receiving immediate results
for quizzes and aptitude tests. The platform aims to provide a comprehensive solution for online coding
exams and interviews, integrating functionalities like coding test execution, question paper creation,
and interview management. The paper also discusses the system architecture, user flow, and advantages
of such a platform in improving accessibility, reducing logistical barriers, and enhancing the exam
process
10
Research Paper ANALYSIS
1. T. K. Chandru, M. Dinesh The paper discussed the development of an interactive
Kumar, S. Karthikeyan, K. coding platform targeted at college students to foster a
Saranya. " Interactive Coding coding culture. The platform aims to enhance students
Platform for Students" ‘programming skills through continuous feedback and
learning. It's designed as a web application where
teachers can set problems and assignments, while students
can solve them
2. Gandikota Ramu. "A Case The paper described a case study of IARE-BuildIT, an
Study on an Online platform online coding platform designed to improve students'
approach to improve coding skill " coding skills. The platform allows students to solve
coding problems online from anywhere with internet
access. The results
showed increased student engagement and improved
coding efficiency. The study concludes with
recommendations for implementing online coding
platforms in engineering education.
3. Nien-Lin Hsueh *, Lien-Chi Lai The paper discussed the development and implementation
and Wei-Hsiang Tseng "Design of of Pytutor, an online judge (OJ) system that incorporates
an Online Programming Platform software testing concepts to assess learners' programming
and a Study on Learners’ Testing and testing abilities. Unlike traditional OJ systems,
Ability". Pytutor allows students to write their own test cases. The
study analyzes the performance of learners, comparing,
and explores the relationships between programming
ability, testing ability, and learning outcomes.
4. Akshata Chandure , Arzoobanu This research paper presented an online platform for
Siddiquee , Roshni Baviskar, conducting coding exams, quizzes, and interviews. The
[Link] Pai "Online Platform platform aims to provide a single, flexible solution for
11
Research Paper ANALYSIS
for Taking Coding both exam-takers and examiners. It allows examiners to
Exams/Interview" set custom questions and problem statements, while
providing students with a real test environment to code in
their preferred language.
12
Chapter 3
Problem Statement, Objective & Scope
Problem Statement: -
In computer science education, many students struggle to master data structures and algorithms,
essential for programming and software development. Traditional learning methods often lack the
interactive and practical engagement needed for deep understanding. Existing coding platforms may
not specifically cater to learners focused on data structures in C, often offering a fragmented learning
experience. CodeSync addresses these challenges by providing a user-friendly platform with hands-on
coding challenges, an integrated code editor, and instant feedback. An AI-powered tool offers hints to
promote independent problem-solving, while a progress dashboard and leaderboards encourage
competition. Secure user registration ensures effective account management.
Objective: -
● Facilitate Learning of Data Structures: Provide a platform that allows users to learn and practice
data structures through hands-on coding exercises in C programming.
● Problem Solving Environment: Develop a code editor where users can solve data structure
problems, submit their solutions, and receive immediate feedback on their performance
● AI-Powered Assistance: Integrate an 'Ask AI' feature that provides users with hints and guidance
without giving direct solutions, enhancing the learning experience.
Scope: -
Interactive Coding Platform: Focused on providing hands-on learning experiences for students
learning C programming and data structures.
Target Audience: Designed for students, educators, and administrators to address their specific
needs.
Comprehensive Features: Includes tools like AI-assisted guidance, progress tracking, and a
leaderboard for performance comparison.
Secure User Management: Provides robust user registration, authentication, and account
management for both students and administrators.
13
Chapter 4
Proposed System Architecture
Description about Proposed System:
The architecture of CodeSync is designed to provide an effective learning and coding
environment through a modular and scalable framework. The system incorporates various
technologies, each playing a crucial role in ensuring a seamless user experience and robust
functionality.
Key technologies and their roles include:
Frontend Technologies: We have used [Link] our project to make out projective
more emersive and smooth in functionality
Backend Technologies : We have udes [Link] in our project to connect out frotend
with database as its more handy to use and goes good with [Link]
MySQL Database: A relational database is used to store user data, coding problems,
and user progress. The schema is designed to efficiently manage relationships
between users, their submissions, and problem sets, ensuring data integrity and
security.
AI Component: Integrated into the system, this component provides hints and
guidance to users when they encounter difficulties while solving problems. It can
be implemented as a separate microservice that processes user queries and returns
relevant suggestions.
14
4.1 Architecture / Block Diagram
4.1.1 Architecture / Block Diagram
15
4.2 Data Flow Diagram:-
4.2.1 Level 0 DFD
4.2.2 Level 1 DFD
16
4.2.3 Level 2 DFD
17
4.3 Use Case Diagram
4.3.1 Use Case Diagram
18
4.4 Sequence Diagram:-
4.4.1 Landing page
4.4.2 User registration:
19
4.4.3 Dashboard Module
4.4.4 Add question Module:
20
4.4.5 Code editor and terminal :
21
4.5 Activity Diagram:-
4.5 Activity Diagram
22
Chapter 5
Project Planning
Goal: Develop a coding platform for solving data structure problems in C, featuring a code editor, AI
hints, leaderboard, and progress tracking.
Target Audience: Students and coding enthusiasts learning data structures in C.
Phases of Development
Phase 1: Requirement Gathering & Analysis (1–2 weeks)
Define user stories for admins and users.
Identify key features: user authentication, code editor, AI hints, etc.
Specify data structure problems (stack, queue, linked list, tree, graph).
Determine technical stack and analyze competitor features.
Phase 2: System Design (2–3 weeks)
Database Design: Plan tables for users, admins, problems, submissions, and rankings.
Frontend Design: Create wireframes for landing page, login/signup, dashboard, code editor, and
leaderboard.
Backend Architecture: Design APIs for user actions and set up the C code execution environment.
AI Hint System: Plan interaction for hint generation.
Security: Ensure secure user authentication and data protection.
Phase 3: Development (6–8 weeks)
Frontend Development (3–4 weeks):
Build landing page, login/signup forms, code editor, dashboard, and leaderboard.
Backend Development (4–5 weeks, overlapping):
Implement user authentication, develop APIs, set up the database, and code execution engine.
Integrate AI for hints.
Admin Panel (1–2 weeks):
Develop functionalities for managing problems and user progress.
Phase 4: Testing (2–3 weeks)
Conduct unit, integration, AI, security, and performance testing to ensure system reliability and
accuracy.
Phase 5: Deployment (1 week)
Set up servers, deploy the database, implement CI/CD pipelines, and conduct a soft launch for user
feedback.
23
5. GANNT CHART:-
5.1 Gantt Chart
24
Chapter 6
Experimental Setup
Software Requirements: -
Frontend : [Link] is a JavaScript library for building fast, interactive user interfaces, primarily
for single-page applications. It enables developers to create reusable UI components
Backend : [Link] is a runtime environment that allows developers to execute JavaScript code
outside of a web browser, primarily on the server side. It uses an event-driven, non-blocking I/O
model, making it efficient and scalable for building fast, data-intensive applications.
Database : MySQL is an open-source relational database management system (RDBMS) that uses
structured query language (SQL) for managing and organizing data in a tabular format. It supports
complex queries, transactions, and is widely used for web applications and data storage due to its
scalability and reliability.
AI Integration: Google Gemini is an AI platform that integrates natural language processing and
machine learning models to provide advanced conversational capabilities, similar to OpenAI's GPT
models. It aims to enhance applications with features like text generation, content understanding,
and AI-driven interactions.
Hardware Requirements: -
Processor: A 2.5 GHz quad-core processor (or higher) to ensure smooth local
development.
Memory: A minimum of 8 GB of RAM to handle multitasking during development.
Storage: At least 100 GB of available disk space for software installation and project
files.
Internet: A stable, high-speed connection to support real-time collaboration and API
requests.
25
Chapter 7
Implementation Details
User Authentication:
Admin and User roles: Admins can upload or manage problems, while users can solve problems
and track their progress.
Login/Signup Mechanism: Standard email/password-based authentication with validation.
Data Structure Problem Solving
C Programming Language: The platform focuses on problem-solving using C, where users write
code to solve data structure problems.
Stack: Problems related to implementing and using stacks (e.g., reverse a string using stack).
Queue: Problems based on queue operations (e.g., circular queue implementation).
Linked List: Challenges involving single/double linked list operations (e.g., reverse a linked list).
Tree: Binary trees, AVL trees, and tree traversal operations.
Graph: Problems based on graph theory (e.g., BFS, DFS).
Code Editor:
Syntax Highlighting: Helps users to write code efficiently in C.
Compile & Run: Users can compile their C code and run it against predefined test cases.
Error Handling: If there's a compilation error or incorrect output, the system provides feedback.
AI Assistance ("Ask AI")
AI Hint Generator: When users are stuck, they can request hints from an AI system.
The AI suggests approaches to solving the current problem, such as pointing out which data
structure functions to use or how to approach the algorithm.
Leaderboard:
Rankings: Users are ranked based on the number of questions solved.
Scoring: Points or ranking metrics may be assigned for successfully solving a problem or
achieving milestones.
Dashboard
Progress Tracking: The dashboard displays the percentage of completed questions and recent
activities (e.g., last solved problem, best score, etc.).
Problem Difficulty Levels: Problems might be classified into easy, medium, and hard to show user
proficiency.
26
Admin Panel
Problem Management: Admins can add, update, or delete problems.
User Monitoring: Admins can monitor user activity and performance.
27
Chapter 8
Result
8.1 Landing Page
8.2 Contact Us
28
8.2.1 Contact Us Mail
8.3 User-Registration
29
8.4 Dashboard
8.5 LeaderBoard
30
8.6 Problem List
8.7.1 Add question
31
8.7.2 Adding Testcases
8.8 Code Editor
32
Chapter 9
Conclusion
The CODESYNC project represents a significant achievement in developing a versatile and user-friendly
coding platform, offering a well-organized approach that spans from landing page setup to advanced code
editing and real-time collaboration. One of its key strengths lies in the emphasis on real-time interactivity,
with features such as an AI-assisted hint system that guides users through coding challenges without
providing direct answers, encouraging learning through problem-solving. CODESYNC fosters a
competitive spirit with dynamic leaderboards and performance tracking, motivating users to improve
continually. It allows for the addition of new problems, integrates AI-checking methods, and provides
instant feedback, making it an adaptive and scalable solution for learners at various stages. The platform's
intuitive navigation and robust user registration system ensure seamless interaction for both new and
returning users.
33
Chapter 10
References
[1] A. D. K. Mehta, & S. R. Shah. (2019). Data Structures and Algorithms in C+ (2nd ed.). New Delhi,
India: Tata McGraw-Hill.
[2] J. Smith, R. Johnson, & L. Brown. (2018). Designing a Web-Based E-learning Platform for Data
Structures. In Proc. 2018 International Conference on Education and E-Learning, 15-20.
[3] M. Williams, & T. Thompson. (2020). Building Scalable Web Applications with [Link] and
Express. Web Development Journal, 23(4), 112-119.
[4] P. Garcia, & K. Smith. (2021). The Role of Artificial Intelligence in Educational Platforms: A
Review. Journal of Educational Technology, 12(2), 45-56.
[5] D. Johnson, & R. Lee. (2020). Implementing JWT Authentication for Web Applications: A
Comprehensive Guide. International Journal of Computer Science and Technology, 10(3), 35-48.
[6] K. Wright, & T. Barnes. (2017). Developing Scalable Systems with Microservices Architecture.
Journal of Cloud Computing, 14(2), 98-112.
[7] J. Thompson, & A. Patel. (2021). Enhancing Educational Platforms with AI-Powered Code
Assistance. International Journal of Advanced Learning Technologies, 9(1), 25-39.
34