CLG Report Ecommerce
CLG Report Ecommerce
In
Submitted by
[Supervisior Name ]
Philosophy in Computer Science & Engineering. Neither this project nor any
part has been submitted for any degree or academic award elsewhere.
Jyotiranjan Sahoo
Designation of the Supervisor,
Bhubaneswar
ACKNOWLEDGEMENT
guidance and constant encouragement, immense support and help during the
project work.
The project focuses on creating a user-friendly platform that seamlessly integrates various electronic
products, catering to the evolving needs of tech-savvy consumers. Emphasizing a responsive design,
secure payment gateways, and robust inventory management, the website aims to provide a
streamlined and enjoyable shopping experience. Through strategic implementation of features such
as detailed product descriptions, customer reviews, and personalized recommendations, the platform
seeks to enhance user engagement and satisfaction. The report also delves into the challenges faced
during development and discusses potential future enhancements to ensure the website remains
E-commerce is fast gaining ground as an accepted and used business paradigm. More and
more business houses are implementing web sites providing functionality for performing
commercial transactions over the web. It is reasonable to say that the process of shopping on
The objective of this project is to develop a general-purpose e-commerce store where any
product (such as computers, mobile phones, electronic items, and home appliances) can be
bought from the comfort of home through the Internet. However, for implementation
An online store is a virtual store on the Internet where customers can browse the catalog and
select products of interest. The selected items may be collected in a shopping cart. At checkout
time, the items in the shopping cart will be presented as an order. At that time, more
Usually, the customer will be asked to fill or select a billing address, a shipping address, a
shipping option, and payment information such as credit card number. An e- mail notification
1
1.2 Project category
1. Website Development:
- Designing and creating the user interface (UI) and user experience (UX) of the website.
mobile).
2. Backend Development:
- Creating a database to store product information, user data, and transaction details.
processing.
3. Payment Integration:
- Ensuring compliance with industry standards for handling sensitive financial information.
4. Product Management:
- Building a system for adding, updating, and removing products from the inventory.
5. User Authentication:
- Allowing users to manage their profiles, track orders, and view order history.
6. Order Processing:
2
- Developing a smooth checkout process, including cart management
1.3 Objective
• Enhanced User Experience: Develop features that enhance the overall shopping
personalized recommendations.
• User Reviews and Ratings: Implement a feedback system to allow users to review
The traditional shopping for electronic devices involves physical stores, limiting accessibility
and convenience. Customers often face challenges in finding specific products, comparing
prices, and obtaining detailed information about the latest gadgets. This project aims to
address these issues by providing a centralized platform for electronic device enthusiasts.
3
1.5 Identification/Reorganization of Need:
The need for a specialized e-commerce platform for electronic devices arises from the
growing demand for convenient online shopping experiences. Users require a dedicated space
where they can explore a wide range of electronic products, make informed decisions, and
Currently, electronic devices are sold through various online marketplaces, but there is a lack
of focus on creating a dedicated platform for this niche. The existing systems may not offer
specific features tailored to the needs of electronic device shoppers, such as detailed product
The proposed system is an e-commerce platform designed exclusively for electronic devices.
It will provide a user-friendly interface, real-time inventory updates, secure payment options,
and a comprehensive vendor management system. The platform will be optimized for
4
1.8 Unique Features of the System:
• Expert Reviews and Guides: Provide expert reviews and guides to help users
• Exclusive Deals and Offers: Offer exclusive deals and discounts to registered users,
By combining these unique features, the proposed system aims to create a specialized and efficient
platform for electronic device enthusiasts, catering to their specific needs in the online shopping
space.
5
Chapter 2
Feasibility study for our e-commerce project involves a systematic process to evaluate its
Determine whether our team has the necessary expertise to implement the feature and
an intelligent task prioritization system. The scope includes the integration of the AI-
based feature within the existing software, as well as any necessary training for users
Collecting data on competitors who may already be offering similar features and
- Define the data model for the electronic devices catalog, user profiles, order history,
6
2.2.2 Functional Requirement
By conducting the requirements analysis we listed out the requirements that are useful
- Order Management
• A customer should easily find the right product for them, understand what
• No multistep checkout: users must reach the “add to cart” button in one step
from PDP.
- Response time for user interactions (e.g., page loading, search queries).
Here are some key dependability requirements for our e-commerce website:
7
1. Availability:
- This website should be available and accessible to users 24/7, with minimal
downtime.
2. Reliability:
3. Performance:
- Optimize website performance to provide fast loading times for pages and
transactions.
- Conduct load testing to assess the website's ability to handle peak traffic without
degradation in performance.
4. Scalability:
5. Data Integrity:
transactions.
- Use encryption for sensitive data such as customer information and payment
details.
6. Security:
- Regularly back up critical data and implement a reliable data recovery plan.
- Test backup and recovery processes to ensure they can be quickly and effectively
8
2.2.5 Maintainability Requirement
reusable components.
- Adopt a consistent coding style and documentation to enhance readability and ease
of understanding.
2. Version Control:
environments.
3. Automated Testing:
4. Scalability:
- Design the architecture with scalability in mind to handle increased traffic and data
volume.
accordingly.
5. Documentation:
9
- Maintain up-to-date documentation for the entire system, including codebase,
6. Security Updates:
dependencies.
security breaches.
- Collect and analyse user feedback to identify pain points and areas for
improvement.
- Utilize analytics to track user behaviour, assess feature usage, and guide decision-
2.3. Validation
Use the Agile development model to iteratively develop and enhance the e-commerce
platform. This allows for continuous feedback, adaptation to changing requirements, and
In the dynamic landscape of e-commerce, the success of a website is contingent on its ability
to adapt swiftly to changing market trends and user preferences. The Software Development
Life Cycle (SDLC) plays a pivotal role in shaping the efficiency and effectiveness of the
development process. This report delves into the significance of integrating the Agile
11
Development Model within the SDLC framework for the development of an e-commerce
website.
for projects with evolving requirements, making it an ideal choice for the ever-evolving and
continuous customer involvement throughout the development process, ensuring that the final
even late in the development process, allowing e-commerce websites to quickly adapt to
3. Individuals and Interactions over Processes and Tools: Agile values communication and
environment.
important, Agile prioritizes delivering a functional product, providing tangible value to end-
users.
1. Quick Adaptation to Market Changes: The iterative nature of Agile allows developers to
respond rapidly to market changes, ensuring the website remains competitive and relevant.
12
2. Continuous Improvement: Regular feedback loops enable continuous improvement,
leading to a website that is not only functional but also refined based on user experiences and
preferences.
4. Reduced Time to Market: The incremental development approach of Agile allows for the
release of minimum viable products (MVPs) sooner, enabling a quicker time to market for e-
commerce websites.
13
Chapter 3
System Design
The design approach for this e-commerce platform will be Function-Oriented. This approach
is suitable for handling the complex relationships and interactions between various entities in
an e-commerce system.
Our primary goal is to improve quality and reduce the risk of system failure.
Data Flow Diagrams show the flow of data from external entities into the system,
and from one process to another within the system. There are four symbols for
drawing a DFD:
data.
II. Ellipses representing processes, which take data as input, validate and process it
Ⅲ. Arrows representing the data flows, which can either, be electronic data or
physical items.
14
IV. Open-ended rectangles or a Disk symbol representing data stores, including
electronic stores such as databases or XML files and physical stores such as filing
Figures below are the Data Flow Diagrams for the current system. Each process within
the system is first shown as a Context Level DFD and later as a Detailed DFD. The
Context Level DFD provides a conceptual view of the process and its surrounding
input, output and data stores. The Detailed DFD provides a more detailed and
comprehensive view of the interaction among the sub-processes within the system.
Fig 1
15
Fig 2
Fig 3
16
• Level 2 DFD: Provides detailed data flow within each process.
Fig 4
Fig 5
17
3.2.2 Data Dictionary:
Table 1
Foreign Key
Table 2
18
• Shopping cart table- this table contains the information of shopping cart of customer
Table 3
Not Null
Table 4
ID of Payment given to
ID of product selected by
• Product table- this table contains the information of product selected by customer
Table 5
Not Null/ Primary key Product_ID INT 10 Unique number of product in the cart
19
Not Null Product Price INT 20 Price of the product
Table 6
Not Null/Foreign
• Product in cart – this is an associate entity for Product and Shopping cart table
Table 7
Structure charts are used to graphically model the relationship between modules within a
system. Through the use of a hierarchical format, the sequence of processes along with the
movement of data and control parameters can be mapped for interpretation. The control
structures of sequence, selection and iteration (repetition) can all be represented within a
20
Fig 6 Structured Chart
3.2.4 Flowcharts:
seamlessly with the ecommerce platform, allowing users to explore, add recommended
products to the cart, and proceed to checkout. This dynamic and personalised approach
enhances the overall user experience, aligning with our commitment to providing tailored
21
Fig 7 Flow Chart
22
3.3 User Interface Design
The user interface will be designed to provide an intuitive and seamless experience for users.
• Home Page
• Sign Up Page
User-friendly signup for easy access! and existing users can effortlessly log in for a
seamless experience.
23
3.4 Database Design
Databases are vital tools for storing, managing, and retrieving information. They are also critical for
building an e-commerce system. A well-structured database powers e-commerce and manages all the
User management:
We have created a user table that contains all the user details along with user_payment and
user_address tables to store multiple addresses and payment details of users. This structure offers
Fig 10
Product management
Managing products is not simply about maintaining a list of products. You also have to manage the
inventory, discounts, categories, and other attributes of the products. So always focus on simplifying
24
3.5 ER Diagrams
Our ecommerce website's ER diagram depicts key entities (User, Product, Order, Payment,
Address) and their relationships. It clarifies connections: user to registration, product to orders,
and payments to transactions. These concise visual aids understanding of the interconnected
Fig 11 ER Diagram
25
3.6 Normalization
Normalization will be applied to ensure data integrity and minimize redundancy in the database.
Fig 12 Normalization
Database manipulation for our ecommerce website involves the efficient handling and modification
Database operations will be performed using SQL queries. CRUD (Create, Read, Update, Delete)
operations will be implemented for entities like User, Product, Order, and Payment.
26
• Create
The first operation in PHP CRUD Operations, Create, is responsible for creating tables or new
records into an existing table. To do that, first, you must write the code for the webpage to
To create the data, we need the content that is going to be inserted in the database using
the following operation:
• Read
The second operation, just as the name suggests, ‘Read’ is used to display or read the data that
To perform the operation, you need to create a page that displays the records from the table:
• Update
The third operation i.e, ‘update’ is used to change or modify the already existing data present
in the database.
To do this, you need to create another page to update the details in the database.
27
• Delete
The last operation of CRUD is Delete and just as the name suggests, it is used to delete an
To perform this operation, you must create a page that would let you choose the data entry
Now to connect our script to the MySQL databases we are using MySQLi extension.
MySQLi: MySQLi is an open-source relational database management system that is used on the web.
This database system is reliable for both small and large applications.
28
Using MySQLi: We need to create 3 variables for $servername, $username and $password. Now we
<?php
$servername = "localhost";
$username = "root";
$password = "";
// Create a connection
if (!$conn){
else{
?>
will connect to the server using mysqli_connect.
We have used Strings to store and display product information, including names, descriptions, and
specifications.
29
Used consistent and clear string formatting for product details to ensure a professional and user-
friendly presentation.
query GetProducts {
products(
name_contains: "${search_item}" } ]
}) {
name
} } }
Search Functionality:
We have used String matching algorithms that is crucial for effective search functionality.
Implementing techniques like fuzzy matching or partial string matching can enhance the search
Strings obtained from user inputs (e.g., search queries, form submissions) should be validated and
30
Chapter 4
Languages: The primary language used for development is JavaScript, PHP and GraphQl, along
designed for server-side development. Here are some key points about PHP:
[Link]-Side Execution:
• It processes requests, generates dynamic content, and returns the result as plain HTML to
the client.
[Link]:
• PHP files can contain a mix of text, HTML, CSS, JavaScript, and PHP code.
• You’re not limited to outputting just HTML; you can also generate images, PDF files, and
other formats.
• Database Interaction: PHP can create, read, update, and delete data in databases (e.g.,
MySQL, MongoDB).
31
• Form Handling: It collects form data submitted by users.
• Cookies: PHP can send and receive cookies for session management.
• User Access Control: It’s used to control user access to specific parts of a website.
• Platform Compatibility: PHP runs on various platforms (Windows, Linux, Unix, macOS).
• Server Compatibility: It works with most web servers (e.g., Apache, IIS).
JavaScript
JavaScript is a powerful language that allows you to create dynamic and interactive web
experiences. Here’s how you can leverage it for your online store:
[Link]-Side Interactivity:
• Product Filtering and Sorting: Use JavaScript to enable users to filter products based on
• Product Image Zoom: Implement image zoom functionality when users hover over
product images.
• Add to Cart: Create an interactive “Add to Cart” button that updates the cart count
dynamically.
• User Reviews and Ratings: Allow users to rate products and display average ratings using
JavaScript.
[Link] Validation:
32
• Checkout Form: Validate user input in the checkout form (e.g., valid email addresses,
required fields).
• Credit Card Validation: Use JavaScript to validate credit card numbers and expiration
dates.
• Lazy Loading Images: Load product images only when they come into the user’s viewport
• Infinite Scroll: Load additional products as the user scrolls down the page.
• Smooth Animations: Add subtle animations (e.g., fade-in effects, slide transitions) to
behaviour.
• Updating Cart Totals: Dynamically calculate and update cart totals when users add or
remove items.
• Login and Registration: Create a seamless login and registration process using JavaScript.
• Client-Side Encryption: Encrypt sensitive data (e.g., passwords) before sending it to the
server.
33
[Link]-Party Integrations:
• Payment Gateways: Integrate payment gateways (e.g., PayPal, Stripe) using JavaScript
SDKs.
• Analytics: Implement tracking and analytics (e.g., Google Analytics) to monitor user
behaviour.
GraphQL
GraphQL is an open-source data query language for APIs. It provides a flexible and efficient way
to manage data by allowing clients to request exactly the data they need in a single query. Here
1. Flexible Queries:
• Unlike REST, where multiple endpoints are needed, GraphQL uses a single endpoint for
2. Strongly Typed-
• GraphQL schemas define clear data structures and types, reducing runtime errors.
• Types include scalar types (e.g., integers, strings) and object types (complex objects with
fields).
3. Real-time Updates:
4. Example:
34
• Suppose you're building a blog application. In REST, you'd make separate requests for a
query {
blogPost(id: 123) {
title
content
author {
name
• This reduces network overhead and provides exactly the needed data.
GraphQL is versatile and efficient, making it a powerful choice for modern APIs.
Visual Studio Code (VS Code) is an open-source code editor created by Microsoft. It’s
available for Windows, Linux, and macOS. Here are some key features and reasons why
35
• VS Code is lightweight, yet it packs a punch. It provides essential features without
overwhelming you.
• You can install additional extensions to enhance language support for specific
frameworks or tools.
o The user interface is clean and straightforward. It consists of several key areas:
• SideBar: Provides views like the Explorer (for files and folders), Git integration,
and extensions.
• Status Bar: Displays information about the current project and files.
• Activity Bar: Allows you to switch between different views (e.g., Explorer, Source
Control, Extensions).
o VS Code remembers your layout and settings, so it opens in the same state where you
left off.
• VS Code’s power lies in its extensions. You can install extensions for themes,
• The integrated terminal allows you to run commands directly within VS Code.
36
• Debugging tools are built-in, making it easy to set breakpoints, inspect variables,
6. Git Integration:
• VS Code seamlessly integrates with Git. You can commit, push, and pull changes
7. Extensions Marketplace:
• Popular extensions include Live Server (for web development), Python, ESLint,
and GitLens.
Getting Started
1. Installation:
2. Basic Setup:
• Familiarize yourself with the user interface (Editor, SideBar, Status Bar, Activity
Bar, Panels).
3. Extensions:
• Explore the Extensions view (click on the square icon on the left sidebar).
4. Writing Code:
• Use keyboard shortcuts (Ctrl/Cmd + S for saving, Ctrl/Cmd + P for quick file
search).
37
4.3 Introduction to Tools and Technologies
In This phase we are using software development process that involves adopting and
integrating a software application into our website systems and workflows. Here are some
React (JavaScript): React (also known as [Link]) is a popular JavaScript library for building
user interfaces (UIs) on the web. Developed by Facebook, React allows developers to create
dynamic and interactive web applications. Here are the key points about React:
• Component-Based Architecture:
o Each component can have its own state and props (input data).
o When changes occur, React efficiently updates only the necessary parts of the
DOM.
o Example:
React is widely used in modern web development, and its component-based approach
simplifies UI development.
Laravel (PHP): Laravel is an open-source PHP web application framework known for its
o It provides powerful features like Eloquent ORM (for database interaction) and
• Example:
o Let’s say you’re building a blog application. Here’s a simple example using
Laravel:
▪ Create a BlogPost model with fields like title, content, and author.
posts.
Laravel is widely used in industry, and mastering it equips developers with valuable skills for
• What is MySQL?
o MySQL follows the relational database model, allowing users to organize data
39
▪ Use relevant data types for columns (e.g., INT for integers, VARCHAR
necessary size.
Version Control:
40
Git is a widely used version control system (VCS) that helps developers manage code changes,
collaborate, and track project history. Here’s a brief explanation along with an example:
1. What is Git?
2. Example:
▪ Make changes, commit them: git add . and git commit -m "Add new
feature".
Build Tools
Npm(JavaScript): npm (Node Package Manager) is a widely used package manager for
JavaScript.
1. What is npm?
packages.
2. Key Points:
41
o Packages: npm hosts thousands of open-source packages that enhance
functionality, such as Express (for web servers) or lodash (for utility functions).
We are developing an e-commerce website using [Link], we are basically following best
coding standards to ensure that our codes are clean, maintainable, and efficient.
2. Styling:
components.
o We have Set up ESLint within our project with appropriate rules for React
42
problems. It is built into most text editors and you can run ESLint as part
o We are using tool Prettier for auto format our code. Because Prettier
removes all original styling and reprints your code from scratch,
lifecycle methods.
5. Routing:
o We have defined routes for different pages (e.g., product listing, product details,
cart, checkout).
parameters.
o We also handling loading, error, and success states when fetching data.
items {
id
name
icons {
url
} } } `;
43
const results = await request("<apiLink>", query);
return results;};
7. Error Handling:
o Implemented proper error handling for API requests and other critical parts of
our application.
8. Accessibility:
9. Testing:
Project Overview
tailored for electronic devices. It will serve as a digital marketplace where customers
can explore, compare, and purchase a wide range of electronic gadgets, appliances,
and accessories.
o Goals:
44
➢ Establish a user-friendly interface that enhances the shopping experience for
customers.
o Scope:
equipment.
database management.
reviews.
45
Table 8:Phase planning
accessible to users.
enhancements.
expectations.
stakeholder approval.
46
Back-End Integration Done Integrate databases, APIs, and 11/02/2024
server-side logic.
User Acceptance Testing (UAT) Conduct UAT with real users to 26/02/2024
validate functionality.
access.
timelines.
o Description: Design the layout of key pages (home, product listings, checkout).
47
o Description: Develop server-side logic, APIs, and database integration.
o Description: Apply security patches, add new features, and improve content.
48
Fig 13 WBS
A PERT chart is a visual project management tool used to map out and track tasks and
The acronym PERT stands for Project (or Program) Evaluation and Review Technique.
49
Fig 14 Pert Chart
A Gantt chart is a horizontal bar chart used in project management to visually represent a
Purpose: It shows the timeline, status, and task assignments for each project task.
Gantt charts simplify communication, making it easier to keep project teams and stakeholders
50
Fig 15 Gantt Chart
Since e-commerce applications operate on an international scale, they need to fulfill certain
requirements before they can be launched. For this reason, web apps have to go through
diverse forms of testing to ensure that every facet of the system works flawlessly.
So, here is a list of e-commerce testing techniques and approaches that we are going through:
1. Functional Testing:
• Order tracking
51
• Shopping cart page
• Checkout page
• Homepage Navigation: Observed how users interact with navigation menus, banners,
• Product Page: Evaluated layout, readability, and ease of accessing product details.
3. Security Testing:
The risk of theft, fraud, and security breaches is a real threat to e-commerce apps. No one
likes to get stuck on the payments page. So, it is crucial to ensure a safe, smooth, and secure
• Verify that all the data exchanges and transmissions between the user’s device and the
• Encryption of the user’s data like credit/debit card details, bank account credentials,
• Validate whether there is any information loss during the transmission and ensure that
52
• Check whether the encryption of the sensitive information is successful and no storage
4. Performance Testing:
Slow performance can kill performance even on a web app that gets a great score. That is why
performance testing is crucial in SDLC. It guarantees that the e-commerce apps function
• Stress Testing: Push the system to its limits (e.g., during peak traffic).
user interactions.
content.
53
o Test Scenarios: Create realistic test scenarios based on real-world user
We have Created a detailed test plan for our e-commerce website. Ensuring it covers all critical
areas, including functional, security, and performance testing. A well-structured test plan
functionality.
54
Chapter 5
This section provides valuable insights, highlights key findings, and discusses critical aspects of our
project.
5.1.1 Homepage:
• The homepage serves as the gateway to our e-commerce site. Here’s how it might look:
promotions.
o Navigation Bar: Clear menus (e.g., “Shop,” “Categories,” “Sale”) for easy
exploration.
o Featured Products: Displayed in a grid format with high-quality images and brief
descriptions.
• When users click on a category or search result, they land on a product listing page:
o Grid View: Products displayed in a grid, showing images, prices, and ratings.
55
Clicking on a product lead to its detail page:
E-commerce systems consist of interconnected modules that handle specific functions. These
These modules handle specific functions and contribute to the overall functionality of the platform:
Functionality:
Functionality:
Functionality:
Functionality:
Functionality:
• Publishes products.
Homepage Snapshot:
Description:
• The homepage showcases featured products, navigation menus, and promotional banners.
58
Product Listing Page Snapshot:Users can explore product categories and access search functionality.
Description:
Fig 18 PDP
59
Description:
Fig 19 Cart
Description:
60
Fig
Fig.
20 Check-Out
Description:
• Users provide shipping information, choose payment options, and confirm their order.
Products Table:
• This table stores information about the products available for purchase on the e-commerce
platform.
• Each product entry includes details such as the product name, description, price, stock
• The product ID serves as the primary key to uniquely identify each product.
Customers Table:
61
• The customers table holds data related to the users who register on the e-commerce site.
• It includes fields like customer ID, name, contact information, shipping address, and login
credentials.
Orders Table:
• Each order entry contains details such as the order ID, customer ID (linked to the customers
• Additionally, it may include shipping details, payment status, and other relevant order-related
data.
Additional Tables:
Depending on the e-commerce system’s complexity, additional tables can be added to support specific
functionalities:
• Shipping Table: Stores shipping details, including tracking numbers, delivery status, and
carrier information.
• Product Reviews Table: Captures customer reviews and ratings for products.
• Wish List Table: Allows customers to maintain a list of products they are interested in
purchasing.
These tables form the backbone of the system, ensuring smooth transactions and a seamless shopping
62
5.5 Snapshots of Database Tables
Stores information about registered customers who use our e-commerce site.
Fields:
63
Fields:
Fields:
64
• name: Category name (e.g., “Electronics,” “Clothing,” “Home Decor”).
Fig
Fields:
65
5. Snapshot of Wishlists Table:
Stores products that customers are interested in but haven’t added to their cart.
Fields:
Fields:
66
Chapter 6
Our e-commerce website aims to address the current needs in electronic fields. It provides a platform
for users to purchase mobiles, laptops, tablets, and other items. Users can register an account, log in,
select products, add them to their cart, and complete the checkout process. They can also modify or
repair their product with the help of our website. The project streamlines the online shopping
experience, allowing users to conveniently buy products from the comfort of their homes.
In Future we are thinking of enhancing our user experience like continuously improve the user
interface, navigation, and overall experience to attract more customers. Implement features like
personalized recommendations, user reviews, and easy returns. Extend the project by creating a
mobile app for seamless shopping on smartphones and tablets. Explore additional payment options
67
7. References / Bibliography
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
68