0% found this document useful (0 votes)
39 views44 pages

Project Report Final Electro Store

The document is a project report on the development of an electronic store website using React.js, Spring Boot, and MySQL, aimed at fulfilling the requirements of a full-stack e-commerce application. It outlines the project's objectives, necessity, and architecture, emphasizing secure role-based access and a seamless user experience. The report includes a literature review, system development details, performance testing, and future enhancement possibilities, showcasing the project's comprehensive approach to modern e-commerce solutions.

Uploaded by

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

Project Report Final Electro Store

The document is a project report on the development of an electronic store website using React.js, Spring Boot, and MySQL, aimed at fulfilling the requirements of a full-stack e-commerce application. It outlines the project's objectives, necessity, and architecture, emphasizing secure role-based access and a seamless user experience. The report includes a literature review, system development details, performance testing, and future enhancement possibilities, showcasing the project's comprehensive approach to modern e-commerce solutions.

Uploaded by

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

A

PROJECT STAGE-II REPORT


ON

“ELECTRONIC STORE WEBSITE USING


REACT JS, SPRING BOOT AND MYSQL”
Submitted by

Wadekar Rushikesh Balasaheb Mulay Prathmesh Santosh


(B401120198) (B401120185)

Shekade Kiran Ajinath


(B401120193)

Under the Guidance of


Prof.Dube D.S.

DEPARTMENT OF COMPUTER ENGINEERING


VIDYA NIKETAN COLLEGE OF ENGINEERING,
BOTA
[2024-2025]

Vidya Niketan college of Engineering, Bota B.E. (Computer)


i
VIDYA NIKETAN COLLEGE OF ENGINEERING, BOTA

CERTIFICATE

This is to certify that the Project entitled


“ELECTRONIC STORE WEBSITE USING
REACT JS, SPRING BOOT AND MYSQL”

has been satisfactorily completed by


Wadekar Rushikesh Balasaheb Mulay Prathmesh Santosh
(B401120198) (B401120185)

Shekade Kiran Ajinath


(B401120193)

In fulfilment of Project Stage-II work for final year of


Computer Engineering in Savitribai Phule Pune University for
academic year 2024-25
Date: / /2025
Place: Bota

Prof.Dube D.S. Prof.Dube D.S.


Project Guide Project Coordinators

Prof.Dube D.S. Dr. P.A.Phatangre


Head of Dept. Computer Principal (VNCOE)
Engineering

Vidya Niketan college of Engineering, Bota B.E. (Computer)


ii
Savitribai Phule Pune University,
Pune

CERTIFICATE
This is to certify that,
Wadekar Rushikesh Balasaheb Mulay Prathmesh Santosh
(B401120198) (B401120185)

Shekade Kiran Ajinath


(B401120193)

Student of Fourth Year Computer Engineering was examined in the Project


Stage-II work entitled

“ELECTRONIC STORE WEBSITE USING


REACT JS, SPRING BOOT AND MYSQL”
ON / /2025
at
DEPARTMENT OF COMPUTER ENGINEERING

VIDYA NIKETAN COLLEGE OF ENGINEERING, BOTA

Internal Examiner External Examiner

Vidya Niketan college of Engineering, Bota B.E. (Computer)


iii
ACKNOWLEDGEMENT
The successful completion of the project is owed to all the people who have supported
us in many direct and indirect ways and constantly poured effort into it. We are
honored to recognize and thank all the faculty and staff for their assertive support
throughout the course of project over the year. First and foremost, we like to thank
our college Vidya Niketan College of Engineering, Bota for providing
administrative support. We are thankful to the Department of Computer
Engineering for encouraging us to take new and innovative project and for
permitting us to use the infrastructure in flexible hour.

We express our gratitude to Prof. O.V.Bhagawat the completion of this project


could nothave been accomplished without support and guidance throughout this
project. His inputs and knowledge for our project was really helpful and thanks for
his patience, energy. We are extremely grateful to Supporting Staff to help in critical
situations providing us the opportunity to work on this project, and be ingone of the
strongest driving force and support throughout the project. Regards to our Prof.Dube
D.S. (H.O.D Computer Dept.) for guiding and nurturing us especially his pursuit for
bringing out the best in us. Our sincere gratitude to Hon. Dr.P.A.Phatangre
(Principal VNCOE, Sangamner) for his support.

We thank our parents and colleagues who were persistent in pursue for always
encouraging and pushing us to new potentials, and also helping us in their own unique
ways and skills. This project is dedicated to all those associated, the project is
dedicatedto all of them.

Mr. Wadekar Rushikesh Balasaheb


Mr. Shekade Kiran Ajinath
Mr. Mulay Prathmesh Santosh

Vidya Niketan college of Engineering, Bota B.E. (Computer)


iv
CONTENT:

Chapter No. Title Page No.


1 INTRODUCTION

1.1 OVERVIEW

1.2 NECESSITY

1.3 THEME

1.4 OBJECTIVES

1.5 ORGANISATION

2 LITERATURE REVIEW

2.1 PAPER SURVEY

2.2 TYPES OF INTERFACES

2.3 SOFTWARE REQUIREMENT

2.4 METHODOLOGY AND TOOLS

3 SYSTEM DEVELOPMENT

3.1 BLOCK DIAGRAM & DESCRIPTION

3.2 FLOW DIAGRAM OF REVIEW MONITOR SYSTEM

3.3 PROPOSED TECHNIQUE

3.4 PROPOSED TECHNIQUE

4 IMPLIMENTATION

4.1 OVERVIEW

4.2 PROJECT STACK

4.3 PROJECT IMPLIMENTATION

4.4 SCREENS

Vidya Niketan college of Engineering, Bota B.E. (Computer)


1
CONTENT:

Chapter No. Title Page No.


5 PERFORMANCE TESTING

5.1 OVERVIEW

5.2 PERFORMANCE PARAMETERS

5.3 TEST ENVIRONMENT

5.4 PERFORMANCE RESULTS

5.5 SCREEN RESPONSIVENESS

5.6 USER FEEDBACK SUMMARY

5.7 GRAPHICAL ANALYSIS

6 CONCLUSION

6.1 ADVANTAGES

6.2 DISADVANTAGES

6.3 APPLICATIONS

6.4 CONCLUSION

6.5 FUTURE SCOPE

7 REFERENCES

PROJECT CERTIFICATE

Vidya Niketan college of Engineering, Bota B.E. (Computer)


2
LIST OF FIGURES:

Fig. No. Name of Figure Page No.


3.1 Block Diagram of Software Architecture

3.2 Flow Diagram of Website System


3.3 Website Architecture Diagram

3.4 Security system Diagram


4.2 Tech Stack

4.3. Project Implementation


4.4.1 Welcome Screen

4.4.2 Contact Info

4.4.3 Login Screen

4.4.4 Sign UP

4.4.5 Chat Assistant

5.2 Performance Parameters

5.3. Test Environment

5.4 Response Time

5.6 User Feedback

5.7 Graphical Analysis

Vidya Niketan college of Engineering, Bota B.E. (Computer)


3
INTRODUCTION

Vidya Niketan college of Engineering, Bota B.E. (Computer)


4
CHAPTER 1. INTRODUCTION

1.1 OVERVIEW

In the modern digital landscape, ecommerce websites have transformed the way consumers shop,
offering convenience, accessibility, and a wide array of product choices. From electronics to daily
essentials, online platforms have become integral to commerce. With increasing demand for fast,
reliable, and secure online shopping systems, businesses are now moving towards full-stack web
applications that support both frontend and backend capabilities.
This project proposes the development of a full-featured Ecommerce Website designed using React.js
for the frontend, Spring Boot for backend REST APIs, and MySQL as the relational database. It also
includes a JWT-based authentication system for secure login and a clear distinction between admin
and user roles.
The platform allows users to register, browse products, manage carts, place orders, and track them.
Admins can manage products, view orders, and update order statuses. The system is designed to be
scalable, modular, and secure, ensuring smooth operation and user satisfaction. This project
emphasizes not just functional ecommerce transactions but also the architecture, performance, and
security best practices used in enterprise-level systems.

1.2 NECESSITY
Online shopping is no longer a luxury but a necessity. However, many existing systems are either too
generic, lack security, or do not differentiate between user and admin workflows. An effective
ecommerce system should offer:
• A seamless shopping experience for users.
• A secure, token-based login mechanism to prevent unauthorized access.
• A role-based structure to provide proper access controls.
• Real-time order management for administrators.

This project fulfils these requirements by integrating JWT-based security, a structured RESTful
backend, and a responsive, modular frontend using React.js. It empowers both customers and
administrators with efficient tools to interact with the system while ensuring data integrity and a
positive user experience.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


5
1.3 THEME

Web & Wireless Technology + Secure Role-Based Access


The ecommerce platform aligns with the growing trend of cloud-based and mobile-accessible
commerce applications. Built using React.js and Spring Boot, the platform can be extended into
a mobile version (React Native) or deployed to cloud services (like AWS or Azure) for enhanced
reach and availability.
Security is a core theme, achieved through JWT tokens that validate sessions without requiring
server-side session storage. The admin panel includes management tools, while the user panel
allows smooth transactions—ensuring that both functionality and data privacy are maintained.
This project blends web technologies, secure authentication, and REST APIs to deliver a robust
ecommerce solution.

1.4 OBJECTIVES

The key objectives of this ecommerce website project are:


2 To build a responsive frontend using React.js with clean navigation and component-based
architecture.
3 To implement Spring Boot REST APIs that support CRUD operations for products, users, and
orders.
4 To integrate JWT (JSON Web Token) for secure login and role-based access control
(Admin/User).
5 To design a relational database (MySQL) schema for users, products, orders, and transactions.
6 To create two distinct dashboards: Admin Panel (product/order management) and User Panel
(shopping, cart, order tracking).
7 To ensure proper input validation, exception handling, and error responses across all components.
8 To prepare the system for future enhancements, such as payment gateway integration or product
recommendation systems.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


6
1.5 ORGANISATION

This documentation is organized into the following chapters:


Chapter 1: Provides an introduction to the project, including its overview, necessity, theme, and
objectives.
Chapter 2: Presents a literature review covering existing ecommerce systems, technologies like React,
Spring Boot, and JWT-based authentication.
Chapter 3: Describes the system design and development process, including architecture diagrams,
database schema, and user/admin workflows.
Chapter 4: Showcases the implementation with screenshots of the interface, explanation of modules,
and user interactions.
Chapter 5: Provides performance analysis based on API response times, UI load time, and data
management effectiveness.
Chapter 6: Concludes the report with a summary of features, limitations, applications, and potential
future enhancements such as online payments or AI-based product recommendations.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


7
LITERATURE
REVIEW

Vidya Niketan college of Engineering, Bota B.E. (Computer)


8
CHAPTER 2. LITERATURE REVIEW

This chapter presents a comprehensive review of research and existing technologies relevant to
building secure, scalable, and interactive e-commerce web platforms. The review includes modern
approaches to frontend development, secure backend architecture, database management, and
authentication systems. It also highlights prior work done in full-stack development, token-based
security, and role-based access control (RBAC) — all critical to the success of the proposed
ecommerce application.

2.1 PAPER SURVEY


1. Chatterjee, A. et al. (2021)
“Scalable E-commerce Architecture using Microservices”
The paper focuses on breaking monolithic e-commerce systems into microservices for better
scalability and maintainability. While highly efficient for large platforms, microservices demand
high DevOps maturity, which may not be feasible for academic projects. Our system uses a modular
monolith via Spring Boot.

2. Sharma, N. et al. (2020)


“Role-Based Access Control for Web Applications”
This paper analyzes access control using role-based permissions. It supports JWT implementation
for stateless validation of user roles like ‘Admin’ and ‘User’. Our ecommerce project adopts this
approach using JWT to protect APIs and control access to sensitive endpoints like order
management or product creation.

3. Saini, P. et al. (2019)


“Secure RESTful APIs using JWT and Spring Boot”
This work discusses secure authentication using stateless JWT tokens in RESTful APIs. It outlines
the benefits of using JWT over traditional session storage, especially in scalable architectures. We
implement this model in our project to handle login authentication and protect API endpoints for
different user roles.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


9
4. Khan, R. et al. (2022)
“Frontend Optimization Techniques for React Applications”
This paper emphasizes modular architecture, component reuse, and performance optimization in
React.js. Our frontend uses these principles to build dynamic components for product browsing,
cart, user profile, and admin dashboard.

5. Li, H. et al. (2021)


“MySQL in E-Commerce Systems: Optimization and Schema Design”
This research highlights how relational databases like MySQL remain efficient for e-commerce
systems due to their structured schema, indexing, and ACID compliance. Our project uses
normalized schemas with optimized joins and foreign key relationships for users, orders, and
products.

6. Bhosale, R. et al. (2023)


“Integrating Admin Dashboards in Full-Stack Applications”
The paper discusses integrating protected admin dashboards using token validation and conditional
rendering. In our project, we build a separate admin panel with access granted only through valid
JWTs and admin role verification.

7. Mehta, A. et al. (2022)

“Secure Payment Integration in E-commerce Platforms”


This paper provides insights into integrating secure payment gateways like Razorpay, Stripe, or
PayPal. It explains handling client-side encryption, payment tokens, and verifying transaction
authenticity on the server side.
Integrating a payment gateway will enhance functionality, allowing users to complete transactions
directly within the system.

8. Fernandes, V. et al. (2021)

“State Management Techniques in React Applications”


The study explores various state management strategies including React Context API, Redux, and
local state. It emphasizes using Redux Toolkit for scalable applications. We manage cart state, user
authentication state, and admin data views using the Context API, ensuring a lightweight yet
maintainable architecture.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


10
9. Tan, J. et al. (2020)

“Best Practices in Designing E-Commerce UX for Web”


This paper addresses the importance of clean design, intuitive navigation, and responsive interfaces.
We follow UX principles by implementing a modern design with Tailwind CSS or Bootstrap, fast-
loading product lists, modals for login, and optimized checkout processes.

10. Gupta, R. et al. (2019)

“Spring Boot with JPA: Effective Entity Design and Query Optimization”
This work provides guidance on using Spring Data JPA to map entities, use JPQL, and perform
optimized queries.
All CRUD operations for products, users, and orders are built using Spring JPA with relationships
(Oneto Many, Many To one) to keep queries efficient and schema normalized.

11. Singh, D. et al. (2021)

“Database Security Techniques in Online Applications”


The paper emphasizes SQL injection protection, user input validation, and role-level DB access
to prevent data breaches.
Backend input is validated using Spring’s Bean Validation. SQL injection is mitigated by using
prepared statements via Spring JPA.

12. Kumar, M. et al. (2022)

“Token-Based Authentication vs Session-Based Authentication in Scalable Web Systems”


A comparative study that highlights how JWT-based systems are more scalable and efficient in
stateless distributed environments.
Our system uses JWT instead of traditional session storage to maintain stateless APIs and improve
security for both user and admin access.

2.2 Type of Interfaces

There are several types of user interfaces. For this project, we implement a Graphical User Interface
(GUI) using modern web technologies.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


11
Graphical User Interface (GUI)

Tools Used: React.js + Tailwind CSS + Material UI (optional)


GUI makes the web application user-friendly by allowing interaction via buttons, forms, and
modals.

Advantages:

Interactive Experience: Rich product views, modals for login/signup, real-time cart updates.

Responsive Design: Works on desktops, tablets, and mobiles.

Admin/User Panels: Different dashboards based on user roles.

2.3 SOFTWARE REQUIREMENT

Frontend:

• React.js (with Axios, Router DOM, Tailwind/Bootstrap)

• Responsive, modular UI design

• Admin and user dashboards

Backend:

• Spring Boot (Java-based RESTful API framework)

• Handles authentication, product management, order processing

Database:

• MySQL

• Tables: Users, Products, Orders, Order Items, Categories

Authentication:

• JWT (JSON Web Tokens)

• Used to protect routes and APIs

• Role-based access control (Admin/User)

Vidya Niketan college of Engineering, Bota B.E. (Computer)


12
Development Tools:

• IDE: IntelliJ IDEA / VS Code

• API Testing: Postman

• Version Control: Git & GitHub

• Dependency Management: Maven

2.4 METHODOLOGY AND TOOLS:

I. Project Methodology: Modular Development Approach

The project follows an iterative, modular methodology where each feature is developed and
tested in isolated modules before being integrated. Major modules include:

User Authentication

• JWT-based login & signup

• Role management (admin/user)

Product Management

• Admin adds/edits/deletes products

• Images, descriptions, price, and stock are stored in the database

Shopping Cart & Checkout

• Users can add products to cart, update quantity, and place orders

Order Tracking

• Users can view past orders

• Admin can update order status (Pending → Shipped → Delivered)

Vidya Niketan college of Engineering, Bota B.E. (Computer)


13
Admin Dashboard

Overview of all orders, sales, product inventory

II. Project Flow

• User Signup/Login → JWT Generation → Homepage/Product Listing →

• Add to Cart → Checkout → Place Order →

• User sees Order History → Admin sees All Orders →

• Admin updates order status → User notified (optional)

III. Tools Used

• React.js - Frontend (UI, routing, component logic)

• Spring Boot - Backend REST APIs and services

• MySQL - Data storage (users, orders, products)

• JWT - Secure token-based authentication

Vidya Niketan college of Engineering, Bota B.E. (Computer)


14
SYSTEM
DEVELOPMENT

Vidya Niketan college of Engineering, Bota B.E. (Computer)


15
CHAPTER 3. SYSTEM DEVELOPMENT

3.1 BLOCK DIAGRAM & DESCRIPTION:

Figure 3.1. Block Diagram of Software Architecture.

Project Description: Ecommerce Website using React.js, Spring Boot, MySQL, and JWT
Authentication

This project is a web-based Ecommerce Management System developed using React.js for the
frontend and Spring Boot for the backend, with MySQL as the database. It provides a complete
shopping experience to users, including login/signup, product browsing, cart management,
checkout, and order tracking. It also includes an admin panel for managing products and orders.
The system ensures secure access using JWT-based authentication and a role-based access
control system.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


16
App Modules & Workflow:

1. User Authentication:
• Users register and log in using a secure form.
• JWT tokens are generated upon successful login and stored in local Storage.
• User sessions are stateless and secure, supporting both USER and ADMIN roles.

2. Product Browsing and Cart Management:


• Users can view product lists and details dynamically loaded via backend APIs.
• Products can be added to a cart stored locally or globally in frontend state.
• Cart page provides quantity control and a summary view.

3. Order Placement and Processing:


• On checkout, cart items are sent to the backend and saved as an order in MySQL.
• Each order includes a user reference, list of products, and order status.
• Admins can manage and update order statuses via a protected dashboard.

4. Admin Dashboard:
• Admin users can add, edit, and delete products.
• Admins can view all orders and update their status.
• Admin access is protected using role-based authorization.

5. Navigation & UI
• Built using React.js with React Router for route navigation.
• Clean, mobile-responsive UI using Tailwind CSS or Bootstrap.
• Dynamic navbar shows user/admin options based on login status.

6. User Profile Display


• Logged-in users can view their profile, order history, and logout securely.
• Orders are fetched from the backend and rendered in the dashboard with statuses.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


17
3.2 FLOW DIAGRAM OF REVIEW MONITOR SYSTEM:

Figure 3.2. Flow Diagram of Website System

Components / Modules:
• User Interface (React.js)
• Authentication System (Spring Security + JWT)
• Product Module (Backend API)
• Cart & Order Module
• Database (MySQL)
• Admin Panel (for product and order management)

Typical Flow:
1. User logs in or registers (JWT issued).
2. User browses product list (fetched from /products API).
3. User adds items to cart and proceeds to checkout.
4. Order is placed and stored in MySQL.
5. User can view past orders; Admin views and updates order status.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


18
3.3 PROPOSED TECHNIQUE:

The system follows a 3-layered architecture that separates responsibilities across Presentation,
Logic, and Data layers. This modular approach increases maintainability, testability, and scalability.

Figure 3.3: Website Architecture Diagram

Architecture Layers

1. Presentation Layer (Frontend UI – React.js)


• Handles user interaction and visual elements.
• Pages include Home, Login, Register, Products, Cart, Checkout, Admin Dashboard.
• Sends API requests to the backend and renders received data.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


19
2. Application Logic Layer (Backend – Spring Boot)
• Contains business logic, API controllers, and services.
• Authenticates users, processes order, manages products.
• Implements secure routing with JWT and Role-based access control.
3. Data Layer (Database – MySQL)
• Stores user accounts, product inventory, order history.
• Uses Spring Data JPA for ORM and database operations.

3.4 PROPOSED TECHNIQUE:

The system uses JWT-based authentication to secure user sessions and implement role-based
access control.

Figure 3.4: Security system Diagram

Security Components:

Login/Signup (Authentication Entry Point):


• Users log in via a secure endpoint.
• Backend generates a JWT token with the user's role embedded in the payload.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


20
Token Handling:
• JWT is stored on the frontend (localStorage/sessionStorage).
• Every API call includes the token in the Authorization header.

Backend Token Validation:


• Spring Boot uses a JWT filter to decode and validate tokens on protected routes.
• Role-based filters ensure only ADMIN can access admin-specific APIs.

Access Control Enforcement:


• Unauthorized requests are denied with appropriate HTTP error codes (401/403).
• All sensitive endpoints (e.g., /admin/**) are protected using @PreAuthorize and role checks.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


21
IMPLIMENTATION

Vidya Niketan college of Engineering, Bota B.E. (Computer)


22
CHAPTER 4. IMPLIMENTATION

4.1 OVERVIEW:

The implementation of the Ecommerce Website was carried out in a phased and modular approach,
ensuring seamless integration between the frontend, backend, and database components. The system
was developed to support essential ecommerce functionality, including user authentication, product
management, shopping cart, order processing, and administrative control — all while maintaining
high performance, security, and scalability.
The frontend, built using React.js, provides a responsive and interactive user experience with
modern UI components. It interacts with the backend via REST APIs using Axios, and manages
routing, state, and authentication logic efficiently. The backend, developed in Spring Boot, is
responsible for core business logic, API handling, JWT-based authentication, and secure role-based
access control for both admin and user roles.
A MySQL relational database stores all persistent data, including users, products, orders, and cart
items. The schema is normalized and optimized for query performance and integrity. The use of
Spring Data JPA allows seamless interaction between Java objects and database tables.
To ensure secure access, JWT (JSON Web Token) is implemented for user authentication. This
enables stateless and scalable API protection, ensuring only authorized users can access or modify
resources.

The system is divided into clearly defined modules:


• User Module: Registration, login, product browsing, cart management, and order
placement.
• Admin Module: Product management (add/edit/delete), order tracking, and status updates.
• Security Module: JWT authentication, role validation, and route protection.
• Database Module: Structured storage of all application data with entity relationships.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


23
4.2. PROJECT STACK:

Category Technology / Tool

Frontend React.js, Axios, React Router DOM, Tailwind CSS

Backend Spring Boot, Spring Security, Spring Data JPA

Authentication JWT (JSON Web Tokens)

Database MySQL

Build Tools Maven (for Java), npm (for React)

Testing Tools Postman, Chrome DevTools

IDE VS Code (React), IntelliJ IDEA (Java)

Version Control Git, GitHub

Deployment (optional) Netlify (frontend), Railway(backend)

Table 4.2: Tech Stack

4.3. Project Implementation

1. Frontend Development (React.js)


The user interface was developed using React.js, offering a responsive and dynamic Single Page
Application (SPA). Major features include:
• Component-Based Architecture: Components like ProductCard, CartItem, and Navbar
ensure reusability and scalability.
• Routing & Navigation: Implemented using React Router DOM to manage user and admin
routes.
• State Management: Context API was used for authentication, cart, and session management.
• Protected Routes: Conditional rendering and route guards to restrict unauthorized access to
admin routes.
Example Pages:
• Home, Login, Register, Product Details, Cart, Checkout, User Dashboard, Admin Panel

Vidya Niketan college of Engineering, Bota B.E. (Computer)


24
2. Backend Development (Spring Boot)
The backend logic was implemented using Spring Boot, exposing RESTful APIs for the entire
ecommerce workflow.
• Controllers: Manage incoming HTTP requests (e.g., /auth, /products, /orders, /admin).
• Service Layer: Handles core business logic and validation.
• Repository Layer (JPA): Communicates with the database using Spring Data JPA.
• Security: Implemented using Spring Security + JWT for secure role-based access control.
Key APIs:
• POST /auth/login, GET /products, POST /orders, PUT /admin/products

3. Authentication System (JWT)


JWT (JSON Web Token) is used for stateless authentication.
• Users receive a signed JWT upon login.
• Token is stored in localStorage and attached to API requests via Axios.
• Backend filters decode the token, verify its validity, and enforce access based on roles
(USER or ADMIN).

4. Database (MySQL)
MySQL is used as the relational database. JPA annotations such as @OneToMany, @ManyToOne
were used to define relationships between entities.

5. Admin Panel Features


Admin users (verified by role in JWT) can:
• Add, update, or delete products.
• View and manage all customer orders.
• Change order statuses (e.g., Pending, Shipped, Delivered).

6. Testing & Validation


• Postman was used for testing REST APIs (auth, orders, products).
• Browser Developer Tools helped validate frontend routing and UI responsiveness.
• Manual testing simulated user flows: login → browse → add to cart → checkout → admin
update.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


25
• Project Directory Structure (React + Spring Boot) :

/Ecommerce Website

├── /frontend (React.js)


│ ├── /src
│ │ ├── /components
│ │ │ ├── ProductCard.js
│ │ │ ├── CartItem.js
│ │ │ └── Navbar.js

│ │ ├── /pages
│ │ │ ├── Home.js
│ │ │ ├── Login.js
│ │ │ ├── Register.js
│ │ │ ├── ProductDetails.js
│ │ │ ├── AdminDashboard.js
│ │ │ ├── UserDashboard.js
│ │ │ └── Checkout.js

│ │ ├── /context
│ │ │ └── AuthContext.js
│ │ ├── /services
│ │ │ └── api.js (Axios config + JWT interceptor)

│ │ ├── App.js
│ │ └── index.js
│ └── package.json

Vidya Niketan college of Engineering, Bota B.E. (Computer)


26
├── /backend (Spring Boot)
│ ├── /src
│ │ ├── /controller
│ │ ├── /service
│ │ ├── /model
│ │ ├── /repository
│ │ └── /security (JWT config, filters)
│ └── pom.xml

├── /database
│ └── schema.sql
└── README.md

Screens Overview (Frontend Pages)


• Home.js
Displays product list with filtering options. Fetches products via backend API.
• Login.js / Register.js
Auth pages to login or create user accounts. JWT is stored in localStorage upon success.
• ProductDetails.js
Shows a single product’s details and allows users to add it to the cart.
• Cart.js / Checkout.js
Displays cart summary. Checkout page sends data to backend to create an order.
• AdminDashboard.js
Allows admin users to add/edit/delete products, view/manage orders.
• UserDashboard.js
Allows users to view their past orders, change profile details, etc.
• Navbar.js
Shared top navigation bar. Adapts based on whether the user is logged in and their role.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


27
4.4. SCREENS:
• MAIN SCREEN:

Image 4.4.1: Welcome Screen

• CONTACT INFO:

Image 4.4.2.: CONTACT INFO

Vidya Niketan college of Engineering, Bota B.E. (Computer)


28
• LOGIN

Image 4.4.3: Login Screen

Vidya Niketan college of Engineering, Bota B.E. (Computer)


29
• SIGN UP:

Image 4.4.4: Sign UP

• CHAT ASSISTANT:

Image4.4.5: Chat Assistent

Vidya Niketan college of Engineering, Bota B.E. (Computer)


30
PERFORMANCE
TESTING

Vidya Niketan college of Engineering, Bota B.E. (Computer)


31
CHAPTER 5. PERFORMANCE TESTING

5.1 OVERVIEW:

The performance analysis of the Ecommerce Web Application was conducted to evaluate its
responsiveness, efficiency, and user experience under typical and stress load conditions. The system
was assessed across key functional modules including authentication, product management,
order processing, and user/admin interactions.
The evaluation focused on:
• API response time
• Database query execution
• Page load and UI render speed
• JWT authentication latency
• System behaviour under concurrent usage
The frontend, built with React.js, demonstrated fast load times due to component-based architecture
and state optimization using Context API. The backend, powered by Spring Boot and secured via
JWT, ensured secure, stateless communication between client and server.
The MySQL database performed efficiently under load, with optimized queries and normalized
schema structures.

Performance Highlights:
• Initial page load (React SPA): ~900ms average on first visit; subsequent routes load
instantly via client-side routing.
• Authentication with JWT: ~350ms average response, including token issuance and
storage.
• Order placement workflow (cart → order): End-to-end completion within ~500ms–
650ms.
• Product data retrieval API (GET /products): ~300–400ms with pagination and filtering
enabled.
• Admin dashboard analytics load: ~700ms (product, user, and order stats combined).
• Database transaction time: Ranges between 50ms–200ms depending on joins and indexes.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


32
5.2 PERFORMANCE PARAMETERS:

Parameter Description
Time taken for backend endpoints to respond to
API Response Time
frontend requests
Time to render key UI components (React DOM
Page Load Time
mount + data fetch)

Authentication Time Time taken for login/register + JWT generation

Database Query Time Execution time for MySQL queries via JPA
Table 5.2: Performance Parameters

5.3 TEST ENVIRONMENT:

omponent Configuration omponent Configuration

OS Windows 11 / Ubuntu 22.04 OS Windows 11 / Ubuntu 22.04


Frontend React.js v18.2.0 Frontend React.js v18.2.0

Backend Spring Boot v3.1.x Backend Spring Boot v3.1.x


Database MySQL 8.0 Database MySQL 8.0

Tools Postman, Chrome DevTools, VS Tools Postman, Chrome DevTools, VS Code,


Code, IntelliJ IntelliJ

Browser Google Chrome (v114+), Mozilla Browser Google Chrome (v114+), Mozilla Firefox
Firefox
Table 5.3: Test Environment

5.4 PERFORMANCE RESULTS:

Test Case Avg. Time (ms)


JWT Login Request 350
Product List API 400
Add to Cart (Frontend only) 50 (instant)
Table 5.4: Response Time

Vidya Niketan college of Engineering, Bota B.E. (Computer)


33
5.5 SCREEN RESPONSIVENESS:

• All pages tested on Chrome (desktop + mobile view).


• Tailwind CSS or Bootstrap 5 used for responsive layouts.
• Transition between pages takes under 300ms with no major lag.
• Lazy loading used for images and components in the product listing.

5.6 USER FEEDBACK SUMMARY:

Sample Chart: Detection Time vs Number of Submissions:

Criteria User Feedback (Rating out of 5)


Page Load Speed 4.5
UI Design & Navigation 4.7
Checkout Experience 4.6
Admin Features 4.8
Mobile Responsiveness 4.4
Table 5.6: User Feedback

5.7 GRAPHICAL ANALYSIS

Concurrent Users Average Response Time (ms)


10 480
50 510
100 570
Table 5.7: Graphical Analysis

Vidya Niketan college of Engineering, Bota B.E. (Computer)


34
CONCLUSION

Vidya Niketan college of Engineering, Bota B.E. (Computer)


35
CHAPTER 6. CONCLUSION

6.1 ADVANTAGES:

• Provides a secure and scalable ecommerce solution with modular architecture.


• JWT-based authentication ensures stateless, token-secured access to both user and admin
functionalities.
• React.js frontend offers a fast, responsive, and user-friendly UI across all devices.
• Spring Boot backend manages complex logic efficiently with layered architecture
(Controllers, Services, Repositories).
• MySQL relational database provides fast, reliable storage with optimized queries and entity
relationships.
• Fully supports role-based access control to isolate user and admin tasks.
• Offers real-time product management, order tracking, and user account handling.
• Backend APIs are RESTful and easily integrable with third-party tools like payment gateways
or analytics services.
• Highly extendable architecture for features like email notifications, dashboards, or AI-driven
product recommendations.

6.2 DISADVANTAGES:

• Relies on client-side storage (localStorage) for JWT tokens, which may need secure handling
for production use.
• No built-in payment gateway integration — only product browsing and order creation are
currently functional.
• System performance may degrade without optimization if scaled to thousands of users without
cloud infrastructure.
• Absence of real-time communication features like WebSockets for live order updates.
• Admin panel lacks export/report generation capabilities (can be added in future versions).

Vidya Niketan college of Engineering, Bota B.E. (Computer)


36
6.3 APPLICATIONS:

• Online electronic stores for product management, user shopping, and order tracking.
• Admin-managed dashboards for controlling stock, orders, and user access.
• Can be used as a template for B2B and B2C ecommerce portals.
• Applicable in educational institutes to demonstrate full-stack development with real-time
authentication.
• Useful for learning advanced concepts like JWT, REST APIs, React component
architecture, and Spring Boot security.

6.4 CONCLUSION:

In this project, a full-stack Ecommerce Website was successfully designed and implemented using
React.js as the frontend framework, Spring Boot for the backend API, and MySQL for data
persistence. A secure authentication system using JWT tokens was integrated to provide a
seamless, stateless login experience and enforce role-based access between users and
administrators.
The application allows users to browse products, add them to a cart, checkout, and view past orders.
Admin users can log in to a dedicated dashboard to manage products, view customer orders, and
update order statuses. The entire architecture is built to be scalable, modular, and maintainable,
with room for future enhancements such as payment gateway integration, real-time updates, and
analytics dashboards.
The performance analysis shows that the system maintains excellent responsiveness, minimal
latency, and a consistent experience under varying user loads. The project fulfills all the planned
objectives and sets a solid foundation for further development in both academic and professional
environments.

6.5 FUTURE SCOPE:

• Integration of payment gateways like Stripe or Razorpay for online transactions.


• Building real-time dashboards using chart libraries (Recharts, Chart.js) for admin analytics.
• Adding email or SMS notifications for order status updates.
• Building a mobile version using React Native for users on Android and iOS.

Vidya Niketan college of Engineering, Bota B.E. (Computer)


37
REFERENCES

38
REFERENCES

1. React.js Documentation – https://reactjs.org/docs/getting-started.html

2. Spring Boot Docs – https://spring.io/projects/spring-boot

3. MySQL Docs – https://dev.mysql.com/doc/

4. JWT.io (for understanding JWTs) – https://jwt.io/

5. Material UI – https://mui.com/material-ui/

6. Axios HTTP Library – https://axios-http.com/docs/intro

7. Postman API Testing Tool – https://www.postman.com/

8. OWASP Guidelines for Web App Security – https://owasp.org/

9. IntelliJ IDEA IDE – https://www.jetbrains.com/idea/

10. Git & GitHub – https://github.com/

11. React Router Docs – https://reactrouter.com/

12. Maven Repository – https://mvnrepository.com/

13. Spring Security Docs – https://docs.spring.io/spring-security

14. Tailwind CSS Documentation – https://tailwindcss.com/docs

15. Recharts (for data visualization) – https://recharts.org/en-US/

16. Firebase Authentication (Optional future integration) –

https://firebase.google.com/docs/auth

17. Stripe Payments – https://stripe.com/docs

18. React Admin Templates – https://react-admin.marmelab.com/

39
PROJECT CERTIFICATE

INTERNATIONAL RESEARCH JOURNAL OF MODERNIZATION IN


ENGINEERING TECHNOLOGY AND SCIENCE
(An ISO 9001:2015 Certified Journal | Impact Factor: 7.752)

CERTIFICATE OF COMPLETION

This is to certify that the project entitled

“ELECTRONIC STORE WEBSITE USING REACT JS, SPRING BOOT AND MYSQL”

has been successfully completed and submitted by

Mr. Wadekar Rushikesh Balasaheb

in partial fulfillment of the requirements for the award of the Bachelor of Engineering
(B.E.) degree in [Computer Engineering] under [SPPU] during the academic year 2024–
2025.

The work embodied in this project report is original and has been carried out under the
supervision of:

Department of [Computer Engineering Department]


VIDYA NIKETAN COLLEGE OF ENGINEERING, BOTA

Date:
Place:

40

You might also like