0% found this document useful (0 votes)
20 views5 pages

Synopsis Final

The document outlines a project synopsis for 'Code Quest', an online code execution system developed by students at JSPM Narhe Technical Campus. The platform aims to enhance coding skills through interactive challenges, utilizing technologies like Next.js, PostgreSQL, and Kubernetes for scalability and performance. The project includes detailed specifications, methodology, and testing strategies to ensure a robust and efficient coding environment for users.

Uploaded by

Amit Potghan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views5 pages

Synopsis Final

The document outlines a project synopsis for 'Code Quest', an online code execution system developed by students at JSPM Narhe Technical Campus. The platform aims to enhance coding skills through interactive challenges, utilizing technologies like Next.js, PostgreSQL, and Kubernetes for scalability and performance. The project includes detailed specifications, methodology, and testing strategies to ensure a robust and efficient coding environment for users.

Uploaded by

Amit Potghan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Jayawant Shikshan Prasarak Mandal’s

JSPM NARHE TECHNICAL CAMPUS, PUNE


DEPARTMENT OF COMPUTER ENGINEERING

A Y : 2024- 2025

BE Project Synopsis
_________________
Title of the Project: Code Quest – An Online Code Execution System

Area of Project: Web Development

Sponsored/ In-house: In-house

Guide Name: Mrs.Priyanka Balage

Project Group:

Gr. No. Roll No. Name of Student Contact No. Email-ID


10 27 Datta Kale 8767062808 [email protected]

52 Amit Potghan 8459118155 [email protected]

53 Prathmesh Shelar 8824409594 [email protected]

55 Mayur Saibane 7796791523 [email protected]


59 Sami Shaikh 9322049694 [email protected]

1. Introduction:

CodeQuest is an online platform designed for coding enthusiasts and developers, offering an interactive
space to practice and improve their problem-solving skills. Similar to LeetCode, CodeQuest features a wide
range of coding challenges across multiple domains, including algorithms, data structures, and more,
enabling users to enhance their programming abilities through hands-on exercises.

Built with a robust tech stack, CodeQuest leverages Next.js for a seamless user interface and efficient
server-side rendering, ensuring optimal performance. PostgreSQL is used as the database to store problem
sets, user data, and submissions, while Prisma provides a powerful ORM to manage database operations
with ease and efficiency.

To handle scalability and high traffic, CodeQuest is built on Kubernetes, which allows the platform to
scale efficiently based on demand, ensuring a smooth experience for users at all times. This infrastructure
enables real-time code execution, quick problem-solving, and an overall streamlined experience for
developers looking to sharpen their skills.
2.Objectives:

· Enhance Problem-Solving Skills: Provide a comprehensive platform where users can practice
coding challenges, improve their problem-solving abilities, and learn new concepts through a
variety of problems tailored to different difficulty levels.

· Interactive Code Execution: Enable real-time code execution and instant feedback for users to
validate their solutions using a powerful backend infrastructure built with Next.js, PostgreSQL, and
Prisma, ensuring a seamless experience for both coding and debugging.

· Scalable and Reliable Platform: Leverage Kubernetes for dynamic scaling, ensuring the platform
remains responsive and available to a growing user base, while maintaining optimal performance
even under heavy traffic conditions..

3. Specifications:

Frontend:
○ Framework: NextJS
■ Provides a server-side rendering and static site generation, ensuring fast load times
and SEO optimization.Ensures a dynamic and interactive user interface.
■ Enables a component-based architecture for reusability, maintainability, and efficient
state management across different parts of the application.
○ Styling: Tailwind CSS
■ Enables rapid UI development with utility-first CSS.
■ Ensures responsive and mobile-friendly design with a consistent aesthetic.

Backend:
○ Server: NextJS
■ Offers a scalable and high-performance environment for server-side scripting.
■ Express.js provides a lightweight framework for building RESTful APIs and
handling HTTP requests.

Database:
○ Database Management System: PostgreSQL
■ Utilizes PostgreSQL for a robust, relational database solution, ensuring secure and
structured storage of problem sets, user data, and submissions.
■ Supports complex queries and transactions, offering flexibility and scalability for
handling large datasets and enhancing performance under high user traffic.

○ Database ORM : Prisma


■ Prisma acts as a powerful ORM (Object-Relational Mapping) layer, simplifying
database interactions while maintaining performance and flexibility.
■ Offers type-safe queries, automatic migrations, and easy management of complex
data relationships, ensuring smooth and efficient interactions with the PostgreSQL
database.
■ Enhances development speed and reduces the potential for errors by providing an
intuitive query-building interface with strong TypeScript support.

4. Block

diagram:
5. Methodology:

(a) Hardware requirement:

Server-Side (Hosting Requirements):


○ Processor: Quad-Core (Intel Xeon or AMD equivalent)
■ Reason: To handle multiple user requests and ensure smooth operation of the
backend.
○ RAM: Minimum 8GB (Recommended: 16GB or more)
■ Reason: To support concurrent connections, multiple database queries, and API
requests without slowing down.

Client-Side (User Requirements):


○ Processor: Dual-Core (i3 or above)
■ Reason: To ensure that users can run the web portal efficiently on their local devices.
○ RAM: Minimum 4GB (Recommended: 8GB or more)
■ Reason: To support concurrent connections, multiple database queries, and API
requests without slowing down.

(b) Software Requirement:

Frontend Software Stack:

1. NextJS:
○ Version: Stable release (NextJS 14)
○ Reason: Next.js provides a seamless integration of frontend and backend with
server-side rendering, static site generation, and API routes, ensuring optimal
performance, scalability, and ease of development.
2. Tailwind CSS:
○ Version: Latest version (e.g., Tailwind CSS v3.x)
○ Reason: Utility-first CSS framework that ensures a clean, modern, and responsive
UI design.
3. Browser Support:
○ Google Chrome, Mozilla Firefox, Microsoft Edge (latest versions)
○ Reason: Ensures cross-browser compatibility for smooth operation on all major
browsers.
Backend Software Stack:

1. NextJS:
○ Version: Node.js v16.x or above
○ Reason: Next.js for backend provides a unified solution for building APIs with
API routes, server-side logic, and seamless integration with frontend components,
ensuring efficient performance and scalability.
2. Kubernetes:
○ Version: Latest version (e.g., Express v4.x)
○ Reason: Kubernetes enables dynamic scaling of the platform by automating
container orchestration, ensuring high availability and optimal performance under
varying loads.
3. Database:
○ PostgreSQL:
Version: PostgreSQL 12 or above.
Reason: PostgreSQL is a powerful, open-source relational database management
system known for its reliability, scalability, and support for complex queries,
making it an ideal choice for handling large datasets in modern applications
○ Database ORM : Prisma
Version : 4.1 or above
Reason: Prisma is a modern ORM that provides a type-safe and efficient way to
interact with databases, offering easy migrations and seamless querying for
databases like PostgreSQL, MySQL, and SQLite.

6. Testing strategy

Testing Frameworks:

1. Frontend Testing:
○ Jest and React Testing Library
2. Backend Testing:
○ Mocha or Jest

7. References (IEEE papers):

[1] Došilović, Herman Zvonimir & Mekterovic, Igor. (2020). Robust and Scalable Online Code
Execution System. 1627-1632. 10.23919/MIPRO48935.2020.9245310.
[2] Mizuno, Takahisa & Nishizaki, Shin-ya. (2014). Distributed Online Judge System for
Interactive Theorem Provers. EPJ Web of Conferences. 68. 10.1051/epjconf/20146800016.
[3] Porubän, J.; Nosál’, M.; Sulír, M.; Chodarev, S. Teach Programming Using Task-Driven
Case Studies: Pedagogical Approach, Guidelines, and Implementation. Computers 2024, 13,
221. https://doi.org/10.3390/computers13090221
[4] Lindberg, R.S.N., Laine, T.H. and Haaranen, L. (2019), Gamifying programming education
in K-12: A review of programming curricula in seven countries and programming games. Br
J Educ Technol, 50: 1979-1995. https://doi.org/10.1111/bjet.12685.
[5] Szymon Wasik, Maciej Antczak, Jan Badura, Artur Laskowski, and Tomasz Sternal. 2018.
“A Survey on Online Judge Systems and Their Applications.” ACM Comput. Surv. 51, 1,
Article 3 (January 2019), 34 pages. https://doi.org/10.1145/3143560.
[6] X. Lu, D. Zheng and L. Liu, "Data Driven Analysis on the Effect of Online Judge System,"
2017 IEEE International Conference on Internet of Things (iThings) and IEEE Green
Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social
Computing (CPSCom) and IEEE Smart Data (SmartData), Exeter, UK, 2017, pp. 573-577,
doi: 10.1109/iThings-GreenCom-CPSCom-SmartData.2017.90.

8. Signature of Students:

You might also like