Main Pages
Main Pages
INTRODUCTION
The problem definition in “online shopping system” could focus on the challenges faced by
consumers and businesses in the traditional shopping model, the limitations of existing online
shopping platforms, or the need for an improved digital shopping experience.
The need of the hour is a robust and intuitive online shopping system that bridges the gap
between consumer expectations and the existing digital commerce landscape. There is a demand
for a platform that offers a comprehensive product catalog, secure transactions, efficient order
processing, and a user-centric interface accessible across various devices and browsers.
Addressing these challenges requires the development of an innovative and secure online
shopping solution that prioritizes user experience, security, and efficiency.
Our major project revolves around the creation of an Online Shopping Website developed using
Java, HTML, CSS, and JSP pages within the Eclipse Integrated Development Environment
(IDE). This project's core objective is to amalgamate Java's robust backend capabilities with the
interactive frontend dynamics of HTML, CSS, and JSP pages, all constructed within the Eclipse
IDE.
Page 1 of 48
Java forms the crux of the backend, orchestrating essential functionalities like secure user
authentication, efficient database management, transaction handling, and intricate business logic.
Its object-oriented nature provides a reliable and scalable framework for the entire e-commerce
platform.
The user interface is structured through HTML and CSS, offering a visually appealing layout,
while JSP pages within Eclipse add a dynamic layer by integrating Java code with HTML. This
amalgamation ensures a responsive and engaging user experience, allowing seamless interaction
within the online shopping platform.
By utilizing the Eclipse IDE, the project benefits from a feature-rich development environment,
aiding in coding, debugging, and deployment. Eclipse's adaptability with various server
environments allows for effective testing and deployment of the online shopping platform.
The ultimate aim of this project is to deliver a realistic online shopping experience,
encompassing features such as user accounts, product exploration, cart management, and secure
transactions. Through the integration of Java, HTML, CSS, and JSP pages within Eclipse, the
project exemplifies the fusion of diverse technologies to construct a dynamic, secure, and user-
centric ecommerce website
Specifications:
- Utilize HTML and CSS to design an engaging and responsive user interface.
- Implement JavaServer Pages (JSP) to enable dynamic content presentation and enhance user
interactivity.
- Java will power the backend operations, managing critical tasks such as user authentication,
product catalog management, cart handling, and database interactions
- Ensure seamless integration between frontend and backend functionalities for a cohesive user
experience.
Page 2 of 48
1.2.3. Database Management:
- Employ MySQL database to store and manage user data, product information, transactions,
and order processing.
- Implement robust data storage and retrieval mechanisms ensuring data integrity and efficient
access. (version of My SQL .5.5)
- User Authentication: Implement secure login and registration processes for users.
- Product Catalog: Display an organized and comprehensive list of products with search and
filtering options.
- Shopping Cart: Enable users to add, remove, and manage selected items in their cart.
-Secure Transactions: Integrate secure payment gateways to facilitate safe and reliable
transactions.
- Order Processing: Streamline order management, ensuring timely processing and completion.
- Implement robust encryption protocols and secure data storage mechanisms to protect user
information.
Page 3 of 48
- Employ stringent authentication processes to prevent unauthorized access.
- Utilize Tomcat live server for dynamic and real-time deployment, ensuring an interactive
and live environment for users.
- For larger-scale deployments expecting higher traffic, a more powerful multi-core processor
(e.g., Intel Xeon) might be necessary to handle concurrent user requests efficiently.
- For larger deployments or when handling significant traffic, consider 16GB or more to ensure
smooth performance, especially with database interactions and concurrent user sessions.
- Adequate storage is necessary to manage the operating system, development tools, project
files, and database storage.
Page 4 of 48
- For production environments, consider scalable storage options based on the anticipated data
volume and growth.
- A stable internet connection is essential for accessing external resources, deploying the
application, and managing database interactions.
- For production deployments, consider a reliable and high-speed internet connection to handle
incoming user traffic effectively.
- A standard graphics card and display are sufficient for development purposes.
- For server environments, remote access tools or headless operation may be used without a
need for a dedicated display.
- The project can be developed and deployed on various operating systems including Windows,
macOS, or Linux distributions supported by the Eclipse IDE and Tomcat server.
- Eclipse IDE: Eclipse offers comprehensive support for Java development and JSP page
integration. Ensure the IDE is installed with the necessary plugins for web development.
Page 5 of 48
- Java Development Kit (JDK): Required for Java development.
- HTML Editor: Consider using editors like Visual Studio Code, Sublime Text, or Eclipse itself
for HTML coding.
- CSS Editor :A tool or plugin for CSS development, such as Atom or Brackets.
- Database Management System: MySQL, or other relational databases to store and manage
website data.
1.4.3. WebServer:
- Apache Tomcat: Essential for running JSP and Java-based web applications.
Page 6 of 48
CHAPTER-2
LITERATURE REVIEW
Although the issue of security remains the primary reason why more people do not purchase
items online, the GVA survey also indicates that faith in the security of ecommerce is increasing.
As more people gain confidence in current encryption technologies, more and more users can be
expected to frequently purchase items online.
A good e-commerce site should present the following factors to the customers for better
usability:
-Knowing when an item was saved or not saved in the shopping cart.
-Returning to different parts of the site after adding an item to the shopping cart.
-Simple navigation from home page to information and order links for specific products.
Another important factor in the design of an e-commerce site is feedback. The interactive cycle
between a user and a web site is not complete until the web site responds to a command entered
by the user. According to Norman, "feedback--sending back to the user information about what
action has actually been done, what result has been accomplished--is a well-known concept in
the science of control and information theory. Imagine trying to talk to someone when you
cannot even hear your own voice, or trying to draw a picture with a pencil that leaves no mark:
there would be no feedback".
Web site feedback often consists of a change in the visual or verbal information presented to the
user. Simple examples include highlighting a selection made by the user or filling a field on a
form based on a user's selection from a pull-down list. Another example is using the sound of a
cash register to confirm that a product has been added to an electronic shopping cart. Completed
orders should be acknowledged quickly. This may be done with anacknowledgment or fulfilment
page. The amount of time it takes to generate and download this page, however, is a source of
irritation for many e-commerce users. Users are quick to attribute meaning to events. A blank
page, or what a user perceives to be "a long time" to receive an acknowledgment, may be
interpreted as "there must be something wrong with the order." If generating an acknowledgment
may take longer than what may be reasonably expected by the user, then the design should
include intermediate feedback to the user indicating the progress being made toward
acknowledgment or fulfilment.
Finally, feedback should not distract the user. Actions and reactions made by the web site should
be meaningful. Feedback should not draw the user's attention away from the important tasks of
gathering information, selecting products, and placing orders.
Page 8 of 48
2.1 EXISTING SYSTEM: The existing system in the context of an online shopping
website refers to any pre-existing platforms, frameworks, or systems currently in place within the
domain of online shopping or e-commerce.
- Identify popular e-commerce platforms like Amazon, eBay, Shopify, or others that serve as
benchmarks in the industry.
Technological Stack:
- Explore the technology stack used in existing systems, such as programming languages,
databases, frameworks, and servers.
- Assess how they integrate and function together to deliver a seamless shopping experience.
- Study the user interface (UI) and user experience (UX) elements in established online
shopping platforms.
- List and analyze key features offered by existing platforms, including product categorization,
search algorithms, recommendation systems, reviews, payment methods, and order tracking.
Security Measures:
- Investigate the security measures implemented in these systems, such as data encryption,
secure payment gateways, user authentication, and protection against cyber threats.
- Examine how existing systems handle scalability challenges and manage high volumes of
traffic during peak periods.
Page 9 of 48
- Assess performance metrics like loading times, server response, and overall system
robustness.
- Understand the business models adopted by successful platforms, including revenue models,
promotional strategies, loyalty programs, and customer engagement techniques.
- Explore how existing systems comply with data protection laws (GDPR, CCPA) and address
user privacy concerns.
- Analyze customer support mechanisms like chatbots, help centers, or customer service
responsiveness in existing platforms.
- Look into how existing systems gather and incorporate user feedback for continuous
improvement and innovation.
- Describe the need for the proposed system, highlighting shortcomings or areas for
improvement in the existing system.
Page 10 of 48
- Detail improvements in UI/UX design for better navigation, intuitive interfaces, and
streamlined user journeys.
- Introduce features to personalize user experiences, such as recommended products and user-
specific promotions.
- Discuss features like filters, sorting options, and better product descriptions.
- Outline plans for an optimized shopping cart system with clear visibility of items, easy
modifications, and a seamless checkout process.
- Introduce features to minimize cart abandonment, such as guest checkout options or one-click
purchase.
- Detail strategies for ensuring secure transactions and protecting user data.
- Discuss plans for scalability to handle increased user traffic during peak times without
compromising system performance.
- Outline optimizations for faster loading times, server response, and overall system reliability.
Page 11 of 48
- Detail plans for improved customer support mechanisms, including live chat, AI-powered
assistance, or dedicated support channels.
Technical Aspects:
- Explain the database design enhancements for improved data management, integrity, and
performance.
- Propose the integration of emerging technologies (AI, machine learning, IoT) for
personalized experiences, predictive analytics, or enhanced security.
Technical Feasibility:
- Evaluate the availability and suitability of technologies (HTML, CSS, Java, MySQL, JSP) for
building the online shopping system.
Page 12 of 48
Development Tools and Resources:
- Determine the availability of development tools (e.g., Eclipse IDE) and necessary resources
(skilled developers, hosting infrastructure) to support the project.
- Assess the feasibility of integrating different components (frontend, backend, database) for
seamless compatibility and functionality.
Economic Feasibility
Cost-Benefit Analysis:
Resource Allocation:
- Evaluate the availability of financial resources, manpower, and time required for the project.
Operational Feasibility:
- Assess the willingness of users (customers, administrators) to adapt to the new system.
- Evaluate how well the proposed system aligns with existing business processes or if changes
are necessary.
Page 13 of 48
- Consider the impact on operational efficiency and workflow management.
- Evaluate the system's compliance with data protection laws (GDPR, CCPA) and e-commerce
regulations.
- Ensure adherence to legal standards in handling user data, transactions, and consumer rights.
Schedule Feasibility
- Consider potential delays, dependencies, and strategies to manage the project timeline
effectively.
Page 14 of 48
CHAPTER-3
- User Management:
- Product Management:
- Catalog management: Add, edit, delete products with details (name, description, price,
images).
- Allow users to add/remove items to/from cart, view cart contents, and proceed to secure
checkout.
Page 15 of 48
- Order history and tracking functionalities for users.
- Email notifications for order confirmations, status updates, and delivery information.
- Performance:
- Security:
- Usability:
- Reliability:
- Technology Stack:
Page 16 of 48
- Specify the use of HTML, CSS, Java (with JSP), MySQL 5.5, and Tomcat live server within
the Eclipse IDE.
- Regulatory Compliance:
- Ensure compliance with data protection regulations (GDPR, CCPA) and standards for
secure handling of user data.
- List any assumptions made during requirement gathering and potential risks associated with
the project's implementation.
- Detailed use case descriptions and scenarios illustrating system functionalities and
interactions for various user roles.
- Define criteria for each requirement to be considered successfully implemented and accepted
by stakeholders.
Page 17 of 48
3.2 FLOW CHARTS:
An online shopping app or system is the same or half-alike an e-commerce website. It works the
same also as other e-commerce platforms. However, there are some differences such as in
customer or user experience.
One of the methods used for online shopping system development is the DFD (data flow
diagram). It represents the system’s major processes and alternatives that generate the internal
flow of data. Additionally, the data was properly categorized to illustrate the online shopping
system structure.
Take Note: DFD is not part of the Online Shopping System UML Diagrams, but they
complement each other in explaining the project activities, behaviors, interactions, and structure.
Furthermore, the DFD levels were used to discuss the system’s data flow. These levels have their
part in expounding the system’s data flow structure details. It is then applied in creating Online
Shopping System ER Diagram.
Data flow diagrams not only describe the flow of data but also denote the steps involved in
transferring data from one process to another. As a result, the data was transformed from input to
output.
Page 18 of 48
DFD Level 0 Online Shopping System:
The context diagram is an alternative name for the Level 0 DFD Diagram for Online Shopping
System. Users, the main process, and data flow make up its parts. Also, the project concept is
demonstrated using the single process visualization.
DFD Level 0 shows the entities that interact with a system and defines the border between the
system and its environment. This diagram also depicts the online shopping system at a high
level.
The illustration presents the main process in a single node to introduce the project context. This
context explains how the project works in just one look. The user feeds data into the system and
then receives the output from it.
Page 19 of 48
In addition to this, you will perceive through the diagram that there is already the presence of
data flow. Though the process is very general, the flow of data is clear. Nevertheless, just modify
this diagram to meet the other requirements and include other matters regarding shopping
management.
The “detonated view” of the context diagram is the DFD Level 1. Its function is to deepen the
concept derived from the context diagram. Specifically, level 1 shows the broader details of
Level 0. This is to clarify the paths (flow) of data and its transformation from input to output.
Page 20 of 48
The designed diagram portrays four different scenarios: managing purchasing information,
product monitoring, tracing transactions, and managing payment and deliveries.
Page 21 of 48
3.2.2 Entity Relationship Diagram:
The ER Diagram is referred to as the online shopping system’s database design. Both the ER
diagram and the database design illustrate the relationships between all the system’s entities. Its
major components are entities, attributes, and relationships.
(Fig 4)
Page 22 of 48
Based on the image above, the Entity Relationship Diagram for the online shopping system is
presented in tables. The tables include products, categories, sellers, customers, shopping orders,
payments, deliveries, and transaction reports.
This ONLINE SHOPPING SYSTEM UML Sequence Diagram shows a detailed illustration of
the sequence of events happening in the Online Shopping System. This designed sequence
diagram can show programmers and readers the sequence of messages between the actor and the
objects.
(Fig 5)
Page 23 of 48
Sequence diagrams help in understanding the flow of processes, the order of execution, and the
interaction patterns within a system or between its components.
The Online Shopping System Activity Diagram will give you the scenarios of exchanging
activities between the users and the system. The activity diagram has symbols just like actors,
and arrows which will help you understand the workflow of the online shopping management
system.
(Fig 6)
Activity diagrams are used to model business processes, workflows, software behaviors, or
complex procedures. They provide a visual representation that helps stakeholders understand the
Page 24 of 48
sequence of operations and the control flow within a system, aiding in system analysis, design,
and communication among project team members.
A component diagram is a type of UML (Unified Modeling Language) diagram used to illustrate
the structural organization of a system, showcasing the various components or building blocks
and their relationships within the system.
Page 25 of 48
(Fig 7)
Component diagrams are valuable for visualizing the high-level architecture of a system,
emphasizing the structural composition and relationships among components. They assist in
understanding the modular structure of a system, aiding in system design, development, and
maintenance. These diagrams help stakeholders comprehend how various components
collaborate and communicate to achieve the system's functionalities.
A use case diagram is a visual representation within the Unified Modeling Language (UML) that
illustrates the interactions between users (actors) and a system. It focuses on depicting the
functionalities or behaviors a system provides to its users.
Page 26 of 48
(Fig 8)
Use case diagrams are a fundamental tool in systems analysis and software development, aiding
in the understanding, design, and communication of system functionalities and interactions.
The Deployment Diagram for Project (Online Shopping System) is one of the UML models used
to visualize the deployment of the Online Shopping System architecture. It contains elements
such as hardware, software, and the middleware that connects them. UML Deployment
Diagram presents the system’s needs for hardware and software.
Page 27 of 48
(Fig 9)
Page 28 of 48
3.3 DESIGN AND TETS STEP CRITERIA:
DATABASE DESIGN:
Database design for a Project (online shopping system) using MySQL 5.5 involves structuring
the database to efficiently store, manage, and retrieve data related to users, products, orders, and
transactions. Here's a guideline for designing the database:
Page 29 of 48
Page 30 of 48
Entity-Relationship Diagram (ERD):
Page 31 of 48
1. User Entities:
- User Table: Store user details (ID, username, password, email, address, etc.).
- Role Table: Define user roles (customer, admin) and their associations.
2. Product Entities:
- Product Table: Store product information (ID, name, description, price, category, etc.).
3. Order Entities:
- Order Table: Record order details (ID, date, customer ID, status, total price, etc.).
- Order Items Table: Capture individual items in an order (order ID, product ID, quantity,
price, etc.).
4. Other Entities:
-Cart Table: Temporary storage for items added by users before checkout (user ID, product
ID, quantity, etc.).
- Payment Table: Store payment details for completed orders (order ID, payment method,
transaction ID, etc.).
Key Considerations:
1. Normalization:
- Organize tables to eliminate redundancy and ensure data integrity using normalization
techniques (1NF, 2NF, 3NF).
- Avoid data duplication and maintain consistency by splitting data into related tables.
- Use primary keys to uniquely identify records within tables (e.g., User ID, Product ID).
Page 32 of 48
- Define foreign keys to establish relationships between tables (e.g., Customer ID in Orders
table relates to User ID).
3. Data Integrity:
- Enforce referential integrity to ensure that relationships between tables are maintained.
- Choose appropriate data types (VARCHAR, INT, DECIMAL, DATE, etc.) based on the
nature of the data to optimize storage and retrieval.
Page 33 of 48
3.4 ALGORITHM & PSEUDO CODES:
Page 34 of 48
3.5 TESTING PROCESS:
The testing process for your online shopping system website involves systematically evaluating
its functionalities, identifying and fixing issues, and ensuring that it meets the specified
requirements. Here's a general testing process you can follow:
Requirements Analysis:
Test Planning:
- Develop a comprehensive test plan that outlines the testing objectives, scope, resources,
schedule, and testing methodologies to be employed.
Unit Testing:
- Conduct unit testing on individual components of the system, such as modules, functions, or
classes, to ensure they operate as intended.
Integration Testing:
- Verify that integrated components interact correctly. Test the interactions between different
modules to identify any issues arising from their combination.
System Testing:
- Test the complete system to ensure that it meets the specified requirements. This includes
testing functionalities, user interfaces, security measures, and overall system behavior.
Page 35 of 48
Functional Testing:
- Verify that each function of the online shopping system works according to the requirements.
This includes testing features like user registration, product search, shopping cart management,
and secure checkout.
Usability Testing:
- Evaluate the user interface for ease of use, intuitiveness, and overall user experience. Ensure
that users can navigate through the website with minimal confusion.
Performance Testing:
- Assess the system's performance under different conditions, including various user loads.
Check response times, server load handling, and overall system scalability.
Security Testing:
- Perform security testing to identify and address vulnerabilities. This includes checking for
secure data transmission, protection against common security threats, and proper user
authentication mechanisms.
Compatibility Testing:
- Ensure that the online shopping system works seamlessly across different browsers, devices,
and operating systems.
Regression Testing:
- Conduct regression testing after each modification to ensure that new changes do not
negatively impact existing functionalities.
Page 36 of 48
User Acceptance Testing (UAT):
- Involve end-users or stakeholders in the testing process to validate that the system meets
their expectations and requirements.
- Document and prioritize any identified issues. Work with the development team to address
and fix bugs promptly.
Documentation:
- Maintain comprehensive documentation of the testing process, including test cases, results,
and any changes made to the system.
Deployment Testing:
- Verify the deployment process to ensure a smooth transition from the testing environment to
the production environment.
Page 37 of 48
CHAPTER-4
RESULT/OUTPUT
-Result:
-Output:
- Registration Confirmation.
Product Catalog:
-Result:
Page 38 of 48
- No Products Found (if the catalog is empty or no matches).
-Output:
Shopping Cart:
-Result:
-Output:
Page 39 of 48
- "Error: Product out of stock. Please choose a different quantity."
-Result:
-Output:
- Order Confirmation.
- "Error: Insufficient stock for item 'Product ABC'. Please update your quantity."
User Account:
-Result:
-Output:
Page 40 of 48
- Updated User Profile.
- "Error: Incorrect password. Please enter the correct password to update your profile."
Error Handling:
-Result:
-Output:
- "An unexpected error occurred. Our team has been notified. Please try again later."
Page 41 of 48
Each interaction within the online shopping system should provide informative and user-friendly
results and outputs. Clear messaging ensures users understand the outcome of their actions and
helps troubleshoot any issues that may arise during their online shopping experience.
Page 42 of 48
Home page
Page 43 of 48
Page 44 of 48
Contact Form
Page 45 of 48
Cart page
Page 46 of 48
CHAPTER-5
CONCLUSION
The Internet has become a major resource in modern business, thus electronic shopping has
gained significance not only from the entrepreneur's but also from the customer's point of view.
For the entrepreneur, electronic shopping generates new business opportunities and for the
customer, it makes comparative shopping possible. As per a survey, most consumers of online
stores are impulsive and usually make a decision to stay on a site within the first few seconds.
"Website design is like a shop interior. If the shop looks poor or like hundreds of other shops the
customer is most likely to skip to the other site". Hence, we have designed the project to provide
the user with easy navigation, retrieval of data and necessary feedback as much as possible.
In this project, the user is provided with an e-commerce web site that can be used to buy
handicrafts online. To implement this as a web application we used JSP, servlet and java as the
Technology. JSP has several advantages such as enhanced performance, scalability, built- in
security and simplicity. To build any web application using JSP we need Java programming
language. Java was the language used to build the backend processing system of this application.
For the client browser to connect to the servlet engine we used Apache tomcat server as the Web
Server. Java servlet uses java DAO layer and java beans to interact with the database as it
provides in-memory caching that eliminates the need to contact the database server frequently
and it can easily deploy and maintain a java application. MySQL was used as back-end database
since it is one of the most popular open-source databases, and it provides fast data access, easy
installation and simplicity.
A good shopping cart design must be accompanied with user-friendly shopping cart application
logic. It should be convenient for the customer to view the contents of their cart and to be able to
remove or add items to their cart. The shopping cart application described in this project provides
a number of features that are designed to make the customer more comfortable.
This project helps in understanding the creation of an interactive web page and the technologies
used to implement it. The design of the project which includes Data Model and Process Model
illustrates how the database is built with different tables, how the data is accessed and processed
from the tables. The building of the project has given me a precise knowledge about how JSP is
used to develop a website, how it connects to the database to access the data and how the data
and web pages are modified to provide the user with a shopping cart application.
Page 47 of 48
REFERENCE
1. Books:
2. Academic Journals:
- Explore academic journals related to web development, Java technologies, and user
experience design.
3. Online Articles:
- Articles from reputable websites, such as TechCrunch, Smashing Magazine, and A List
Apart, that discuss web development trends and best practices.
4. Official Documentation:
5. Online Courses:
- Online courses and tutorials from platforms like YouTube, Coursera, edX, and Udemy can
provide valuable insights and practical knowledge.
Page 48 of 48