0% found this document useful (0 votes)
7 views32 pages

Industrial Project Report 4THsem (1) - For Merge

The document is a project report for 'E-Commerce ProShop', a full-stack web application aimed at providing a seamless online shopping experience. It outlines the project's objectives, methodologies, and key functionalities, including user authentication, product management, and order tracking, all developed using modern technologies like React.js, Node.js, and MongoDB. The report also emphasizes the importance of user experience and security in e-commerce platforms while acknowledging the support received during the project.

Uploaded by

udit0900
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)
7 views32 pages

Industrial Project Report 4THsem (1) - For Merge

The document is a project report for 'E-Commerce ProShop', a full-stack web application aimed at providing a seamless online shopping experience. It outlines the project's objectives, methodologies, and key functionalities, including user authentication, product management, and order tracking, all developed using modern technologies like React.js, Node.js, and MongoDB. The report also emphasizes the importance of user experience and security in e-commerce platforms while acknowledging the support received during the project.

Uploaded by

udit0900
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/ 32

A

PROJECT REPORT

0N

E-COMMERCE PROSHOP
Submitted in Partial Fulfillment of the requirement for the Award of the Degree of

BACHELOR OF TECHNOLOGY

IN

COMPUTER SCIENCE ENGINEERING

BAHARA UNIVERSITY

Wakhnaghat, Solan, Himanchal Pradesh

Submitted By: Udit Kumar


Submitted To: Mrs. Priyanka Sharma

Name: Kaushal Singh Udit Kumar

Roll No. BU2023PGMC12

Branch: MCA(4th Sem)

DECLARATION

I, Udit kumar, a student of the IV semester MCA program in Bahara University, Solan,
hereby declare that the industrial training work titled “E-COMMERCE PROSHOP” has been
independently carried out by me under the supervision of Ms. Bharti Mahajan, Assistant

i
Professor. This work is submitted in partial fulfillment of the course requirements for the
award of the MCA, in Wakhnaghat, Solan, during the period from Jan 2025 to May 2025.

I further declare that this report has not been submitted to any other university for the award of

any other degree.

STUDENT NAME: UDIT KUMAR


ROLL NO. : BU2023PGMC12

ii

CERTIFICATE
ABSTRACT

The Ecommerce ProShop is a full-stack web application designed to provide a seamless


online shopping experience. Developed using modern web technologies, this platform allows
users to browse products, add them to their cart, and complete purchases securely. The
application features a user-friendly interface built with React.js, with a backend powered by
Node.js and Express.js. MongoDB serves as the database for storing user information,
product details, and order data.

Key functionalities of the system include user authentication, product management, shopping
cart management, and an order tracking system. The application supports a responsive design,
ensuring compatibility across multiple devices. Users can register, log in, and securely
manage their profiles, while administrators can manage the product inventory and process
orders.

The Ecommerce ProShop project incorporates essential features for an online store, such as
secure user authentication through JWT (JSON Web Tokens), data validation, and secure
password handling. The project was tested thoroughly to ensure a smooth user experience,
and it meets modern web standards in terms of usability, security, and scalability.

In conclusion, the Ecommerce ProShop offers a comprehensive solution for an online


shopping platform, with room for future enhancements such as payment gateway integration
and advanced product recommendation systems.

iv

iii
ACKNOWLEDGEMENT

I would like to express my heartfelt gratitude to Green Hills Engineering College, Solan, for
providing me the opportunity to complete my internship work successfully.

I am deeply thankful for constant support, valuable guidance, and suggestions throughout the
internship work.

I extend special gratitude to Mrs. Priyanka Sharma HOD CS Department Bahara


University, Wakhnaghat, Solan, for his encouragement and support during this period.

Lastly, I extend my thanks to all the faculty members of the Department of Computer Science
and Engineering, Green Hills Engineering College, Solan, for their support. I also thank all
those who extended their support and cooperation in bringing out this internship report.

Udit Kumar

(BU2023PGMC12)

CONTENTS
Chapter No. Chapter Title Page No.
1. INTRODUCTION 1
1.1 Introduction 1

1.2 Problem Definition 2

1.3 Objective 3

1.4 Scope 4

2. LITERATURE REVIEW 5-6

3. METHODOLOGY 7-16
3.1 Analysis 7-8

3.2 Design 8-11

3.3 Coding 11-12

3.4 Testing 12-14

3.5 Implementation 14-17

4. SUMMARY & CONCLUSION 18


4.1 Summary 18

4.2 Conclusion 19

5. REFERENCES 20

6. APPENDICES 21-22

v
i
1. INTRODUCTION

1.1 Introduction
In the digital age, ecommerce platforms have revolutionized the way businesses operate and how
consumers shop. The Ecommerce ProShop project is a comprehensive, full-stack web
application designed to replicate the functionality of a modern online retail store. This project
aims to provide users with a seamless shopping experience—from browsing products to
managing their orders—while also equipping administrators with tools for managing inventory,
users, and sales.

The development of this platform involved the integration of frontend and backend technologies
to ensure responsive design, real-time interactions, and secure data management. The frontend
was built using modern JavaScript frameworks to deliver a user-friendly interface, while the
backend was structured to handle API routing, data processing, authentication, and database
management. This full-stack approach ensures a scalable, maintainable, and performance-
oriented application.

The objective of this project is not only to simulate a real-world ecommerce application but also
to demonstrate proficiency in full-stack development practices, including RESTful API creation,
user authentication, state management, and database operations. Ecommerce ProShop serves as
a solid foundation for understanding the complexities and requirements of building
productiongrade web applications.

1.2 Problem Definition

In today's fast-paced digital marketplace, traditional brick-and-mortar shopping methods are


rapidly being replaced by online retail platforms. However, many small to mid-sized businesses
face challenges in establishing an effective online presence due to the complexity, cost, and
technical requirements involved in building and maintaining ecommerce systems. There is a

1
growing need for scalable, user-friendly, and secure ecommerce solutions that can be tailored to
various business models.

The Ecommerce ProShop project addresses this need by providing a full-stack ecommerce application
that includes essential features such as product listings, user authentication, shopping cart functionality,
order management, and administrative controls. It aims to solve the following core problems:

• Limited accessibility to online shopping platforms for small vendors.

• Lack of integration between frontend interfaces and backend operations in many basic

ecommerce systems.

• Security concerns related to user authentication, payment handling, and data storage.

• Inefficient user experience caused by poor UI/UX design or lack of responsiveness.

• Difficulty in inventory and order management for store administrators.

By developing this project, the goal is to create a robust, full-featured ecommerce platform that can
be deployed or customized for real-world use, while demonstrating effective implementation of
full-stack web development techniques.

1.3 Objectives

The primary objective of the Ecommerce ProShop project is to design and develop a fully
functional, scalable, and user-friendly ecommerce web application using full-stack development
technologies. The specific goals of this project include:

1. To develop a responsive and interactive user interface


Ensure seamless navigation, product browsing, and mobile compatibility using modern frontend

technologies.

2. To implement secure user authentication and authorization


Allow customers and admins to register, log in, and access appropriate features using secure

authentication mechanisms (e.g., JWT, bcrypt).

2
3. To create a dynamic product management system
Enable the admin to add, update, and delete products, along with features like image uploads,

category sorting, and stock control.

4. To integrate a functional shopping cart and order system


Allow users to add items to their cart, update quantities, place orders, and view their purchase

history.

5. To build a backend API for data handling and communication


Design and implement RESTful APIs to manage product data, user information, and orders

securely and efficiently.

6. To use a database for persistent storage of application data


Store and manage user data, product listings, order details, and admin settings using a reliable

database (e.g., MongoDB).

7. To provide an admin dashboard for backend operations


Offer administrative tools for managing users, orders, and inventory from a centralized

interface.

8. To ensure code modularity, reusability, and scalability


Apply best practices in software development to make the codebase maintainable and extensible

for future enhancements.

1.4 Scope

The Ecommerce ProShop project is designed to serve the needs of both end-users (customers)
and business operators (administrators or sellers), offering a practical and scalable solution for
online retail. The scope of the project includes the following human-centered functionalities and
benefits:

1. For Customers o Access to a wide range of products with detailed

descriptions, images, and prices.

3
o Ability to create and manage personal accounts securely.

o Convenient shopping experience through a user-friendly interface. o Features like

product search, filtering, and category browsing to enhance usability. o Shopping

cart, checkout, and order history tracking to simplify the purchasing process.

2. For Administrators/Sellers o A secure login and dedicated admin panel for

backend operations.

o Tools to add, edit, and delete product listings and manage inventory in real-time. o

Order management system to view, update, and process customer orders efficiently. o

Ability to manage user accounts, view customer activity, and track sales

performance.

3. For Business Owners/Organizations o A complete ecommerce foundation

that can be customized and scaled as needed.

o Low-cost deployment option for small businesses seeking online presence. o

Improved customer reach and sales potential by enabling digital commerce.

4. For Future Developers/Enhancers o A modular, well-structured full-

stack codebase to build upon.

o Opportunities to integrate advanced features such as payment gateways, analytics,

reviews, and AI-based recommendations.

This project is intended to simulate a real-world ecommerce platform that not only meets
technical goals but also enhances the shopping and selling experience for human users. It
bridges the gap between technology and business, providing a valuable tool for digital
commerce in today’s society.

4
2. LITERATURE REVIEW
Ecommerce platforms have become an essential part of the global retail landscape, enabling
businesses to reach a wider audience and offering consumers the convenience of shopping from
anywhere. A review of existing literature and technologies provides valuable insights into the
development of efficient and scalable ecommerce systems.

1. Evolution of Ecommerce Technologies


The rise of ecommerce can be traced back to the early 1990s, with platforms like Amazon and
eBay pioneering the online marketplace. Over time, the complexity and expectations of
ecommerce applications have grown, requiring seamless integration of frontend design, backend
processing, and secure data handling. Studies emphasize the importance of user experience

(UX), website performance, and mobile responsiveness in the success of ecommerce platforms.

2. Frontend Development in Modern Web Applications


JavaScript frameworks such as React.js and Vue.js have revolutionized frontend development
by enabling dynamic, component-based user interfaces. React, in particular, is widely adopted
for ecommerce platforms due to its virtual DOM, reusable components, and efficient state
management through libraries like Redux or Context API. Research highlights how frontend
responsiveness and ease of navigation greatly influence user satisfaction and conversion rates.

3. Backend and API Design


For backend development, Node.js with Express.js is commonly used for creating lightweight,
scalable RESTful APIs. Studies show that asynchronous, event-driven architecture provided by
Node.js significantly improves performance for data-intensive applications like ecommerce.
5
Implementing secure user authentication (e.g., JWT) and protecting routes are standard practices
in backend security models.

4. Database Management
NoSQL databases like MongoDB are often preferred in ecommerce applications due to their
flexibility and scalability. MongoDB allows for easy storage of complex, nested data structures
such as product catalogs, user carts, and order histories. Literature suggests that NoSQL
solutions provide better performance and easier scaling for high-traffic ecommerce
environments.

5. Security and Payment Integration


User data security, authentication, and payment processing are crucial in ecommerce. Research
recommends best practices such as encrypting sensitive data, using token-based authentication,
and integrating trusted third-party payment gateways (e.g., Stripe or PayPal) to ensure
transaction security and compliance with data protection regulations (e.g., GDPR, PCI-DSS).

6. Open-Source and Educational Models


Several open-source ecommerce projects, such as Shopify clones and MERN stack
ecommerce apps, have been used in educational and prototype settings. These projects serve as
learning models for understanding full-stack integration and best practices. The ProShop model
follows a similar pattern, customized to fit specific learning objectives and use cases.

6
3.METHODOLOGY

3.1 Analysis

Before the development of the Ecommerce ProShop application, a detailed analysis was
conducted to understand the requirements, user roles, and functional expectations of a modern
ecommerce platform. This phase included both functional analysis and technical analysis to
guide the design and implementation of the system.

A. Functional Analysis

The core functionalities required in the system were identified by analyzing existing ecommerce

platforms and understanding common user behaviors. These include:

• User Features:

o User registration and login o Product

browsing and filtering o Cart and wishlist

management o Checkout and order

tracking o Responsive design for mobile and

desktop

• Admin Features:

7
o Product creation, editing, and deletion o

Inventory and stock management o User

and order management o Dashboard for

analytics and control

• Common Features:

o Secure authentication and authorization o

Real-time feedback for actions (e.g., add

to cart, place order) o Search

functionality and pagination

This analysis helped prioritize features to ensure a user-centric approach with a focus on simplicity,

speed, and functionality.

B. Technical Analysis

A full-stack approach was chosen to allow complete control over both frontend and backend
development. The chosen technologies were analyzed based on scalability, performance, and
ease of integration:

• Frontend: React.js was selected for building a responsive and dynamic user interface with

reusable components and hooks for state management.

• Backend: Node.js with Express.js was chosen for building RESTful APIs and handling

serverside logic efficiently.

• Database: MongoDB was used for its flexibility in storing hierarchical data like product details,

user information, and orders.

• Authentication: JSON Web Tokens (JWT) and bcrypt were used for secure login and password

handling.

8
• File Uploads: Middleware like Multer or Cloudinary was analyzed and implemented for product

image handling.

• Tools & Libraries: Axios for HTTP requests, Redux or Context API for global state, and

Postman for API testing.

This analysis phase ensured that all components were selected based on their ability to meet

realworld ecommerce needs while remaining developer-friendly and scalable.

3.2 Design

The design phase is critical in ensuring that the Ecommerce ProShop application is intuitive,
scalable, and efficient. It includes both system architecture design and user interface (UI/UX)
design, which together form the blueprint for the entire application.

A. System Architecture Design

The project follows a modular full-stack architecture, with a clear separation between frontend,

backend, and database layers.

1. Frontend (Client-Side)

• Technology Used: React.js

• Design Pattern: Component-based architecture • State Management: React Context API / Redux

• Responsibilities:

o Display product listings, cart, and user profiles o

Handle user interactions and form submissions

o Communicate with backend through REST APIs

2. Backend (Server-Side)

9
• Technology Used: Node.js with Express.js • Design Pattern:

RESTful API architecture

• Responsibilities:

o Handle HTTP requests from the frontend

o Perform CRUD operations on the

database o Manage authentication and

authorization o Serve admin functionalities

3. Database

• Technology Used: MongoDB (NoSQL)

• Responsibilities:

o Store user accounts, product details, orders, and reviews o Allow

fast retrieval and update of records through Mongoose (ODM)

4. Authentication System

• Tools Used: JSON Web Token (JWT) and bcrypt

• Features:

o Secure login and registration o Protected

routes for admin and user dashboards o Session

validation and token expiration handling

B. UI/UX Design

10
User experience was a major focus in designing the interface, keeping the layout clean, responsive,

and easy to navigate.

1. User Pages:

• Home Page: Highlights featured products and categories

• Product Detail Page: Displays full product info, images, and review section

• Cart Page: Shows selected items with options to update quantity or remove

• Login/Register Page: Simple form with validation

• Order History: Shows past orders with status

2. Admin Pages:

• Admin Dashboard: Overview of users, orders, and products

• Product Management: Create/edit/delete product listings

• Order Management: View and update order delivery status

• User Management: View all users, promote/demote roles

3. Design Considerations:

• Responsive Design: Built using CSS Flexbox/Grid and media queries

• Consistent Color Scheme: Clear visual hierarchy

• Accessible UI: Proper form labels, ARIA roles, and contrast

• Error Handling: User-friendly messages for errors and empty states

The combination of a robust backend structure and user-friendly frontend interface ensures that
Ecommerce ProShop is both technically strong and visually appealing, fulfilling the needs of modern
ecommerce applications.

11
3.3 Coding

The Ecommerce ProShop project was developed using a modern full-stack technology stack,
combining both frontend and backend languages and frameworks to create a dynamic,
responsive, and fully functional ecommerce platform. Below is an overview of the programming
languages and tools used in each layer of the application:

1. Frontend (Client-Side)

• Language: JavaScript
JavaScript is used as the primary scripting language for developing the frontend of the

application. It enables interactive elements and dynamic content rendering.

• Framework/Library: React.js
React is a popular JavaScript library used for building reusable UI components. It improves
performance through virtual DOM and enhances user experience through a fast, single-page
application (SPA) structure.

• Styling:

o CSS and Bootstrap were used to design responsive layouts and user-friendly interfaces.

o Additional styling tools like React-Bootstrap or Tailwind CSS (if used) can provide pre-

designed components for faster development.

2. Backend (Server-Side)

• Language: JavaScript (Node.js)


Node.js allows JavaScript to be used on the server-side, enabling a unified language

environment across the entire application.

• Framework: Express.js
Express is a lightweight Node.js web application framework used to build RESTful APIs. It

simplifies routing, middleware integration, and server configuration.

12
3. Database

• DatabaseTechnology:MongoDB
MongoDB is a NoSQL database that stores data in JSON-like documents. It is ideal for

applications requiring flexibility and scalability, such as ecommerce platforms.

• ODM: Mongoose
Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. It provides a

schema-based solution for defining and interacting with application data.

4. Other Tools and Technologies

• Version Control: Git & GitHub were used for version control and collaboration.

• API Testing: Postman was used to test REST APIs during development.

• Authentication: JSON Web Tokens (JWT) for secure login and route protection.

• Password Encryption: bcrypt.js was used to hash and verify passwords securely. These
technologies were chosen to create a maintainable, scalable, and secure ecommerce solution that
aligns with current industry standards for web development.

3.4 Testing

Testing is a crucial phase in software development that ensures the application functions correctly,
meets user expectations, and is free of major bugs or vulnerabilities. For the Ecommerce
ProShop project, a combination of manual and automated testing approaches was used to
verify the correctness, performance, and security of both frontend and backend functionalities.

A. Types of Testing Performed

1. Unit Testing o Focused on testing individual components and functions in

isolation.

13
o Example: Validating logic for cart updates, price calculations, and form validations. o

Tools: Jest (for JavaScript-based logic, if used), manual checks for smaller functions.

2. Integration Testing o Ensured that different modules worked together as

expected. o Example: Testing the interaction between the frontend UI and backend

API (e.g., adding products to cart, placing orders).

o Tools: Postman (to test API endpoints), browser-based interaction testing.

3. Functional Testing o Verified that the features work as intended from the user’s

perspective. o Example: Logging in as a user/admin, checking out, viewing order

history. o Focused on user flows, such as browsing → adding to cart → placing

order.

4. UI/UX Testing o Checked the responsiveness, usability, and visual consistency

of the interface. o Verified layout on multiple devices and screen sizes (mobile,

tablet, desktop). o Ensured all interactive elements like buttons, links, and forms

behaved correctly.

5. Security Testing o Validated secure login/logout functionality using JWT.

o Ensured that protected routes were not accessible without valid authentication.

o Checked for common vulnerabilities like weak password storage and unvalidated
inputs.

6. Performance Testing

o Observed how the application performed with a growing number of products or orders.

o Tested load times for the homepage, product pages, and admin dashboard.

B. Tools Used for Testing


14
• Postman: For API testing and verifying request/response formats.

• Browser Dev Tools: To test UI responsiveness and console errors.

• Manual User Simulation: Step-by-step walkthroughs for all core user and admin

actions. C. Bug Fixes and Improvements

Throughout testing, several minor issues were identified and resolved:

• Fixed login errors related to expired JWTs.

• Resolved image upload issues during product creation.

• Improved error messages for invalid input fields.

• Handled empty cart and product not found scenarios gracefully.

3.5 Implementation

The implementation phase involved converting the design and planned features into a working
ecommerce web application using full-stack development tools. The core functionalities were
developed and tested incrementally to ensure the application performs reliably for both users
and administrators.

Below is a description of key components, which will be illustrated with screenshots in the report:

1. Product Listing Page

• Displays all available products in a grid layout.

• Each product shows its image, name, price, and rating.

• Users can click on any product to view its detailed page.

• Pagination is implemented to manage large product inventories.

• Categories or search filters can be applied for quicker browsing.

15
2.Signup/Signin Page

• Allows users to create a new account (Signup) or log into an existing one (Signin).

• Signup form includes fields for name, email, and password.

• Signin form includes fields for email and password only.

• Features input validation to ensure correct format and required fields.

• Uses JWT (JSON Web Tokens) for secure authentication and session management.

• On successful login/signup, users are redirected to the homepage or intended page.

• Supports error messages for incorrect credentials or missing inputs.

• Designed to be responsive and mobile-friendly.

• Enhances user experience with a clean and intuitive interface.

• Ensures data security through encrypted password handling and secure API calls.

16
3. Product Details Page

• On selecting a product, users are taken to a detailed view showing full product information.

• Displays image, description, availability, price, and an option to add the product to the cart.

• Quantity selection is available if the product is in stock.

17
4. Add to Cart Functionality

• Users can add products to their cart with a selected quantity.

• The cart page displays all selected items with subtotal calculations.

• Users can update quantity or remove items directly from the cart. • Cart data is preserved across

pages and accessible via the navbar.

18
4. SUMMARY and CONCLUSION

4.1 Summary

The Ecommerce ProShop project aimed to build a fully functional, full-stack web application
for online shopping, providing both users and administrators with an intuitive and efficient
platform for browsing products, making purchases, and managing inventories. The system was
designed using modern web technologies to ensure scalability, security, and a seamless user
experience.

Key features implemented include:

• A responsive product listing page with the ability to view product details.

• A shopping cart system allowing users to add, remove, and update product quantities.

• Secure user authentication with login and registration forms using JWT for session management.

• An admin panel for managing products, orders, and users.

• A backend built using Node.js and Express.js, integrated with a MongoDB database to store

product and user information.

Throughout the project, careful attention was given to both the frontend and backend to ensure a
smooth and responsive experience for users, while providing administrators with easy-to-use
management tools. Testing was done at various levels, including unit testing, integration testing,
and security checks to ensure that the system operates without issues and meets modern
ecommerce standards.

19
4.2 Conclusion

The Ecommerce ProShop project successfully demonstrates the ability to develop a fully
functional and scalable online shopping platform using a modern full-stack development
approach. By utilizing React.js for the frontend and Node.js with Express.js for the backend, the
project is designed to handle real-world ecommerce requirements, from user interactions to
backend data management.

This project also highlights the importance of integrating security features, such as JWT for
authentication and secure password handling, to ensure the safety of user data and transactions.
Additionally, the use of MongoDB as a database offers flexibility and performance, especially
for growing product catalogs.

In conclusion, the Ecommerce ProShop project provides a comprehensive solution for both
users and administrators, aligning with current trends in web development and ecommerce
systems. With future enhancements such as payment gateway integration, user reviews, and
realtime notifications, the application can evolve into a complete ecommerce platform suitable
for deployment in a commercial setting.

20
5. REFERENCES

1. React Documentation
React. (n.d.). React - A JavaScript library for building user interfaces. Retrieved from

https://reactjs.org/docs/getting-started.html

2. Node.js Documentation
Node.js Foundation. (n.d.). Node.js® v16.13.0 Documentation. Retrieved from

https://nodejs.org/en/docs/

3. Express.js Documentation
Express.js. (n.d.). Express - Node.js web application framework. Retrieved from https://expressjs.com/

4. MongoDB Documentation

MongoDB, Inc. (n.d.). MongoDB Manual. Retrieved from https://docs.mongodb.com/

5. JWT (JSON Web Tokens)

Auth0. (n.d.). Introduction to JSON Web Tokens. Retrieved from https://jwt.io/introduction/

6. Mongoose Documentation

MongoDB, Inc. (n.d.). Mongoose Documentation. Retrieved from https://mongoosejs.com/docs/

7. Bootstrap Documentation
Bootstrap. (n.d.). The world’s most popular mobile-first, responsive front-end framework.
Retrieved from https://getbootstrap.com/

8. "Full-Stack Development: A Guide" by MDN Web Docs


Mozilla. (n.d.). Full-Stack Development Guide. Retrieved from

https://developer.mozilla.org/enUS/docs/Learn/Server-side/Full-stack_web_development

21
6. APPENDICES
The appendices provide additional information that supports the main sections of the project
report. These materials help clarify the structure, flow, and testing of the Ecommerce ProShop
website.

A. System Overview

• The project is developed as a full-stack web application.

• Frontend: Built with React.js for responsive and dynamic user interfaces.

• Backend: Developed using Node.js and Express.js to handle server-side operations and API

endpoints.

• Database: MongoDB is used to store user data, product information, and order details.

B. Database Structure Summary

• Users Collection: Stores user details like name, email, hashed password, and user role.

• Products Collection: Includes product name, description, category, price, stock count, and

ratings.

• Orders Collection: Contains customer order details including products ordered, user ID, total

price, and delivery status.

• Reviews Collection: Tracks user reviews, ratings, and feedback for individual products.

C. User Flow Summary

• Visitor Flow:

1. Lands on homepage → browses products → views product details.


22
2. Can sign up or log in to make purchases.

3. Adds products to the cart → proceeds to checkout → places order.

• Admin Flow:

1. Logs in with admin credentials.

2. Can add/edit/delete products.

3. Can view and manage customer orders.

D. Testing Approach Summary

• Functionality Testing: Ensures each component (e.g., cart, login, product listing) works as

expected.

• UI Testing: Confirms interface behaves correctly across different devices and screen sizes.

• Integration Testing: Checks the connection and data flow between frontend, backend, and

database.

• Security Testing: Verifies safe user login, secure data handling, and protection from

unauthorized access.

E. Glossary

• Frontend: The visible part of the website the user interacts with.

• Backend: The server-side code that processes data and handles logic.

• CRUD: Create, Read, Update, Delete – common database operations.

• JWT (JSON Web Token): A method used for securely transmitting information between parties,

mainly for user authentication.

23
• API (Application Programming Interface): A set of functions that allows the frontend to

communicate with the backend.

24

You might also like