0% found this document useful (0 votes)
41 views

Computer Science Project For Class 12th Eccommerce Management With Python and Mysql Connectivity Cbse

this is a computer science project based on eccommerce management with python and mysql connectivity this has all the things that a project requires . you can take this as your project and excel in cs practical for project marks for viva you should have a basic knowledge of it . it is based on class 12th python
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Computer Science Project For Class 12th Eccommerce Management With Python and Mysql Connectivity Cbse

this is a computer science project based on eccommerce management with python and mysql connectivity this has all the things that a project requires . you can take this as your project and excel in cs practical for project marks for viva you should have a basic knowledge of it . it is based on class 12th python
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

TABLE OF CONTENTS [ T O C ]

S. No. DESCRIPTION PAGE NO

1. ACKNOWLEDGEMENT

2. INTRODUCTION

3. OBJECTIVES OF THE PROJECT

4. PROPOSED SYSTEM

5. SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

6. PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

7. FLOW CHART

8. SOURCE CODE

9. OUTPUT

10. TESTING

11. HARDWARE AND SOFTWARE REQUIREMENTS


12. BIBLIOGRAPHY
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the encouragement

and guidelines of many others. I take this opportunity to express my gratitude to the people

who have been instrumental in the successful completion of this project.

I express deep sense of gratitude to almighty God for giving me strength for the successful

completion of the project.

I express my heartfelt gratitude to my parents for constant encouragement while carrying out

this project.

I gratefully acknowledge the contribution of the individuals who contributed in bringing this

project up to this level, who continues to look after me despite my flaws.

I express my deep sense of gratitude to the luminary Teacher_name Sir/Mam who has

been continuously motivating and extending their helping hand to us.

My sincere thanks to Teacher_name Sir/Mam Master in-charge. A guide, Mentor all the

above a friend, who critically reviewed my project and helped in solving each and every

problem, occurred during implementation of the project.

The guidance and support received from all the members who contributed and who are
contributing to this project, was vital for the success of the project. I am grateful for their c
constant support and help
Introduction of the Project
Online Shop Database Management System

Introduction:

This project, titled "Online Shop Database Management System," is designed to

automate and streamline the process of managing an e-commerce database. The system

provides users with three distinct options, allowing them to effortlessly search for

products of their choice and place orders seamlessly.

Options Available to Users:

1. Browse by Categories:

- Users can explore a variety of product categories, such as Smartphones, Clothes,


Groceries, and more.

- Upon selecting a specific category, the system displays all products available in that
category.

2. View All Products:

- Users have the option to view a comprehensive list of all available products.
- This allows them to explore different types of products and make informed choices
based on their preferences.

3. Explore by Brands:

- Users can browse through various brands and select a specific brand of interest.
- Upon choosing a brand, the system presents all products available from that particular
brand.

Order Placement:

Upon selecting a product for purchase, users can place an order seamlessly. The system

records essential details in the order_table within the database, including a unique

transaction ID for each transaction, product ID, product name, date of dispatch, and the

contact details of the customer. Simultaneously, the quantity of the ordered product is

decremented by 1 in the main_table, ensuring accurate inventory management.

This Online Shop Database Management System aims to enhance user experience,

providing a user-friendly interface for efficient product exploration, selection, and order

placement within the e-commerce platform.

SOME IMPORTANT TERMS

● MySql Database

● Interfacing MySql with python

● MySql connector

● Functions in python
OBJECTIVES OF THE PROJECT

The objective of the "Online Shop Database Management System" is to create an

efficient and user-friendly platform for managing the intricacies of an e-

commerce database. This system aims to provide users with a seamless

experience, offering three distinct search options to cater to diverse preferences.

Firstly, users can explore products through various categories such as

Smartphones, Clothes, and Groceries, simplifying the search process. Secondly,

the system allows users to view a comprehensive list of all available products,

enabling informed decision-making based on preferences. Thirdly, users can

search for products from specific brands, fostering brand loyalty and

personalized product discovery.

The primary goal is to streamline the order placement process, ensuring a smooth

and hassle-free transaction. Upon placing an order, the system records essential

details such as a unique transaction ID, product ID, product name, date of

dispatch, and customer contact details.


Simultaneously, the system updates the inventory in real-time by decrementing

the quantity of the ordered product in the main_table, facilitating accurate

inventory management.

Overall, the program seeks to enhance the online shopping experience by

providing a comprehensive and integrated solution for users and administrators

alike. It aspires to achieve a harmonious balance between user convenience and

robust database management, fostering a dynamic and efficient e-commerce

environment
PROPOSED SYSTEM
The proposed system enhances the existing code by introducing robust features and

improvements for a more seamless user experience. Firstly, implement advanced error

handling mechanisms to gracefully manage user input errors, ensuring accurate and reliable

interactions. Secondly, incorporate comprehensive validation checks, such as verifying the

length and format of the user's phone number during the ordering process, to enhance data

integrity.

Additionally, introduce a user-friendly interface with informative prompts, guiding users through

the available options. Implement a clearer display of product information, including categories,

brands, and prices, fostering an intuitive browsing experience for customers.

Furthermore, optimize database interactions by utilizing parameterized queries to prevent


potential SQL injection vulnerabilities.

To augment user engagement, consider implementing feedback mechanisms,

acknowledgment messages, and status updates during order placement. Integrate date

functionalities to provide customers with real-time information on order dispatch dates.

Lastly, extend the functionality by incorporating search features for products, enabling users

to efficiently locate items of interest. These proposed enhancements collectively elevate the

user interface, data integrity, and overall functionality, resulting in a more reliable and user-

friendly system.
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.


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.

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.

 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.

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. 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 ANALYSIS PHASE

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 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

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.

 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 traditionally been developed

using procedural programming techniques. Procedural programming involves the line-byline

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 assesses 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

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 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.


FLOW CHART

Here's a text-based representation of the flowchart:

1. Start:

- Program execution begins.

2. Database Connection:

- Connect to the MySQL database.

3. Table Creation:

- Check if the main_table and order_table exist in the database.


- If not, create them.
4. User Interaction Loop:

- Display a welcome message and options to the user in a loop.

5. User Input:

- Receive user input for the desired operation (1, 2, 3, or 4).

6. Category Operation (Option 1):

- Display categories to the user.


- Receive user input for the desired category.
- Display products in the selected category.

7. Product Operation (Option 2):

- Display all available products and their prices.

8. Brand Operation (Option 3):

- Display available brands to the user.


- Receive user input for the desired brand.
- Display products from the selected brand.

9. Order Operation (Option 4):

- Receive user input for the phone number and product to order.
- Validate the phone number (must be 10 digits).
- Check if the product is in stock.
- If in stock, update the main_table to reduce quantity and insert an order record into the
order_table.

10. End:
- If the user decides to exit the program, terminate the loop and end the program.
SOURCE CODE
#PROJECT CODE
import mysql.connector

# Connect to the database


obj = mysql.connector.connect(host="localhost", port=3306, user="root",
password="yourpassword", database="main_project")

# Create a cursor object


curobj = obj.cursor()

# Create the main_table if it doesn't exist


curobj.execute("""
CREATE TABLE IF NOT EXISTS main_table (
PRODUCT_ID INT AUTO_INCREMENT PRIMARY KEY,
PRODUCT_NAME VARCHAR(255),
CATEGORY VARCHAR(255),
BRAND_NAME VARCHAR(255),
PRICE DECIMAL(10, 2),
QUANTITY INT
)
""")

# Create the order_table if it doesn't exist


curobj.execute("""
CREATE TABLE IF NOT EXISTS order_table (
ORDER_ID INT AUTO_INCREMENT PRIMARY KEY,
PRODUCT_ID INT,
PRODUCT_NAME VARCHAR(255),
CONTACT_DETAILS_OF_CUSTOMER BIGINT,
DATE_OF_DISPATCH DATE,
FOREIGN KEY (PRODUCT_ID) REFERENCES main_table(PRODUCT_ID)
)
""")

# Function to display categories


def category():
print("**********Categories available are: **********")
a = "SELECT DISTINCT CATEGORY FROM main_table"
curobj.execute(a)
fetch = curobj.fetchall()
for i in fetch:
print(i[0])
print("\n")
inpCategory = input("Enter your category: ")
print("\n")
print("We have the following", inpCategory, ":")
print()
b = "SELECT PRODUCT_NAME, PRICE FROM main_table WHERE
CATEGORY='{}'".format(inpCategory)
curobj.execute(b)
fetchr = curobj.fetchall()
for i in fetchr:
print(i[0], "PRICE:", i[1])
print("---------------------X-----------------------")

# Function to display all products


def product():
print("*********** Products available are: ***********")
a = "SELECT PRODUCT_NAME, PRICE FROM main_table"
curobj.execute(a)
fetch = curobj.fetchall()
for i in fetch:
print(i[0], "..............", "PRICE:", i[1])
print("---------------------X-----------------------")

# Function to display brands


def brand():
print("*********** Brands available are: ***********")
a = "SELECT DISTINCT BRAND_NAME FROM main_table"
curobj.execute(a)
fetch = curobj.fetchall()
for i in fetch:
print(i[0])
print("")
inpBrand = input("What brand are you looking for?: ")
print("We have the following available products from", inpBrand, ":")
b = "SELECT PRODUCT_NAME, PRICE FROM main_table WHERE
BRAND_NAME='{}'".format(inpBrand)
curobj.execute(b)
fetchr = curobj.fetchall()
for i in fetchr:
print(i[0], "PRICE:", i[1])
print("---------------------X-----------------------")
# Function to place an order
def order():
try:
inpContact = int(input("Enter your 10-digit phone number: "))
if len(str(inpContact)) != 10:
print("Invalid phone number. Please enter a 10-digit number.")
return

inpOrder = input("What do you want to order?: ")


qty = "SELECT QUANTITY FROM main_table WHERE
PRODUCT_NAME='{}'".format(inpOrder)
curobj.execute(qty)
fetch = curobj.fetchall()

if fetch and fetch[0][0] == 0:


print("OUT OF STOCK!!!!!")
else:
product_id = "SELECT PRODUCT_ID FROM main_table WHERE
PRODUCT_NAME='{}'".format(inpOrder)
curobj.execute(product_id)
fetchr = curobj.fetchall()

# For subtracting from the main table


a = "UPDATE main_table SET QUANTITY=QUANTITY-1 WHERE
PRODUCT_NAME='{}'".format(inpOrder)
curobj.execute(a)
obj.commit()

# For adding details into the order table


c = "INSERT INTO order_table(PRODUCT_ID, PRODUCT_NAME,
CONTACT_DETAILS_OF_CUSTOMER, DATE_OF_DISPATCH) VALUES({}, '{}', {},
CURDATE())".format(
fetchr[0][0], inpOrder, inpContact)
curobj.execute(c)
obj.commit()
print("Your order has been placed.")
except ValueError:
print("Invalid input. Please enter a valid phone number.")

# Main loop for user interaction


while True:
print("WELCOME TO ARYAVEER,ANSHU,NISHANT,SOHAAN,SANJANA'S ONLINE 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 = 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.")
OUTPUT
TESTING
Software Testing is an empirical investigation conducted to provide With
Information about the quality of the product or service under test stakeholders
a with respect to the context 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. These
one 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, modelbased
testing, traceability matrix, exploratory testing and specification-based testing.
SPECIFICATION-BASED TESTING

Specification-based testing aims to test the functionality of software according to


the applicable requirements. Thus, the tester inputs data into, and only sees the
output from the test object. This level of testing usually requires through test
cases to be provided to the tester, who they test that for a given input. The output
value (or behaviour), either RUUPE 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.
HARDWARE AND SOFTWARE REQUIREMENTS
Recommended System Requirements:
Processors: Intel® Core™ i3 processor 4300M at 2.60 GHz.
RAM: 2 to 4 GB.
Operating systems: Windows® 10, MACOS, and
UBUNTU. Python Versions: 3.10.2 or Higher. With
mysql.connector module installed MYSQL Versions:
8.0.28 or Higher.

Minimum System Requirements Processors:


Intel Atom® processor or Intel® Core™ i3 processor.
Disk space: 512 GB to 1TB.
Operating systems: Windows 8 or later, MACOS, and
UBUNTU.
Python Versions: 2.7.X, 3.6.X

Prerequisites before installing MySQL Connector


Python
You need root or administrator privileges to perform the installation
process. Python must be installed on your machine. Note: – MySQL
Connector Python requires python to be in the system’s PATH.
Installation fails if it doesn’t find Python.

On Windows, If Python doesn’t exist in the system’s PATH,

Please manually add the directory containing python.exe


yourself
BIBLIOGRAPHY
1. python.org
2. Google
3. Codeitup on youtube
4. Class 11 Book (Preeti Arora python)
5. Class12 Book ( Preeti Arora python)

You might also like