0% found this document useful (0 votes)
14 views40 pages

IP Final Project

Uploaded by

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

IP Final Project

Uploaded by

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

ACKNOWLEDGEMENT

I would like to express my gratitude to all those who gave me the possibility to
complete this project. This is one of the best moments of my Class XII to be
publicly acknowledge those who have contributed in many different ways to make
my success a part of their own. The completion of the project depends upon the co-
operation, coordination and combined effect of several resources of knowledge,
energy and tune from various quarters.
I am especially thankful to Principal, DAV Public School, BSEB Colony, New
Punaichak, Patna for his kind co-operation and rendering me all possible facilities.
I express my deep gratitude to Incharge for his kind co-operation and rendering me
all possible facilities and thank closely supervising this work over the past few
months and offering many innovative ideas and helpful suggestions, which led to
the successful completion of this project work.
I would also like to thank all the members of DAV Public School, BSEB Colony,
New Punaichak, Patna, for their valuable support, encouragement and cooperative
attitude during the study. A special thank goes to all my friends who contributed in
this work through their suggestions and ideas.
At this point of time it is necessary to express my limitless love and respect to my
family, their moral support, encouragement and motivation kept me focused
towards my goal and has led to completion of this work.

Harsh Raj
XIIMA ‘22639682’

1
Introduction
The Electronique - E-SHOP - Shopping System is a simplified e-commerce
application designed to simulate the functionalities of an online shopping platform.
It provides an efficient way for users to interact with a virtual store and for
administrators to manage the store's operations effectively.
With the rise of digital shopping, having an automated and user-friendly system is
essential for businesses to thrive. This project aims to showcase how Python can be
used to develop a basic yet functional online shopping system, catering to both
user and admin requirements. The system is divided into four main module:
1. Product by category: Designed for customers to browse products by
category securely. It will show the product of a category which is selected
by the user. The interface focuses on simplicity and ease of use to enhance
the shopping experience.
2. Product Details: Designed for customers to browse products details
securely. It will show all the product. The interface focuses on simplicity
and ease of use to enhance the shopping experience.
3. Product by brand: Designed for customers to browse products by brand
securely. It will show the product of a brand which is selected by the user.
The interface focuses on simplicity and ease of use to enhance the shopping
experience.
4. Place an order: Designed for customers to purchase a product. It will show
the successful order if product is available and show out of stock if product
is not available in stock. The interface focuses on simplicity and ease of use
to enhance the shopping experience.
The project not only highlights the practical application of Python programming
but also demonstrates the implementation of key concepts such as modular

2
programming, user authentication, and data management. By utilizing this system,
businesses can automate repetitive tasks, improve efficiency, and provide better
service to their customers.
Whether you are a beginner looking to learn Python or an experienced developer
interested in creating practical solutions, this project serves as an excellent
resource to understand the foundational principles of building a simple yet
effective online shopping system.
This application is developed using Python as a programming language and
MySQL as a Database Management System.

Python - An Introduction
Python is an easy to learn, powerful programming language. It has
efficient high-level data structures and a simple but effective approach to
object-oriented programming. Python’s elegant syntax and dynamic
typing, together with its interpreted nature, make it an ideal language for
scripting and rapid application development in many areas on most
platforms.
The Python interpreter and the extensive standard library are freely
available in source or binary form for all major platforms from the
Python web site, https://www.python.org/, and may be freely distributed.
The same site also contains distributions of and pointers to many free
third party Python modules, programs and tools, and additional
documentation.
The Python interpreter is easily extended with new functions and data
types implemented in C or C++ (or other languages callable from C).

3
Python is also suitable as an extension language for customizable
applications.
MySQL - An Introduction
MySQL is an open source relational database management system (RDBMS)
that’s used to store and manage data. Its reliability, performance, scalability, and
ease of use make MySQL a popular choice for developers. In fact, you’ll find it at
the heart of demanding, high-traffic applications such as Facebook, Netflix, Uber,
Airbnb, Shopify, and Booking.com.
Although MySQL rose to prominence nearly three decades ago, it shows no sign of
fading and ranks as the second most popular database overall, second only to
Oracle Database, according to DB-Engines. MySQL is versatile enough to
underpin a wide variety of applications, from small personal projects to enterprise-
level, business-critical systems, and it’s backed by a large and enthusiastic open
source community.
MySQL is the world’s most popular open source database management system.
Databases are the essential data repositories for all software applications. For
example, whenever someone conducts a web search, logs into an account, or
completes a transaction, a database stores the information so it can be accessed in
the future. MySQL excels at this task.
SQL, which stands for Structured Query Language, is a programming language
that’s used to retrieve, update, delete, and otherwise manipulate data in relational
databases. MySQL is officially pronounced “My ess-cue-el,” but “my sequel” is a
common variation. As the name suggests, MySQL is a SQL-based relational
database designed to store and manage structured data. In recent years, however,
Oracle added additional support, including for the popular JSON data type.

4
OBJECTIVES OF THE PROJECT
The primary objective of the Electronique - Online Shopping System is to provide a
functional and user-friendly platform for managing online shopping activities. It aims
to bridge the gap between theoretical programming concepts and real-world
applications by creating a simplified e-commerce solution.
The specific objectives of the project are as follows:
1. Streamline Shopping Operations: Enable users to browse products, place
orders, and manage their shopping experience effortlessly, ensuring
convenience and satisfaction.
2. Efficient Product Management: Equip with tools to manage products,
monitor stock levels thereby improving operational efficiency.
3. Practical Application of Programming Skills: Demonstrate the application of
Python programming principles, such as object-oriented programming, modular
design, and data management, in a real-world scenario.
4. Automation of Routine Tasks : Automate manual and repetitive processes,
such as product showing , also search by category, brand , to save time and
reduce errors.
5. Enhanced Learning Experience : Provide a hands-on project for developers
to understand the fundamentals of building a simple e-commerce system,
including user authentication, order management, and data organization.
6. Improve User Experience :Create a seamless and intuitive interface for users
and administrators, ensuring ease of access and navigation within the system.
This project not only fulfills the needs of an online shopping platform but also serves
as an educational tool for developers to explore Python's capabilities in software
development.

5
PROPOSED SYSTEM
The Online Shopping System Project in Python is an excellent resource for students
learning to build management systems using Python and for online shop owners
seeking an efficient tool to manage all online shopping-related tasks. This project
demonstrates the practical implementation of Python to streamline workflows,
improve performance, and handle essential e-commerce functionalities effectively.
This project is divided into two primary components: User Side and Admin Side, each
designed to cater to specific roles and responsibilities within an online shopping
system.
A. User Features:
1. View Products : Users can browse a list of available products before making
their purchase decisions.
2. View Products by category: Users can browse a list of available products by
category before making their purchase decisions.
3. View Products by brand : Users can browse a list of available products by
brand before making their purchase decisions.
4. Place Orders :Users can select products and place orders directly within the
system.

6
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

The systems development life cycle is a project management


technique that divides complex projects into smaller, more easily
managed segments or phases. Segmenting projects allows managers to
verify the successful completion of project phases before allocating
resources to subsequent phases.
Software development projects typically include initiation,
planning, design, development, testing, implementation, and
maintenance phases. However, the phases may be divided differently
depending on the organization involved.
For example, initial project activities might be designated as
request, requirements-definition, and planning phases, or initiation,
concept-development, and planning phases. End users of the system
under development should be involved in reviewing the output of each
phase to ensure the system is being built to deliver the needed
functionality.
7
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

INITIATION PHASE

The Initiation Phase begins when a business sponsor identifies a need or


an opportunity.
The purpose of the Initiation Phase is to:
Identify and validate an opportunity to improve business
accomplishments of the organization or a deficiency related to a
business need.
Identify significant assumptions and constraints on solutions to that
need.
Recommend the exploration of alternative concepts and methods to
satisfy the need including questioning the need for technology, i.e.,
will a change in the business process offer a solution?
Assure executive business and executive technical sponsorship.
The Sponsor designates a Project Manager and the business need is
documented in a Concept Proposal. The Concept Proposal includes
information about the business process and the relationship to the
Agency/Organization.
Infrastructure and the Strategic Plan. A successful Concept
Proposal results in a Project Management Charter which outlines
the authority of the project manager to begin
the project.

8
Careful oversight is required to ensure projects support strategic
business objectives and resources are effectively implemented into an
organization's enterprise architecture. The initiation phase begins when
an opportunity to add, improve, or correct a system is identified and
formally requested through the presentation of a business case. The
business case should, at a minimum, describe a proposal’s purpose,
identify expected benefits, and explain how the proposed system
supports one of the organization’s business strategies. The business case
should also identify alternative solutions and detail as many
informational, functional, and network requirements as possible.

SYSTEM CONCEPT DEVELOPMENT PHASE


The System Concept Development Phase begins after a business need or
opportunity is validated by the Agency/Organization Program
Leadership and the Agency/Organization CIO.
The purpose of the System Concept Development Phase is to:
Determine the feasibility and appropriateness of the alternatives.
Identify system interfaces.
Identify basic functional and data requirements to satisfy the
business need.
Establish system boundaries; identify goals, objectives, critical
success factors, and performance measures.

9
Evaluate costs and benefits of alternative approaches to satisfy the
basic functional requirements
Assess project risks
Identify and initiate risk mitigation actions, and Develop high-level
technical architecture, process models, data models, and a concept
of operations. This phase explores potential technical solutions
within the context of the business need.
It may include several trade-off decisions such as the decision to
use COTS software products as opposed to developing custom
software or reusing software components, or the decision to use an
incremental delivery versus a complete, onetime deployment.
Construction of executable prototypes is encouraged to evaluate
technology to support the business process. The System Boundary
Document serves as an important reference document to support
the Information Technology Project Request (ITPR) process.
The ITPR must be approved by the State CIO before the project
can move forward.

10
PICTORIAL REPRESENTATION OF SDLC:

PLANNING PHASE
The planning phase is the most critical step in completing
development, acquisition, and maintenance projects. Careful planning,
particularly in the early stages of a project, is necessary to coordinate
activities and manage project risks effectively. The depth and formality
of project plans should be commensurate with the characteristics and
risks of a given project. Project plans refine the information gathered
during the initiation phase by further identifying the specific activities
and resources required to complete a project.

11
A critical part of a project manager’s job is to coordinate
discussions between user, audit, security, design, development, and
network personnel to identify and document as many functional,
security, and network requirements as possible. During this phase, a plan
is developed that documents the approach to be used and includes a
discussion of methods, tools, tasks, resources, project schedules, and
user input. Personnel assignments, costs, project schedule, and target
dates are established.
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality
assurance planning, concept of operations, system security, verification
and validation, and systems engineering management planning.

REQUIREMENTS ANALYSISPHASE
This phase formally defines the detailed functional user
requirements using high-level requirements identified in the Initiation,
System Concept, and Planning phases. It also delineates the
requirements in terms of data, system performance, security, and
maintainability requirements for the system. The requirements are
defined in this phase to a level of detail sufficient for systems design to
proceed. They need to be measurable, testable, and relate to the business
need or opportunity identified in the Initiation Phase. The requirements

12
that will be used to determine acceptance of the system are captured in
the Test and Evaluation Master Plan.
The purposes of this phase are to:
Further define and refine the functional and data requirements and
document them in the Requirements Document,
Complete business process reengineering of the functions to be
supported (i.e., verify what information drives the business
process, what information is generated, who generates it, where
does the information go, and who processes it),
Develop detailed data and process models (system inputs, outputs,
and the process.
Develop the test and evaluation requirements that will be used to
determine acceptable system performance.

DESIGN PHASE
The design phase involves converting the informational,
functional, and network requirements identified during the initiation and
planning phases into unified design specifications that developers use to
script programs during the development phase. Program designs are
constructed in various ways. Using a top-down approach, designers first
identify and link major program components and interfaces, then expand
design layouts as they identify and link smaller subsystems and
connections. Using a bottom-up approach, designers first identify and

13
link minor program components and interfaces, then expand design
layouts as they identify and link larger systems and connections.
Contemporary design techniques often use prototyping tools that build
mock-up designs of items such as application screens, database layouts,
and system architectures. End users, designers, developers, database
managers, and network administrators should review and refine the
prototyped designs in an iterative process until they agree on an
acceptable design. Audit, security, and quality assurance personnel
should be involved in the review and approval process. During this
phase, the system is designed to satisfy the functional requirements
identified in the previous phase. Since problems in the design phase
could be very expensive to solve in the later stage of the software
development, a variety of elements are considered in the design to
mitigate risk. These include:
Identifying potential risks and defining mitigating design features.
Performing a security risk assessment.
Developing a conversion plan to migrate current data to the new
system.
Determining the operating environment.
Defining major subsystems and their inputs and outputs.
Allocating processes to resources.

14
Preparing detailed logic specifications for each software module.
The result is a draft System Design Document which captures the
preliminary design for the system.
Everything requiring user input or approval is documented and
reviewed by the user. Once these documents have been approved
by the Agency CIO and Business Sponsor, the final System Design
Document is created to serve as the Critical/Detailed Design for
the system.
This document receives a rigorous review by Agency technical and
functional representatives to ensure that it satisfies the business
requirements. Concurrent with the development of the system
design, the Agency Project Manager begins development of the
Implementation Plan, Operations and Maintenance Manual, and
the Training Plan.
DEVELOPMENT PHASE
The development phase involves converting design
specifications into executable programs. Effective development
standards include requirements that programmers and other project
participants discuss design specifications before programming begins.
The procedures help ensure programmers clearly understand program
designs and functional requirements. Programmers use various
techniques to develop computer programs. The large transaction
oriented programs associated with financial institutions have

15
traditionally been developed using procedural programming
techniques. Procedural programming involves the line-by-line
scripting of logical instructions that are combined to form a program.
Effective completion of the previous stages is a key factor in the
success of the Development phase. The Development phase consists
of:
Translating the detailed requirements and design into system
components.
Testing individual elements (units) for usability.
Preparing for integration and testing of the IT system.
INTEGRATION AND TEST PHASE
Subsystem integration, system, security, and user acceptance
testing is conducted during the integration and test phase. The user,
with those responsible for quality assurance, validates that the
functional requirements, as defined in the functional requirements
document, are satisfied by the developed or modified system. OIT
Security staff assess the system security and issue a security
certification and accreditation prior to installation/implementation.
Multiple levels of testing are performed, including:
Testing at the development facility by the contractor and possibly
supported by end users
Testing as a deployed system with end users working together with
contract personnel

16
Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing, a final Independent
Verification & Validation evaluation is performed and all
documentation is reviewed and accepted prior to acceptance of the
system.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and
accepted by the user. In this phase, the system is installed to support the
intended business functions. System performance is compared to
performance objectives established during the planning phase.
Implementation includes user notification, user training, installation of
hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase continues
until the system is operating in production in accordance with the
defined user requirements.

OPERATIONS AND MAINTENANCE PHASE


The system operation is ongoing. The system is monitored for
continued performance in accordance with user requirements and needed
system modifications are incorporated. Operations continue as long as
the system can be effectively adapted to respond to the organization’s

17
needs. When modifications or changes are identified, the system may
reenter the planning phase.
The purpose of this phase is to:
Operate, maintain, and enhance the system.
Certify that the system can process sensitive information.
Conduct periodic assessments of the system to ensure the
functional requirements continue to be satisfied.
Determine when the system needs to be modernized, replaced, or
retired.
The aim of this project is to assist users in managing and maintaining
comprehensive customer shopping data with ease and efficiency. It
caters to the needs of businesses looking to streamline their operations
and stay ahead in today’s highly competitive market. By enabling
detailed data management, it ensures that shops can provide better
customer experiences, optimize their services, and build lasting
relationships with their clientele.
In a world where competition is fierce, success is achieved by those who
embrace innovation and strive to stand out. This program sets an
example of how businesses can differentiate themselves by adopting
advanced solutions tailored to meet the evolving demands of their
customers. Whether it’s tracking purchase history, analyzing trends, or
providing personalized services, this tool empowers shops to outpace
competitors and establish a unique identity in the marketplace.

18
By leveraging such a program, businesses not only enhance their
operational efficiency but also gain a significant edge in the industry,
making them a preferred choice among customers.

19
FLOW CHART
Here is a flowchart for the Online Shopping System that illustrates the
interaction between the user and admin, as well as the processes
involved in both sides of the system. The flowchart is divided into two
main sections: User Side and Admin Side.

Start

User

View
Search Product Order
Products

Display list of
Product by Product by
available Place the Order
Category Brand
products.

Success Out of Stock


if stock is if stock is not
available available

20
Database Management System: MySql
Host:localhost User: root Database: `mysql`

21
-- Table structure for table `product`
CREATE TABLE `product` (
`Product_ID` int(11) NOT NULL,
`Category` varchar(50) NOT NULL,
`Product_Name` varchar(250) NOT NULL,
`Quantity` int(11) NOT NULL,
`Seller_Name` varchar(250) NOT NULL,
`Price` bigint(20) NOT NULL,
`Brand_Name` varchar(250) NOT NULL
);
Table structure for table `order_details`
CREATE TABLE `order_details` (
`Transaction_ID` int(11) NOT NULL,
`Product_ID` int(11) NOT NULL,
`Product_Name` varchar(50) NOT NULL,
`Date_of_Dispatch` date NOT NULL,
`ContactDetails` varchar(11) NOT NULL );
-- Dumping data for table `product`
INSERT INTO `product` (`Product_ID`, `Category`, `Product_Name`, `Quantity`,
`Seller_Name`, `Price`, `Brand_Name`) VALUES
(100, 'Smartphones', 'Vivo V12', 3, 'Vivo PVT.LTd', 20000, 'VIVO'),
(101, 'Smartphones', 'Vivo V10_Pro', 10, 'Vivo PVT.LTd', 18000, 'VIVO'),
(102, 'Smartphones', 'Vivo V10_Pro', 5, 'Vivo PVT.LTd', 18000, 'VIVO'),
(103, 'Smartphones', 'Vivo Z12', 2, 'Vivo PVT.LTd', 47000, 'VIVO'),
(104, 'Smartphones', 'Vivo Z12', 12, 'Vivo PVT.LTd', 47000, 'VIVO'),
(105, 'Smartphones', 'Iphone A10', 10, 'Apple PVT.LTd', 15000, 'APPLE'),
(106, 'Smartphones', 'Iphone X11', 15, 'Apple PVT.LTd', 50000, 'APPLE'),
(107, 'Smartphones', 'Iphone Z15_PLUS', 20, 'Apple PVT.LTd', 37880, 'APPLE'),
(108, 'Smartphones', 'Z15_PLUS', 20, 'Infinix PVT.LTd', 27580, 'INFINIX'),
(109, 'Smartphones', 'Infinix XZ29', 12, 'Infinix PVT.LTd', 67890, 'INFINIX'),
(110, 'Smartphones', 'Infinix K17', 15, 'Infinix PVT.LTd', 17000, 'INFINIX'),
(111, 'Smartphones', 'Infinix K17', 18, 'Infinix PVT.LTd', 17000, 'INFINIX'),
(112, 'TABLETS', 'Realme G7', 12, 'Realme PVT.LTd', 34000, 'REALME'),

22
(113, 'Television', 'Realme G7 I20', 14, 'Realme PVT.LTd', 30000, 'REALME'),
(114, 'Television', 'I20 Sony A11', 12, 'Sony PVT.LTd', 35000, 'SONY'),
(115, 'Television', 'Sony A11', 18, 'Sony PVT.LTd', 35000, 'SONY'),
(116, 'Television', 'Sony A11_Pro_Plus', 20, 'Sony PVT.LTd', 40000, 'SONY'),
(117, 'Television', 'Micromax B12', 20, 'Micromax PVT.LTd', 40000, 'MICROMAX'),
(118, 'Clothes', 'Mens_T-Shirt_S', 10, 'Zara Clothings', 1500, 'MICROMAX'),
(119, 'Clothes', 'Mens_Sweat-Shirt_S', 10, 'Zara Clothings', 2000, 'ZARA'),
(120, 'Clothes', 'Mens_Sweat-Shirt_S', 10, 'Zara Clothings', 2000, 'ZARA'),
(121, 'Clothes', 'Women_Saree', 10, 'Zara Clothings', 750, 'ZARA'),
(122, 'Clothes', 'Women_Saree', 20, 'Zara Clothings', 1000, 'ZARA'),
(123, 'Clothes', 'Children_Shirts_Pants', 10, 'Tim Clothings', 657, 'TIM'),
(124, 'Clothes', 'Women_Leggings_L', 10, 'Tim Clothings', 1570, 'TIM'),
(125, 'Clothes', 'Momen_Salwar_Kameez_XL', 5, 'Rajesh Clothings', 1570, 'RAJESH'),
(126, 'Clothes', 'Momen_Salwar_Kameez_XL', 1, 'Rajesh Clothings', 1570, 'RAJESH'),
(127, 'Clothes', 'Women_Jeans_M', 15, 'Rajesh Clothings', 2050, 'RAJESH'),
(128, 'Shoes_Footwears', 'Nike Canvas_Shoes', 20, 'Nike Shoes and Footwears', 670, 'NIKE'),
(129, 'Shoes_Footwears', 'Nike Sports_Shoes', 10, 'Nike Shoes and Footwears', 569, 'NIKE'),
(130, 'Shoes', 'Addidas Sports_Shoes', 10, 'Addidas Shoes and Footwears', 789, 'ADDIDAS'),
(131, 'Shoes', 'Addidas Sports_Shoes', 10, 'Addidas Shoes and Footwears', 789, 'ADDIDAS'),
(132, 'Shoes_Footwears', 'Addidas Canvas_Shoes', 10, 'Addidas Shoes and Footwears', 789, 'ADDIDAS'),
(133, 'Shoes_Footwears', 'Addidas Footwears', 10, 'Addidas Shoes and Footwears', 900, 'ADDIDAS'),
(134, 'Shoes_Footwears', 'Bata Footwears', 20, 'Bata Shoes and Footwears', 200, 'BATA'),
(135, 'Shoes_Footwears', 'Bata Footwears', 10, 'Bata Shoes and Footwears', 200, 'BATA'),
(136, 'Shoes_Footwears', 'Bata Sports_Shoes', 10, 'Bata Shoes and Footwears', 670, 'BATA'),
(137, 'Grocery', 'Maggi_Noodles', 10, 'Maggi PVT.LTd', 725, 'Maggi'),
(138, 'Grocery', 'Yippe_Noodles', 2, 'Yippe PVT.LTd', 800, 'Yippe'),
(139, 'Grocery', 'Surfex1_Detergent', 5, 'Surfexl PVT.LTd', 1200, 'SURFEXL'),
(140, 'Grocery', 'Nirma_Detergent', 5, 'Nirma PVT.LTd', 1000, 'NIRMA'),
(141, 'Grocery', 'Bikaner_Bhujia', 10, 'Bikaner PVT.LTd', 1200, 'BIKANER'),
(142, 'Grocery', 'Haldiram_Bhujia', 5, 'Haldiram PVT.LTd', 1000, 'HALDIRAM'),
(143, 'Grocery Games', 'Dragon_Ball_Kakkarot', 5, 'Bandai Games', 1200, 'BANDAI'),
(144, 'Games', 'Dragon_Ball_Kakkarot', 10, 'Bandai Games', 200, 'BANDAI'),
(145, 'Games', 'Call_Of_Duty', 10, 'Playstation Games', 200, 'Playstation'),
(146, 'Games', 'Dota', 10, 'Playstation Games', 250, 'Playstation');

23
Source code

Code for the WELCOME TO Electronique - E-SHOP - Shopping System Project in


Python
In the code given below, which is for the product by category, all the product,
product of a brand and place an order of available stock.

import mysql
import mysql.connector
obj=mysql.connector.connect(host="localhost", user="root", database="mysql")
curobj=obj.cursor()

def category():
print("***********Catagories available are: ***********\n")
a="select distinct category from product"
curobj.execute(a)
fetch=curobj.fetchall()
fruits = ["apple", "banana", "cherry"]

for i in fetch:
print(i[0])
print("\n")
inpCategory=input("Enter your category: ")
print("\n")
print("We have the following ",inpCategory,":")
print("\n")
print("-")

b="select PRODUCT_NAME,PRICE from product where CATEGORY='{}'".format(inpCategory)


curobj.execute(b)
fetchr=curobj.fetchall()
for i in fetchr:
print(i[0],"","PRICE: ",[1])
print("------------------------------")

def product():
a="select PRODUCT_NAME,PRICE from product"
curobj.execute(a)

24
fetch=curobj.fetchall()
obj.commit()
for i in fetch:
print(i[0],"~~~~~","PRICE: ", i[1])
print("--------------X----------------")

def brand():
print("*****Brands available are:******\n")
a="select distinct BRAND_NAME from product"
curobj.execute(a)
fetch=curobj.fetchall()
for i in fetch:
print(i[0])
print("\n")
inpBrand=input("What brand are you looking for?: ")
print("\n")
print("We have the following available products from ",inpBrand, "")
print("")
b="select PRODUCT_NAME, PRICE from product where BRAND_NAME='{}'".format(inpBrand)
curobj.execute(b)
fetchr=curobj.fetchall()
for i in fetchr:
print(i[0],"~~~~~","PRICE: ", i[1])
print("--------------X----------------")

def order():
inpContact=int(input("Enter your 10-digit phone number: "))
inpOrder=input("What do you want to order?")
qty="select QUANTITY from product where PRODUCT_NAME='{}'".format(inpOrder)
curobj.execute(qty)

fetch=curobj.fetchall()

if fetch==[]:

print("OUT OF STOCK!!!!!")
else:

product_id="select PRODUCT_ID from PRODUCT where


PRODUCT_NAME='{}'".format(inpOrder)
curobj.execute(product_id)
fetchr=curobj.fetchall()

25
#For subtracting from PRODUCT:
a="update product set QUANTITY=QUANTITY-{} where
PRODUCT_NAME='{}'".format(1,inpOrder)
curobj.execute(a)
obj.commit()
#For adding details into order_table:
c="insert into order_details (PRODUCT_ID,PRODUCT_NAME,ContactDetails,
DATE_OF_DISPATCH) values({},'{}',{},{})".format(fetchr[0][0],inpOrder,inpContact, 'curdate()')

curobj.execute(c)
obj.commit()
print("Your order has been placed.")

while True:
print("WELCOME TO Electronique - E-SHOP :) \n")
print("Press 1 if you are looking for a category.")
print("Press 2 if you are looking for a product. ")
print("Press 3 if you are looking for a brand. ")
print("Press 4 if you want to place an order. \n")
inpint=int(input("Enter your number: "))
print("\n")
if inpint==1:
category()
elif inpint==2:
product()
elif inpint==3:
brand()
elif inpint==4:
order()
else:
print("ERROR!!!")
print("Check your number.")

26
Output

The aim of this project is to assist users in managing and maintaining


comprehensive customer shopping data with ease and efficiency. It
caters to the needs of businesses looking to streamline their operations
and stay ahead in today’s highly competitive market. By enabling
detailed data management, it ensures that shops can provide better
customer experiences, optimize their services, and build lasting
relationships with their clientele.

In a world where competition is fierce, success is achieved by those who


embrace innovation and strive to stand out. This program sets an
example of how businesses can differentiate themselves by adopting
advanced solutions tailored to meet the evolving demands of their
customers. Whether it’s tracking purchase history, analyzing trends, or
providing personalized services, this tool empowers shops to outpace
competitors and establish a unique identity in the marketplace.

By leveraging such a program, businesses not only enhance their


operational efficiency but also gain a significant edge in the industry,
making them a preferred choice among customers.

27
28
29
30
31
32
33
TESTING
Software Testing is an empirical investigation conducted to provide
stakeholders with information about the quality of the product or service under
test[1] , with respect to the context in which it is intended to operate. Software
Testing also provides an objective, independent view of the software to allow the
business to appreciate and understand the risks at implementation of the software.
Test techniques include, but are not limited to, the process of executing a program
or application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying that a
software program/application/product meets the business and technical
requirements that guided its design and development, so that it works as expected
and can be implemented with the same characteristics. Software Testing,
depending on the testing method employed, can be implemented at any time in the
development process, however the most test effort is employed after the
requirements have been defined and coding process has been completed.
TESTING METHODS
Software testing methods are traditionally divided into black box testing and
white box testing. These two approaches are used to describe the point of view that
a test engineer takes when designing test cases.
BLACK BOX TESTING
Black box testing treats the software as a "black box," without any
knowledge of internal implementation. Black box testing methods include:
equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing,
model-based testing, traceability matrix, exploratory testing and specification-
based testing.

34
SPECIFICATION-BASED TESTING
Specification-based testing aims to test the functionality of software
according to the applicable requirements.[16] Thus, the tester inputs data into, and
only sees the output from, the test object. This level of testing usually requires
thorough test cases to be provided to the tester, who then can simply verify that for
a given input, the output value (or behaviour), either "is" or "is not" the same as the
expected value specified in the test case. Specification-based testing is necessary,
but it is insufficient to guard against certain risks
ADVANTAGES AND DISADVANTAGES
The black box tester has no "bonds" with the code, and a tester's perception
is very simple: a code must have bugs. Using the principle, "Ask and you shall
receive," black box testers find bugs where programmers don't. But, on the other
hand, black box testing has been said to be "like a walk in a dark labyrinth without
a flashlight," because the tester doesn't know how the software being tested was
actually constructed.
That's why there are situations when (1) a black box tester writes many test
cases to check something that can be tested by only one test case, and/or (2) some
parts of the back end are not tested at all. Therefore, black box testing has the
advantage of "an unaffiliated opinion," on the one hand, and the disadvantage of
"blind exploring," on the other.

WHITE BOX TESTING


White box testing, by contrast to black box testing, is when the tester has
access to the internal data structures and algorithms (and the code that implement
these)
Types of white box testing:-

35
The following types of white box testing exist:
api testing - Testing of the application using Public and Private APIs.
Code coverage - creating tests to satisfy some criteria of code
coverage.
For example, the test designer can create tests to cause all statements in the
program to be executed at least once.
fault injection methods.
mutation testing methods.
static testing - White box testing includes all static testing.

CODE COMPLETENESS EVALUATION


White box testing methods can also be used to evaluate the completeness of
a test suite that was created with black box testing methods. This allows the
software team to examine parts of a system that are rarely tested and ensures that
the most important function points have been tested.
Two common forms of code coverage are:
Function Coverage: Which reports on functions executed and
Statement Coverage: Which reports on the number of lines executed to
complete the test.
They both return coverage metric, measured as a percentage

36
HARDWARE AND SOFTWARE REQUIREMENTS
I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE

II. PROCESSOR : PENTIUM(ANY) OR AMD

ATHALON(3800+- 4200+ DUALCORE)

III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM 0R MSI

K9MM-V VIAK8M800+8237R PLUS CHIPSET

FOR AMD ATHALON

IV. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD r/w multi drive combo: (If back up required)

VII. FLOPPY DRIVE 1.44 MB : (If Backup required)

VIII. MONITOR 14.1 or 15 -17 inch

IX. Key board and mouse

X. Printer : (if print is required – [Hard copy])

SOFTWARE REQUIREMENTS:

I. Windows OS
II. Python

37
INSTALLATION PROCEDURE

Install python and mysql from the web.


Open mysql and create the database - script is included
Then run the Electronique.py file - script is included
Then select the option use the software

38
CONCLUSION

Here, I have come to end of this project of Informatics Practices. It was


a great and wonderful learning experience for me while working on this
project. I got to know many new things about Python and DBMS.
I have tried my best to include all the things required.

Thank You

39
BIBLIOGRAPHY

1. Computer science With Python - Class XII By: Sumita Arora


2. https://www.w3resource.com
3. https://www.oracle.com/in/mysql/what-is-mysql/
4. https://www.python.org/

40

You might also like