projrct file
projrct file
KAPURTHALA
BACHELOR OF TECHNOLOGY
COMPUTER SCIENCE AND ENGINEERING
Roll no.-2323449
Section-A( Group-2)
Project-Ecommerce Website
TABLE OF CONTENTS
1. User Authentication
Login Page: Allows users to log in to their
accounts by entering their credentials. Redirects
them to their dashboard upon successful
authentication.
Signup Page: Enables new users to register by
providing personal information such as name,
email, and password.
Logout: Logs the user out and ends their session
securely.
Change Password: Provides users with an option
to update their current password.
2. Customer Account Management
My Account: A personal dashboard where
customers can view and manage their account
details, track orders, and access other features.
Edit Account: Allows users to update their profile
information, such as name, email, or address.
Delete Account: Gives users the option to
permanently delete their account and associated
data.
3. Shopping Features
Homepage: Serves as the main entry point for
the website, showcasing featured products,
categories, and promotional banners.
Product Listing: Displays all available products,
often with sorting and filtering options for easy
navigation.
Product Details: Provides in-depth information
about a selected product, including images,
specifications, and pricing.
Search Results: Displays products that match the
user's search query.
Add to Cart: Lets customers add items to their
shopping cart for purchase later.
Checkout: Guides users through the process of
reviewing their cart and providing payment and
shipping details.
Payment Processing: Handles online payments,
including integration with UPI for secure
transactions. Includes functionality for payment
success and failure.
4. Admin Panel
Dashboard: The central hub for administrators to
oversee and manage the website.
Manage Brands: Admins can add, edit, view, and
delete product brands from the system.
Manage Categories: Provides tools to add,
update, and remove product categories.
Manage Products: Admins can upload new
products, edit existing ones, and manage product
inventories.
Manage Customers: Displays a list of registered
customers, with options to view and manage
their details.
5. Database
The database contains all the necessary tables
and relationships for the application, such as user
accounts, product information, and order
histories. The SQL file provided includes the
structure and some initial data to set up the
system.
6. Styles and Assets
Styling: The website uses CSS files to define its
appearance, including separate styles for the
main site and admin panel.
Images: Includes product images, user profile
pictures, and general website assets like logos
and banners.
7. Supporting Functionality
Core Functions: Contains reusable functions for
tasks like retrieving data, validating inputs, and
processing payments.
Database Connection: Ensures smooth
communication between the website and the
database using connection scripts tailored for
different sections.
Introduction
Purpose
The objective of this web application is to provide a
comprehensive online shopping platform where users
can browse, search, and purchase products
conveniently. Customers can register, log in, and
manage their accounts, while administrators have
tools to manage products, categories, brands, and
customer data. The platform also integrates secure
payment gateways to ensure seamless and safe
transactions.
Scope
The web application is designed to support the
following functionalities:
User Authentication: Users can register, log in,
and manage their profiles securely.
Product Browsing and Search: Customers can
explore product listings, view detailed product
descriptions, and search for specific items.
Shopping Cart and Checkout: Users can add
items to a virtual shopping cart and proceed to
checkout for secure payments.
Admin Management: Administrators can oversee
the platform, including adding and editing
products, managing categories and brands, and
monitoring user activity.
Payment Processing: The application integrates
with payment gateways (like UPI) for reliable and
efficient payment handling.
Limitations:
The system currently supports only basic
payment gateways and may require additional
customization for other payment methods.
It does not include advanced features like AI-
based recommendations, multi-language
support, or cross-platform mobile applications.
Stock and inventory management is simplified
and may not cater to large-scale businesses.
Technology Used
The application is built using a combination of
modern web technologies:
Frontend:
o HTML and CSS for structure and styling of web
pages.
o JavaScript for interactivity and dynamic content.
Backend:
o PHP for server-side scripting and handling
business logic.
o MySQL for database management, storing user
data, product information, and transaction
details.
Integration:
o UPI for payment processing.
Admin and Customer Styles:
o Custom CSS styles to differentiate between
admin and customer interfaces.
Database:
o A relational database designed using SQL to
ensure data integrity and efficient querying
Problem Statement
The Problem:
In the digital age, traditional shopping methods can
be inconvenient, time-consuming, and limited in
terms of accessibility and variety. Small to medium-
sized businesses often struggle to compete with large
e-commerce platforms due to the lack of affordable,
customizable, and scalable online shopping solutions.
Customers, on the other hand, face challenges such
as:
Limited shopping options in their local area.
Difficulty comparing products and prices across
stores.
Inefficient checkout processes and lack of secure
payment methods.
For businesses, challenges include:
Manual management of products, inventory, and
customer data.
Difficulty in reaching a broader audience.
High costs associated with developing and
maintaining e-commerce platforms.
The Solution:
This web application addresses these issues by
providing a feature-rich online shopping platform that
bridges the gap between customers and businesses.
Why this solution is necessary:
For Customers:
o It offers a convenient platform to browse and
purchase products anytime, anywhere.
o Provides detailed product information, pricing
transparency, and secure payment methods.
o Reduces the hassle of physical shopping by
enabling home delivery or easy pickup options.
For Businesses:
o It equips small and medium-sized enterprises
with tools to manage their inventory, customer
interactions, and sales effectively.
o Expands the business's reach to online
customers, increasing visibility and potential
revenue.
o Offers an affordable and customizable solution
compared to building a platform from scratch.
Gap Filled:
This application fills a gap in the market by providing
an easy-to-use, scalable, and cost-effective e-
commerce platform tailored for small to medium-
sized businesses. It bridges the divide between offline
and online commerce, empowering businesses to
stay competitive while offering customers a seamless
shopping experience.
System Design and Architecture
User Registration/Login
The registration process allows new users to create
an account by providing details such as name, email,
password, and optional additional information like
phone number and address. Once registered, users
can log in using their email and password. Secure
password hashing ensures user credentials are stored
safely. Logged-in users can access personalized
features like managing their account, viewing order
history, and saving items in their cart.
Admin Dashboard
The admin dashboard is a centralized interface
exclusively accessible to administrators. Key features
include:
Product Management: Add, edit, or remove
Core Features
Search Functionality: Users can search for
Data Handling
Storage: All data is stored in a MySQL database,
Backend Development
PHP: PHP handles the server-side logic. It
processes requests, such as registering users,
logging them in, and managing their sessions.
PHP interacts with the MySQL database to store
and retrieve user data, product details, and order
information.
Database Interaction: The application uses
MySQL to store and manage data. This includes
tables for users, products, orders, and cart items.
PHP scripts handle querying the database,
inserting new data, and updating records.
Session Management: PHP sessions are used to
results.
Frontend (JavaScript):
Unit tests were written for the frontend to verify
JavaScript functions, such as adding products to
the shopping cart or handling form validation.
Testing tools like Jest or Mocha were used to
ensure these functions work as intended.
2. Integration Testing
Integration testing checks how different parts of the
application interact with each other and ensures they
work together as expected.
Frontend & Backend Interaction:
The communication between the frontend
(JavaScript) and the backend (PHP) was tested to
verify that when a user adds an item to the cart,
the frontend correctly sends data to the backend,
and the backend processes and stores the data in
the database. It also verifies that the backend
sends appropriate responses back to the frontend,
which then updates the cart or shows a
confirmation.
Database Interaction:
The integration between the backend and the
database was tested to ensure that data from the
frontend (such as user registration, product
details, and order information) is accurately
inserted into or updated in the database.
Additionally, the database queries that fetch or
process data (like product listings or order
processing) were tested to ensure they return
correct results.
3. User Testing
User testing is conducted to observe how real users
interact with the application and to identify any
usability issues or areas for improvement.
Usability Testing:
Usability testing was conducted with a group of
real users to evaluate the user interface (UI) and
user experience (UX). This testing focused on how
users navigated the site and performed key tasks
such as:
o Registering for an account.
o Logging in.
References
1. W3Schools – A widely used resource for quick
tutorials and references on HTML, CSS, JavaScript,
PHP, and more.
2. MDN Web Docs – Mozilla's comprehensive
documentation on web technologies such as
HTML, CSS, JavaScript, and APIs.
3. Bootstrap Documentation – Official
documentation for the Bootstrap framework, used
for creating responsive designs.
4. PHP Manual – The official PHP documentation, a
valuable resource for learning PHP functions,
syntax, and best practices.
5. YouTube Tutorials – Various YouTube channels
providing tutorials on web development topics,
including PHP, JavaScript, MySQL, and full-stack
development.