MINI PROJECT REPORT
SPORTS STORE MANEGMENT SYSTEM
BACHELOR OF COMPUTER APPLICATIONS
Submitted By
H GOKUL MENON
(Reg No: 2422J0324)
Under the Guidance of
Dr J. SANTOSH M.Sc., M.C.A, M.Phil., M.E, Ph.D.
HoD, DEPARTMENT OF COMPUTER APPLICATIONS
OCTOBER 2024
1|Page
CERTIFICATE
This is to certify that the Mini Project entitled “SPORTS STORE MANEGMENT
SYSTEM” is the bonafide record of Mini Project work done by H. GOKUL MENON
(Reg No: 2422J0324) of I BCA during the academic year 2024-2025 of his study in
the Department of Computer Applications, Sri Krishna Adithya College of Arts and
Science, Coimbatore.
SIGNATURE OF THE GUIDE
SIGNATURE OF HOD PROJECT HEAD
DEAN RESEARCH SIGNATURE OF PRINCIPAL
Submitted on Mini project Viva-Voice Examination held on 24.10.2024
EXAMINER
2|Page
DECLARATION
I, H GOKUL MENON hereby declare that the Mini Project work, entitled
“SPORTS STORE MANEGMENT SYSTEM”, submitted to the Sri Krishna
Adithya College of Arts and Science, in partial fulfilment of the requirements for the
award of the Degree of BACHELOR OF COMPUTER APPLICATIONS, is a
record of original research work done by me during the period 2024-2025. This Mini
Project is the original work carried out by me and it is not a part of any other Mini
Project/Project work.
Place: Coimbatore Signature of the Candidate
(H GOKUL MENON)
Date:
3|Page
ACKNOWLEDGMENT
I first and foremost thank the almighty for having bestowed his blessings on me to
complete the mini project.
I am indebted to our beloved Principal Dr S. Palaniammal M.Sc., M.Phil., Ph.D., Sri
Krishna Adithya College of Arts and Science, Coimbatore for her support and encouragement.
I wish to express my gratitude to the respected Dr K. Chitra M.Sc., MBA., M.Phil.,
Ph.D., Dean-Research, Sri Krishna Adithya College of Arts and Science, Coimbatore for
supporting me to complete this mini project work.
I deep sense of gratitude to the respected Dr K. Geetha MSc., M.Phil., Ph.D. Dean
of Computer Science and Dr J. Santhosh, MSc., M.Phil., M.E., Ph.D., Head, Department
of Computer Applications, Sri Krishna Adithya College of Arts and Science, Coimbatore for
their encouragement and support for the successful completion of this mini project.
I would like to convey my sincere gratitude to Dr S. Sheeja., MCA., M.Phil., Ph.D.,
Assistant Professor, Department of Computer Applications and Project Head, Sri Krishna
Adithya College of Arts and Science, Coimbatore for her encouragement and support for the
successful completion of this mini project.
I thank my project guide Dr J. Santhosh M.Sc., M.C.A, M.Phil., M.E, Ph.D.
Assistant Professor, Department of Computer Applications, Sri Krishna Adithya College of
Arts and Science, Coimbatore for his/her timely advice and guidelines which assisted me in
completing the mini project work successfully.
My sincere thanks and gratitude to all the faculty members of Department of Computer
Applications, Sri Krishna Adithya College of Arts and Science, Coimbatore for their
encouragement and support for the successful completion of this mini project.
My special thanks to my Parents, Friends and Well-wishers for their moral support
throughout the mini project work period.
H GOKUL MENON
4|Page
TABLE OF CONTENT
CHAPTER PARTICULARS PAGE NO:
01 SYNOPSIS 06
02 INTRODUCTION 07
03 REVIEW OF LITRATURE 08
04 SYSTEM STUDY 13
05 SYSTEM ANALYSIS 18
06 FUTURE ENHANCEMENT 20
07 CONCLUSIONS 22
08 APPENDIX 23
09 BIBLIOGRAPHY 36
5|Page
SYNOPSIS
It is a full solution with regard to project management of a sports retail business,
developed in the frontend using Python and MySQL for the management of the
backend database. It was planned as no GUI and instead used a command-line
interface, which does offer the necessary functionality for both administrators and
customers. Upon launching the application, the home page clearly delineates two
pathways: one for administrators and one for customers. For administrators, the project
features an admin page which allows for effective inventory management with
functionalities to add new products with pertinent details like name, price, and stock
quantity.
Moreover, one can update the existing products to keep pace with the change of prices
or quantity of inventory at hand to show to customers. The facility to remove any
product from inventory is given, whereby outdated or discarded products are removed.
This way, customers get only a relevant product list and, therefore, their shopping
experience is better. On the customer's side, it gives the page to check the shopping
cart, whereby a product can be added to the cart, quantities updated or items removed
according to their will. Customers can conveniently make changes within the shopping
as needed; at the time of payment, the whole process becomes clear and easy for the
customer when they can print out a detailed bill that contains details about the items
selected and the total costs.
The project would use robust database management through MySQL, thus ensuring
that every operation-from adding products to updating data, or managing the carts of
customers-runs without errors and with expertise.
6|Page
INTRODUCTION
In this fast-paced modern world, effective management of business operations is highly sought after
for the success of any business, and the retail sector is no exception. Specifically, the sports retail
needs efficient systems to control its inventory, customer purchases, and billing. Managing a sports
store through traditional manual processes involves time-consuming effort with considerable chances
of error, making it impossible to keep track of stock levels, sales, and customer transactions. The
project, in this case, is aimed at developing an application referred to as Sports Store Management
System that uses Python as the frontend and MySQL as the backend. This application would basically
facilitate the means of managing store operations by streamlining and making it user-friendly for both
the administrator and customers in a command-line interface.
The system is also similar to how a real sports store is to be managed in real life, with admins in
charge of handling the products and customers' responsibility to manage their shopping cart. The
uniqueness in this project lies in the fact that it gives a very high functional solution in terms of
efficiency using only a CLI; it really renders this a lightweight, very flexible system deployable across
different environments, free from the requirement to burden complex graphical interfaces. The system
integrates data manipulation with storage through Python and MySQL, which implies that the end
result from the introduction of the system will ensure all product inventory, cart management, and
billing operations are performed effectively.
The hub of the project is a homepage, which just simply connects the system to these two major
integral parts: Admin Page and Customer Page.
The Admin Page allows the administrators managing their stores to place, update, or modify new and
old products or remove the old inventory. This way, your inventory always shows real-time stock
levels and accurate product details such as prices and categories. Admins can also update existing
ones based on change in price or quantity that affects the needs of a dynamic sports retail environment.
On the other hand, the Customer Page is student-friendly for customers because they can easily
manage their shopping experience. Customers can search through products available and add them to
cart, update the quantity, and remove as necessary. Once finalized in buying, it prints its bill that
breaks down the items purchased, along with their total cost. The cart management functionality
ensures a smooth customer experience by accurately reflecting available stock and calculating total
prices based on product selection.
Another strength of this project, which helped to characterize it, is a data-driven approach. Since the
backend here is MySQL, this system can efficiently store and retrieve data as well as update it. All
the critical data like product information, levels, and contents in cart are stored in this database hence
becomes the back bone of an online store. MySQL is reliable and scalable. Therefore, promises that
the system will be able to increase its amount of data as the store expands while maintaining integrity
of the information. Meanwhile, the Python frontend has a robust set of functions that interact with a
database, thereby making sure that any business logic is applied when an operation, such as adding a
product, or generating bills, takes place.
This is quite a simple yet powerful Sports Store Management System, providing functionalities to
manage the store but without any advanced graphical interfaces. The system would thus be the perfect
solution for small- to medium-sized sports retailers to handle their products efficiently and their
transactions with customers. In addition, the system can be fully customized, thus allowing future
development to integrate online stores, report in real-time, and provide advanced analytics. The
system is modular and can thus be easily extended or adapted for different use cases in sports retail.
7|Page
REVIEW OF LITRATURE
In fact, store management systems, especially inventory and customer management, are among the
most popular concepts studied and implemented in the retail sector. The process of digitalization from
traditionally manual processes has, in fact, transformed the way of doing business within an
organization and made possible much more efficient, reliable, and scalable solutions. In recent years,
there has been tremendous usage of programming languages such as Python to develop such systems,
mainly in projects that depend on a robust database management system at the backend, like MySQL.
This literature review explores existing research, systems, and technologies related to store
management, database integration, and CLI applications in retail, focusing on their application in
sports store management.
Existing System:
Actually, core functions in retail management systems would contain simplifying functions,
managing inventory, and providing a desirable experience for customers. Many sports store
management systems have been developed in the last few years, which have been with different levels
of complexity, ranging from basic inventory management tools to much more e-commerce platforms.
Literature Review This paper reviews systems that have addressed related challenges in the past. In
further detail, this paper has narrowed down its focus on systems embracing Python or MySQL as
core technologies, and those making use of a command-line interface but have no graphical user
interfaces. The paper also looks at how these applications are applying inventory management, cart
systems, and billing.
1. Traditional Store Management Systems
Early traditional store management systems were traditionally on paper and were mostly manual,
such as inventory, sales, and customer transactions records. Because the system is dependent on
human interaction, it was prone to error, slow, and inefficient, especially huge operations of a store.
According to Silver et al. (2016), automated retailing forms changed retail by being more efficient
and accurate with digital inventory control, sales tracking, and billing processes. Most GUI-based
systems are developed using graphical user interfaces for most non-technical users, but the GUI-
based systems are relatively resource-intensive and have more complex infrastructure requirements
as opposed to other systems that may be too much for small stores or small businesses that prefer
light and small solutions. Systems based on the command line are usually minimalist and really
efficient for use when resources are limited, or the population using them is ready to perform common
command-line functions.
2. Python-Store Management Systems
Python has become the epitome of programming languages that can be used for developing store
management systems because it is simple yet versatile. Lutz (2019) observes that its library support,
which includes modules for database connectivity, file handling, and data processing, makes it
suitable for most applications in retail. Its smooth interfacing ability with databases such as MySQL
further makes Python very useful in developing store management systems. Many Python-based
systems use frameworks such as Django or Flask for their store management systems. The former
allow a higher general-level abstraction and are thereby reasonably easy to develop in terms of e-
commerce platforms. More generic Python systems with, especially no GUI, are simpler and geared
more toward functionality than to form. Some usage can be seen among smaller to medium-sized
retail organizations, whereby performance and speed dominate over visual design: CLI-based Python
systems. These systems often are designed to take the most advantage of Python's natural capacity
8|Page
for processing data and interacting with MySQL databases in managing the operations of inventory,
sales, and billing.
3. MySQL for Store Management Systems
MySQL is generally found to be widely used as the backend database for many store management
systems; thus, it offers a reliable and scalable way of storing data. As provided by Bartholomew,
"MySQL offers essential features like transaction management, structuring of relational database, and
indexing that directly supports managing data in retail such as inventory and sales records." MySQL
is also famed for its handling of foreign key relationships and its ability to retrieve queries, ideal for
a system that requires managing complex structures like product inventories and customer carts. In
the current existing systems, MySQL was used to hold the product details, customer information, and
all the transaction data. For instance, in an inventory management system, product ID, name, category,
price, and stock levels could be maintained, while in a cart system, details regarding items selected
by customers for purchase could be kept. All these systems require real-time updations so that every
change done by the administrator or the customer gets reflected in the database, which is a very critical
requirement for MySQL-backed store management applications.
4. Inventory Management Systems
Any management system in a store is remarkably dependent on efficient inventory management.
"Current inventories, prices, and stock levels should be monitored accurately to avoid potential
problems such as overstocking, stockouts, and price miscalculations that can have a direct impact on
the operations of a store as well as reducing profitability," said Gill (2020). In sports stores where the
inventory could be anything from sport equipment to apparel and all kinds of accessories, inventory
management systems need to handle so many types of products and quantities. Already invented
inventory management systems have features like real-time updates, low stock alert, automatic
reordering, etc. with which the administrators of that store can manage the stock quite effectively. But
in the context of this proposed project, GUI-based systems are not considered; hence, only core
functionalities such as addition, updation, and deletion of products using CLI could have been
supported by the proposed system. Such interfaces often directly relate with the database for any
alteration of the details of the product or on any kind of alteration on the status of the stock.
5. Customer Shopping Cart and Ordering Systems
A cart system for customers is a natural part of managing a retail site since it allows customers to pick
products, then count how much they should buy, and what they finally purchase before pay-out. In
most current practice, customer carts are mostly managed using session-based storage in web
applications or directly in databases for CLI-based systems. Laudon and Traver (2019) explain how
e-commerce sites have developed advanced carts wherein users could save, update or modify content
across sessions. In simpler systems based on the CLI, customer cart capabilities are obtained through
tables in the database which maintains and stores the contents of the carts. The work of adding
products into the cart, updating the quantities, removals, and total costs can be managed by
implemented Python functions combined with MySQL. Tanenbaum (2017) mentions that the
precision of the cart system and also the billing process is needed for customer satisfaction to be kept
intact. The error should be adequately handled about ensuring products are out of stock to notify
customers or prevent over-purchasing, which is essential to get the system working. Often, these
systems produce a bill or invoice containing the exhaustive details of the purchases made by the
customer along with the taxes and total amount payable. In these systems, a bill can be produced by
querying the cart and product table in the database by adding up the final amount and showing the
data to the user in an appropriate format. The CLI-based billing systems would heavily rely on
9|Page
Python's formatted output functionality to print this data nicely in the console for the purpose of
completing a transaction.
6. CLI-based Retail Management Systems
While GUI-based systems are so common in modern retail management, a good number of
organizations still prefer CLI-based systems especially when one is performing small business or
scenarios where there is an immense desire for simplicity and performance. According to Jones
(2018), CLI-based applications become easier to deploy, require fewer resources, and offer more
flexibility in the environment where visual interfaces are considered either unnecessary or
impractical. For example, CLI-based systems are easily executed on remote servers or even devices
using low power, without asking for a special display or user interface. Such a system would be
interacted with by the administration as well as the customers through the CLI-based retail systems.
This will bring low complexity levels of the application and facilitate more rapid processing of data
since graphical elements do not have to be loaded or managed. Application examples exist for CLI-
based store management systems through existing applications in the environment in which the store
is situated, such as in warehouses, back offices, or small stores where fast and efficient control of
inventory and processing transactions are critical.
7. Comparison with Other Systems
The project is on simplicity, efficiency, and necessary functionality, whereas most of the existing
sports store management systems have been dealing with more complex GUIs and web-based
interfaces. The Python-MySQL integration provides a reliable and scalable solution to the
administration of the operations in a store. The CLI provides ease of use for administrators and
customers accustomed to text input as well. Most existing systems rely on front-end technologies
such as HTML, CSS, JavaScript, and others like web development frameworks, which makes the
system highly over reliant upon developmental overhead and resource requirements. The system
developed for this project makes use of a lightweight CLI that eludes dependence on such front-end
technologies and only deals with the backend functionality pertaining to inventory and cart
management.
Limitation:
Such a system, while making many promises like simplicity, speed, and having low resource
consumption, has its significant limitations in developing sports store management systems with
Python and MySQL, especially without any GUI. These limitations arise due to the lack of a graphical
interface, dependency on a command-line interface, issues in scaling it up for the requirement of
larger retail businesses, and even some with regard to user experience and data management. This
literature review will discuss the prevalent deficiencies that the same systems have, alongside the
adverse effects that they pose to the functionality and utility of the project as a whole.
1. Lack of Graphical User Interface (GUI)
Perhaps one of the most significant drawbacks is that it cannot support a graphical user interface.
Although the CLI-based systems are efficient and light in weight, they are not necessarily user-
friendly, especially for non-tech-savvy users. To this end, as Jones (2018) suggests, GUIs offer a
relatively more intuitive way in which humans interact with software due to their visual elements like
buttons, menus, and forms-features that facilitate easier navigation and operation. In contrast, systems
operating with a CLI prompt users to type commands in text. The problem is that, for those who have
never used command-line operations, these systems may be very cumbersome. This sports store
10 | P a g e
management system, which does not offer the GUI, may look like a learning curve to administrators
and customers who are not used to working in a command-line environment because there is no GUI.
For instance, the inventory manager would have to memorize certain commands to add, update, or
delete products, while customers would also have to learn how to use the system in order to run their
shopping cart and print out bills. Studies by Norman (2013) show that GUIs greatly reduce cognitive
load because reliance on visual cues and feedback facilitates the activity. Users hardly do that in CLI
systems.
2. User experience and usability are limited
Another domain in which the CLI-based systems, and this sports store management application
included, are behind is user experience (UX). Nielsen, 2012 states that the users expect modern
software applications to exhibit fluid and direct interactions along with graphic feedback for their
actions. Such a thing does not happen in the case of CLI systems; therefore, an issue arises where the
output of the user's commands is not known whether the operation executed well or not. This can end
up in confusion among the users who will make wrong decisions thus bringing down the usability
factor of the system. For example, in this research, the user is supposed to request adding items to the
basket, then update quantities, and print a bill using text-based commands. It is technically workable,
but very painful when it comes to the users who are already so used to modern, visual-based e-
commerce applications where they can just click their way into having something added to their cart
and then immediately see how the total adjusts itself. Another disadvantage of CLI systems is that
they may not be very user-friendly regarding error handling. It could mean that in case a customer
makes a mistake about the command entered, it will accept the input and give an error message that
would require a bit of technical knowledge to interpret, hence frustrating the users and their
experience while shopping.
3. Inability to Scale for Large Businesses
Another disadvantage of the CLI-based systems like the one used here for this assignment is their
inability to scale properly. However, whereas CLI systems would be just enough for small to medium-
sized sports stores with a restricted range of products, large retail operations that handle thousands of
products and customers may want more sophisticated features and interfaces, which is difficult for
CLI systems to deliver. As Gill (2020) points out, systems require handling more complex data queries
the higher the number of products, transactions, and users, as well as more complex tasks related to
interaction with customers and inventory management. The administrators could also require
functionalities such as importing many products at one time, automated restocking notifications, and
real-time sales reporting for more expanded operations. More important data, including sales trends,
stock levels, and customer analytics, which would be rendered useless without a graphical dashboard,
may make it hard for a manager of a store to maintain an overview of the performance of the store.
While MySQL quite well handles big data, it is not so easy for users to navigate and manage
information of this kind in the CLI due to the lack of visual representation.
4. Data Entry Errors
CLI-based systems largely depend on manual data entry, hence they are prone to human errors.
According to Silver et al. (2016), one of the prevalent causes of errors in inventory and sales
management systems is manual data entry. In a GUI, the user is provided with dropdowns,
checkboxes, and auto-completing features that minimize the possibility of doing the wrong input of
data. For CLI systems, syntax and their inputs must always be correct. For example, if a new product
is added or an old one modified in this sports store management project, administrators will be
required to enter product IDs and names as well as the price and number of stock. The possibility of
11 | P a g e
committing typos or other errors in a CLI is very probable as such changes may never be detected
before checkout, thereby again, potentially screwing up the stock. Furthermore, customers who would
use CLI commands to manage their cart are most likely to also key in wrong product IDs, or even
quantities, which will then cause problems during checkout. Unlike GUIs, CLI systems provide less
assistance in circumventing or correcting errors of this type.
5. Less Consumer Interaction Mechanisms
The most important advanced retail management features of all the systems working in the e-
commerce site include enhancing customer engagement and personalization. It could include product
recommendations, reviews by the customers, individual customers' discounts, or even easy checkout
processes. However, since it is a text-based method, CLI-based systems like the one developed for
this project are limited in offering such engagement features. According to Laudon and Traver (2019),
customer engagement is the most critical aspect of modern retail, driving sales and improving the
overall experience in shopping. As such, e-commerce sites will always have a beautiful, interactive
experience that will hook in the customers for frequent return visits. A CLI-based system, on the other
hand, would not be inviting but only functional, holding no notion of shopping as an enjoyable
experience and not in any way personalized.
6. No Real-Time Visual Feedback
One of the critical limitations of CLI systems is no real-time visual feedback, a vital feature in most
current retail management systems. As Nielsen asserts, in many words, real-time feedback enhances
the user experience: it gives immediate visual assurance that an action has been successfully
completed or directs attention to errors right away as they are made. This is particularly true in
inventory management, that the administrator should know whether a stock level adjustment has been
considered, or in the billing process, where an appropriate real time total should be issued to the
customer. As provided in this sports store management project, feedback is text-based and needs to
be read manually. User: In this sports store management project, any kind of feedback is text-based,
and the user needs to read it manually. Though Python can print out the messages such that the product
has been added to inventory or a bill has been generated; however, this feedback is not as immediate
as well as clear as the graphical interfaces. Without any charts or tables, for the administrators, it is
rather tough to get an overview instantly about status of inventory as well as sales data.
7. Security and Access Control Limitations
Whichever effective and friendly the customer service technologies may be, security and access
control are fundamental issues in a retail management system with sensitive information about
customers and monetary transactions. According to Tanenbaum (2017), retail systems ought to be
encoded using RBAC, data encryption, and safe login mechanisms to protect unauthorized access and
data loss. Although CLI-based systems might offer some very simple security functionalities, such as
password protection of the admin interface, they certainly lack most of the more complex security
mechanisms typical of more advanced GUI-based or web-based systems. In the suggested
management project for a sports store, the access to the admin page and customer page has been kept
separate without installing more layers of security. For example, if sensitive data is being handled or
stored within the database of the system without appropriate security measures, then it may become
vulnerable to any level of security risks. Furthermore, without encryption mechanisms, it may not
meet the expected security implementations over that data which is to be cared about when payment
details are being dealt with.
12 | P a g e
SYSTEM STUDY
System Study in a Project A project involves a thorough study of the different parts of the system,
like architecture, functional requirements of a system, its designs, and how it interacts with its users.
This section is therefore a comprehensive analysis of the sports store management system using
Python at the frontend and MySQL at the backend on its structure, functionality, and user interactions.
Proposed System:
The proposed system for the management project in the sports store will be developed as a simple
command-line-based application with Python as the frontend and MySQL as the backend. The system
is intended to offer a structured approach and an efficient method of managing the inventory of the
store and the purchases made by customers. This study reviews the major components, functionalities,
advantages of the developed system, and improvements over the existing manual systems or
alternative software approaches.
1. Summary of Proposed System
The suggested system will be developed for the automation of normal activities in a sports store. The
inventory control and transaction related to the purchase by the customer will be automated. The
system will be designed without any Graphical User Interface (GUI), it will interact with the user
through the command-line interface provided by Python and the management of the inventory will
be done through MySQL. Operations related to the system will be divided into two types of users:
the Administrator and the Customer. Both of them will be doing some distinct functionality that will
allow the smooth functioning and management of the store.
Key Features of the proposed System:
Administrator Page: Supplies an interface with all the admin functionalities such as adding,
modifying, and deleting products in inventory.
Customer Page: Presents a view to the customers from where they can view the various
products, add items in the cart, modify or delete items in the cart, and print out the final bill.
Database Management: MySQL is used to store all data and hence ensures the reliability in
the data handling and integrity.
No GUI: Uses a pure command-line interface and thus provides simplicity and reduced
resource overhead.
2. Objectives of the proposed system.
The main objectives for the proposed system are as follows:
Automation of store operations Inventory management, it automates the manual inventory
processes Manual processes of customer billing Improved accuracy and efficiency Through
usage of MySQL, the system reduces human errors regarding inventory tracking and billing.
Simplicity in Design: The system has been designed for those environments where a GUI is
either not required or will be too resource-intensive to support, and provides a simple CLI for
use by all users.
Improved Customer Experience: Though operating through CLI, the system looks to offer
customers a user-friendly interface for managing their purchases and generating accurate bills.
3. System Architecture
13 | P a g e
The proposed system followed a simple client-server architecture with Python acting as the
client(frontend) and MySQL as the server(frontend). This means that it effectively creates a smooth
communication between user and database and at the same time providing lightweight structure for
non GUI applications
A. Frontend (Python CLI)
A simple interface for administrator interaction with the system as well as that of customer, created
using the command-line interface in Python: This captures user inputs processes the same and relays
the same to the back end that is MySQL for execution. The system uses Python's standard libraries
and MySQL connectors to interact with the database.
Admin Operations
* Add/Update/Delete products from the inventory of the store
* Current stock and product details.
Customer Operations:
* View the inventory offered in the store.
* Add products to cart, edit the quantities, or remove product from cart.
* Generate an invoice based on those in the cart.
B. Back End (MySQL Database):
All the data related to the products, inventory, customer carts, and billing transactions, this MySQL
backend stores. This database is designed in such a manner that the product relationships with the
customer's cart are managed efficiently to ensure that every inventory operation is correctly reflected
in real-time.
Important Tables in MySQL:
Product Table: The product table will store all the information related to each product,
including the product ID, name, price, and stock levels.
Cart Table: The table stores items put into a customer's cart temporarily for updates and
deletions.
Billing Table Optional: Serves for record-keeping purposes where final transactions are kept
as records.
4. Functional Specifications of the Proffered System
The system has been broken down into the Admin Module and the Customer Module where it would
perform a myriad of functions. Features and responsibilities for each module will ensure smooth
operation.
A. Admin Module (Inventory Management):
Add Products: The admin can add new products to the inventory using some primary details
such as product ID, name, category, and the price, quantity
Update Products: The admin is able to update the existing product detail in the inventory by
varying the price and quantity of stock.
Delete Product: The admin can even delete the product if it is out of production.
View Inventory: The administrator will fetch all the products with price and the corresponding
stock level.
B. Customer Module (Cart Management and Billing):
14 | P a g e
View Products: Present a view of all the available products in the shop along with their price
and quantity.
Add to Cart: Add a product to the shopping cart by using the product ID and the quantity to
be purchased.
Update Cart: The customers are allowed to update the number of items in the cart.
Delete from Cart: Customers can delete items from their cart if they have changed their mind.
Print Bill: When the customer has made up his mind, he can print the bill since it will
automatically give him the total amount for the items he is purchasing. The inventory will also
be updated based on the transaction when the transaction is settled.
5. System Workflow
This is a system workflow that depicts how different components within a given system are working
together to produce one specific goal. There are two types in it, which are Admin Workflow and
Customer Workflow.
A. Admin Workflow:
This stream shows the process in which an administrator logs into a given system and, from the screen
shown, manages the inventory. The admin can add new products, update existing products, or delete
the products from the inventory. At the end of every action, the system calls out to MySQL for an
appropriate modification query to the database. The status of each step is sent back to the admin (e.g.
product added successfully, product deleted.)
B. Customer Workflow:
Customer logs into the system and displays a list of products that are present in the shop. Customer
can add items to the cart for purchase by choosing the product ID and quantity. By then, when one is
through with shopping, one can print the bill by selecting the "Print Bill". The system totals out the
sum to be paid for all items in the cart and also shows how many of them were purchased. It clears
the cart, updates the inventory while recording that some items are sold.
6. Data Flow
The mutual information exchanged between the frontend, that is Python CLI, and the backend,
MySQL is as follows: it begins with user input, then processes it, which will be transmitted to the
backend for execution.
Input: Admin or customer inputs commands through the CLI, such as creating a product or
choosing products to add to the cart.
Processing: Python performs the inputs and translates them into SQL queries to be executed
by the MySQL database.
Interacting with the Database: The MySQL database is executed, and its result is returned-for
example, updated inventory or bill total.
Output: The output, for example, confirmation message(s) or final bill, is printed to the user
through the CLI.
Advantages of proposed system:
The sports store management system proposed in this paper is built using Python as the frontend and
MySQL as the backend. This offers a number of advantages both to the store administrators and
15 | P a g e
customers. Because there is no need for a GUI, and the focus is simply on a bare CLI, this system can
be considered as an excellent one to be used in small and medium-sized stores. The following is a
detailed study on the key benefits offered by the proposed system.
1. Simplicity and Ease of Use
The simplicity of the proposed system presents a great advantage since there is no complexity of
building and maintenance of graphical interface while using CLI. Therefore, it is very easy to develop
and deploy. Simple text-based commands can be used by users and especially administrators to
perform inventory management and billing with much speed efficiency.
Minimal GUI Overhead: There is no overhead of a GUI, and this means that the system can
run on any machine of lower specifications. Therefore, it will be accessible to a larger
spectrum of hardware.
Simple Learning Curve: The users who are familiar with the basic command-line operations
will find the system intuitive and easy to use, thus allowing rapid adoption with minimal
training.
2. Efficiency in Inventory Management
It greatly increases the efficiency of inventory management since the addition, updation, and removal
of products in the inventory are all performed totally through automation. In this regard, the inventory
of the store is automatically updated, eliminating the necessity of manual tracking, which can be very
time-consuming and fault-prone.
Real-Time Updates: Altered additions or removals of products within the inventory
automatically update the MySQL database, giving it real-time stock levels at all times.
Reduced Human Error: Automated management of inventories reduces the errors in tracking
the stocks, which eventually makes the product availability and pricing accurate.
3. Streamlined Customer Experience
For customers, the system has an ease in shopping in their ordered list of items. The customers can
easily get hold of the list of products available, add items to the cart and update or remove them, and
then print the bill at last. The system helps to automate the billing process and thereby ensures that
accurate and timely receipts are received by the customers.
Easy Management of Cart: Customers may add or remove items in their cart by the simple
command-line prompts; this eliminates the hassle in shopping.
Actual billing: The system automatically calculates the total bill, including all items in the
cart. This ensures that the customer is charged correctly. Its calculation will automatically
reduce the need for manual calculations thus making less error-prone.
4. Data Integrity and Security
The use of MySQL as a back-end will ensure the robust handling and integrity of data. MySQL is a
reliable and secure relational database management system (RDBMS) that assures data accuracy and
consistency to be kept within the system.
Transaction Management: MySQL supports transactions. This ensures that changes made to
the inventory, as well as any purchases made by the customers, will be processed in a reliable
manner. Since a transaction can fail with an error at almost any point, the database can easily
roll back to a previous point in the transaction to maintain consistency in the system.
16 | P a g e
Data Security : The product details along with transaction records are preserved with the
structured database system. MySQL also supports user authentication and permission
management, which will be used to secure different roles in future: admin and customer.
5. Minimum Resource Consumption
Since the entire system is command-line-based, relying on no graphical user interface at all, resource
usage and consumption are fewer compared to those running applications used in GUI systems. It
goes to say that the system is highly efficient about the amount of CPU, memory, and storage needed.
Lightweight Operation: The system uses minimal resources - a characteristic of the command
line - allowing the system to run on variously powered devices.
Scalability: The solution is lightweight; hence it can be scaled up in the case of larger
inventories or more significant transactions with no need for upgrades in hardware.
6. Cost-Effective Solution
The simplicity of the design of the system, along with the reliance on open-source technologies like
Python and MySQL, makes it a cost-effective option for small to medium-sized sports stores.
No License Fees: Both Python and MySQL are free open-source, so there are no charges
associated with the use of these technologies.
Low Development and Maintenance Costs: There is no GUI, and hence development and
maintenance are easier. The costs associated with design, implementation, and modification
of a sophisticated interface are also reduced.
7. Flexibility for Future Enhancements
Although it is simple and lightweight, the system is also highly flexible, allowing for possible future
enhancements and alterations. Such functionalities as authentication, role-based access, reporting,
and analytics can be easily added to this existing framework as needs evolve within a store.
Modular Design: Modular design in this system allows functionality addition or modification
without disturbing core operations of the system.
Expandable Database : An expandable database of various tables and relationships can be
created, bringing advanced applications with customer management, sales reporting, and
product categorizations.
8. Improved Accuracy and Reliability
This minimizes the human error element in tasks such as inventory update and billing. The system,
therefore, makes store operations more precise and reliable. Storing data in the MySQL database
guarantees a secure and stable environment for all data. This minimizes possible loss or corruption of
data.
Less Error: Automatic methods of billing and inventory updates minimize chances of
calculation mistakes or incorrect stock counts.
Reliable Data Storage: MySQL has such high features that data are always kept consistent and
recoverable in case of unexpected errors or system crashes.
9. Real-Time Inventory and Sales Tracking
The system allows administrators to keep in track of the inventory levels in real-time hence implying
that products are availed at the appropriate time and avoiding overstocking or understocking
17 | P a g e
situations. Consequently, the system produces sales transactions in real-time to help store managers
be in good control of business performance.
Inventory Control: Real time updation in the inventory enables stock to be kept accurate at all
times; hence decisions about re-ordering or promotions become more informed and vivid.
Monitoring of sales: Administrators can track sales in real-time, which helps them understand
trends, peak sales periods, and the preferences of customers.
10. Faster Transaction Processing
The system will ensure faster processing of the transaction because the billing and cart management
processes are automated. The overall customer experience is enhanced, such as shortening the waiting
time in checkout, and more customers can be accommodated at the store without any delay.
Immediate Billing: The system immediately calculates the total amount for items in the
shopping cart, eliminating the need for manual calculation, and a fast transaction time is
acquired.
Instant Upgrade in Inventory: After every transaction, this system updates inventory in real-
time so that there will not be any stock inconsistency and products will be available all the
time.
SYSTEM ANALYSIS
System analysis is the system analysis phase of the sports store management project, which deals
with all the requirements, functionalities, and architecture of the system. This aims at outlining the
objective of the project, identifying stakeholders for the system, defining the requirement of the
system, and exploration of the design to see to it that the needs of both the administrators and
customers are met.
Module Description:
The sports store management system is built by different modules, which therefore offers specific
functionality relating to inventory management and customer interaction. A module-based
architecture has these benefits: development and scalability; and ease of maintenance. Below is a
more detailed description of the key modules within the project.
1. Home Module
Description: Home module is the entry point of the application. It is a simple view that allows the
user to either select admin or customer functionalities.
Ability to display a welcome message and allow the user to choose either Admin or Customer
page.
Validate the selection of any input that should allow navigation in the right manner.
User Interaction: Provides the prompt for the user to choose between Admin or Customer
functionalities, then processes the choice in the right manner.
2. Admin Module
18 | P a g e
Description: This module is aimed for the management of product stock, hence it should enable the
administrators to add, edit, and delete the products. It has some functionalities
Add Product:
* Input: Details like name, category, price, and quantity of the product.
* Process: Validate input details and create a record in MySQL database.
Update Product:
* Input: Details with new information like price, quantity, etc. with the product ID.
* Process: Retrieve the existing details of the product with updated fields, update database.
Delete Product:
* Input: Details like product ID of the product to delete.
* Process: Delete the product from the database after it has been located
Inventory View
* Process: Extract list of all products in inventory along with printing them including ID,
name, category, price along with the available stock.
3. Customer Module:
It exposes the command-line through which the admin can input details of the products, and he/she
would get prompt feedback about action taken.
Description: The customer module is an interactive module for the user to manage his shopping
activity. There he will browse the product catalog and update his shopping cart.
View Products:
* Process: Retrieve the products available from the database for presentation before the
customer.
Add to Cart:
* Input: Product ID, quantity.
* Process: Validate the input, check availability of the products selected and update the
customers' temporary data structures of the cart.
Update Cart.:.
* Process: Update the no. of the particular product in the cart. Ensure it does not exceed the
availability stock.
Delete from Cart:
* Input: Product ID .
* Process: Delete the particular product from the cart
Print Bill:
* Process: Items in cart which can generate the total amount collected with a facility to print
the bill for the customer.
* User Interaction : Allows customers to browse products and maintain a shopping cart
through command-line commands as well as prompts for desired actions.
4. Database Module
Description: This module wraps all interactions against the MySQL database. It abstracts away
database operations and makes the logic of the main application easier to understand and work with.
Connect to Database: connects the MySQL database using proper credentials
19 | P a g e
Execute Queries: allows for CRUD operations on both the product inventory as well as the
customer's shopping cart.
Close Association: Database connection should be closed safely on closing the application.
User Interface: This module does not require direct user interface as it functions in the
background and enables data access to both admin and customer modules.
Module Integration: The module integration is very important to ensure the smooth
functioning of the sports store management system
Home Module It acts as a router which forwards the customer to either Admin Module or
Customer Module based on the selection.
Admin Module interacts with the Database Module to accomplish all operations related to the
management of inventory while providing the feedback and confirmation to the administrator.
Customer Module communicates with the Database Module to acquire the products
information and maintain the shopping cart for its final accomplishment, which is to generate
the final bill and then print it.
DFD Diagram:
FUTURE ENHANCEMENT
While the present implementation of the Sports Store Management project covers sufficiently enough
functionalities on the management of products and customer interactions, there are still many
potential enhancements that can improve usability, performance, and scalability. Below are suggested
future enhancements:
20 | P a g e
1. Graphical User Interface (GUI) Development
Description: From a command-line interface to a graphical user interface would eventually pave the
way to a great improvement in user experience.
Implementation: Applications should be created using libraries like Tkinter or PyQt to add a friendly
GUI.
Benefits: The application would be more accessible and user-friendly to users not comfortable with
command-line operations; interaction could be easier.
2. User Authentication and Role Management
Description: Secure the application by implementing a stronger authentication mechanism and role-
based access control.
Implementation: Make libraries such as Flask-Security or Django's authentication system deal with
user sessions and permissions.
Benefits: This would give more flawless identification of the roles between an admin and a customer
and would improve security in terms of offering password recovery and MFA.
3. Reporting and Analytics
Description: Enable reports so that sales, inventory level, and customer behavior can be understood.
Implementation: Through libraries like ReportLab or Pandas, reports could be generated in different
formats such as PDF or CSV.
Benefits: Administrators will be able to analyze trends, make the right decision about inventory
management, and strategize optimal marketing.
4. Features of Advanced Inventory Management
Description: Implement features which enable advance stock management, such as features for stock
alerts and supplier management.
Implementation: Add functionality to set reorder levels and notify administrators when stock falls
below those levels.
Benefits: This keeps optimal levels of stock. The risk of running out of stock is minimized.
5. Customer Loyalty Program
Description: Developing a loyalty scheme that rewards the repeat customer through offering an
incentive to have repeat business
Implementation: Keeping track of every purchase made and issuing points or even offering a discount
for subsequent purchases. Benefits: Encourages repeat business and boosts customer satisfaction.
6. Mobile App Development
Description: Creating a mobile application that allows viewing products and managing the cart
through an app on a smartphone.
Implementation: Use Flutter or React Native Frameworks to develop a cross-platform mobile
application.
21 | P a g e
Benefits: Increase convenience and accessibility of the product, which can potentially boost sales.
7. Integration of Payment Gateway
Description: This involves the capability to process payments such that customers can purchase
through the website.
Implementation: Use Stripe or PayPal for the secure transaction.
Benefit: Smooth shopping and online sales.
8. API Development
Description: The development of RESTful APIs would expose the functionality of the sports store
management system.
Implementation: Make use of the flask or FastAPI to build APIs which third parties could use as a
method of integration.
Benefits: More flexibility, since developers can build more applications or interface with other
systems.
9. Performance Optimization
Description: Enhancing database query and overall application performance.
Implementation: Analyze the slow queries and make optimizations; consider implementing caching
policies.
Benefits: The responsiveness of the application will be heightened to give the users an excellent
experience.
10. Internationalization and Localization
Description: Prepare the application for international use by being able to support any amount of
languages and currencies.
Implementation: Capability of configuring language and currency settings should be allowed by the
users
Benefits: This provides full coverage of the customers because an application will reach out to non-
English speaking populace.
CONCLUSION
In conclusion, the Sports Store Management project is a holistic and effective solution designed to
manage a sport retail venture using Python as the frontend language and MySQL as the backend
database management system. This project successfully addresses the most basic needs of both
administrators and customers by providing intuitive functionality through a command-line interface.
This means that the administrators can easily maintain the product inventory by adding, updating, or
deleting products. The inventory also gets updated according to the demand by the customers. The
system side has a problem-free way of managing the cart for its users. The product can be added or
removed effortlessly, and the bills can even be printed if the product is purchased. This makes it easier
22 | P a g e
to shop as well. The very base of the database design speaks about the best practices for data integrity
and efficient management to ensure each operation is done reliably and swiftly. This version of the
application does not provide a user interface, yet this very option points toward probable future
developments which can greatly make a difference in interaction with the application and its
accessibility. A project that is envisioned for a GUI, enhanced security features, and analytical tools
will be well-positioned to grow and adapt in a dynamic retail environment. More features like
customer loyalty programs and payment gateway integration can also make the whole system turn
out to be an E-commerce solution. Finally, this project meets its set objectives and becomes a solid
base for further development, showing the scope for innovation and excellence in the sport retail
business. The system will grow with the technology and meet changing needs in business and
customers, thus making its presence stronger in the competitive landscape of the sector of retail
management.
APPENDIX
Sample Coding:
23 | P a g e
24 | P a g e
25 | P a g e
26 | P a g e
27 | P a g e
28 | P a g e
Sample Output:
29 | P a g e
30 | P a g e
31 | P a g e
32 | P a g e
33 | P a g e
34 | P a g e
35 | P a g e
BIBLIOGRAPHY
www.planet.mysql.com
www.stackoverflow.com
Computer science with Python XII – Sumita Arora
Python full course by freecodecamp.org
36 | P a g e