1.
INTRODUCTION
1.1 ABSTRACT
The aim of a Sports Store Management System is to develop a system or platform
that simplifies and automates the process of managing Sports store items. This system aims to
improve efficiency, accuracy, and transparency in handling details related to sports store.
Below are the key objectives and goals of the project:
1. Automation of Fee Collection
Automate the fee payment process, reducing the reliance on manual processes.
Provide options for students and parents to pay fees online or through other digital
platforms.
2. Efficient Fee Tracking
Track payment statuses for each student, including any dues or pending payments.
Generate real-time reports on fees received, outstanding dues, and fee structure for
each class or course.
3. Enhanced Financial Management
Allow administrators to manage fee structures (e.g., tuition, transport, extracurricular
activities) and categorize fees easily.
Enable management of discounts, scholarships, or waivers for eligible students.
4. Transparency and Accountability
Provide parents and students with clear visibility into fee payment history and
outstanding balances.
Generate receipts and invoices that are automatically sent to the concerned parties
after payment.
5. Reduction of Errors and Delays
Minimize human errors in storing the records of sports products.
Implement automatic reminders for upcoming or overdue payments to avoid delays.
1
1.2 FRONT END - PYTHON
Python is a very popular general-purpose interpreted, interactive, object-oriented, and
high-level programming language. Python is dynamically-typed and garbage-collected
programming language. It was created by Guido van Rossum during 1985- 1990. Like Perl,
Python source code is also available under the GNU General Public License (GPL). Python
supports multiple programming paradigms, including Procedural, Object Oriented and
Functional programming language. Python design philosophy emphasizes code readability
with the use of significant indentation.
Python is consistently rated as one of the world's most popular programming
languages. Python is fairly easy to learn, so if you are starting to learn any programming
language then Python could be your great choice. Today various Schools, Colleges and
Universities are teaching Python as their primary programming language. There are many
other good reasons which makes Python as the top choice of any programmer:
Python is Open Source which means its available free of cost.
Python is simple and so easy to learn
Python is versatile and can be used to create many different things.
Python has powerful development libraries include AI, ML etc.
Python is much in demand and ensures high salary
Python is a MUST for students and working professionals to become a great Software
Engineer specially when they are working in Web Development Domain. I will list down
some of the key advantages of learning Python:
2
Python is Interpreted − Python is processed at runtime by the interpreter. You do not need to
compile your program before executing it. This is similar to PERL and PHP.
Python is Interactive − You can actually sit at a Python prompt and interact with the
interpreter directly to write your programs.
Python is Object-Oriented − Python supports Object-Oriented style or technique of
programming that encapsulates code within objects.
Python is a Beginner's Language − Python is a great language for the beginner-level
programmers and supports the development of a wide range of applications from simple text
processing to WWW browsers to games.
CHARACTERISTICS OF PYTHON
Following are important characteristics of Python Programming –
It supports functional and structured programming methods as well as OOP.
It can be used as a scripting language or can be compiled to byte-code for building large
applications.
It provides very high-level dynamic data types and supports dynamic type checking.
It supports automatic garbage collection.
It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.
APPLICATIONS OF PYTHON
The latest release of Python is 3.x. As mentioned before, Python is one of the most widely
used language over the web.
Easy-to-learn − Python has few keywords, simple structure, and a clearly defined syntax.
This allows the student to pick up the language quickly.
Easy-to-read − Python code is more clearly defined and visible to the eyes.
Easy-to-maintain − Python's source code is fairly easy-to-maintain.
A broad standard library − Python's bulk of the library is very portable and cros
platform compatible on UNIX, Windows, and Macintosh.
Interactive Mode − Python has support for an interactive mode which allows
3
interactive testing and debugging of snippets of code.
Portable − Python can run on a wide variety of hardware platforms and has the same
interface on all platforms.
Extendable − You can add low-level modules to the Python interpreter. These modules
enable programmers to add to or customize their tools to be more efficient.
Databases − Python provides interfaces to all major commercial databases.
GUI Programming − Python supports GUI applications that can be created and porte
to many system calls, libraries and windows systems, such as Windows MFC, Macintosh, and
the X Window system of Unix.
Scalable − Python provides a better structure and support for large programs than shell
scripting.
PYTHON FEATURES:
Python is an expressive language-fewer line of codes and simpler syntax. Python is
very easy and compact to use object-oriented.
It is an interpreted language and not a complied language.
Python can run equally well on a variety of platforms like windows, LINUX etc.
Python language is freely available along with its source code.
Python has evolved into powerful, complete and useful languages over the years.
4
1.3 BACK END- MySQL
MySQL is currently the most popular open-source database software. It is a multi-
user, multithreaded database management system. MySQL is especially popular on the web.
It is one of the parts of the very popular LAMP platform. Linux, Apache, MySQL and PHP or
WIMP platform Windows, Apache, MySQL and PHP.
MySQL AB was founded by Michael Widenius (Monty), David Axmark and Allan Larsson in
Sweden in year 1995. MySQL is a relational database management system based on SQL –
Structured Query Language.
The most common use for MySQL however, is for the purpose of a web database. MYSQL
has been used in this project to store the details of the vehicles in form of a table.
Features of MySQL:
Open Source & Free of Cost: It is Open Source and available at free of cost.
Portability: Small enough in size to install and run it on any types of Hardware and OS like
Linux, MS Windows or Mac etc.
Security: Its Databases are secured & protected with password.
Connectivity: Various APIs are developed to connect it with many programming languages.
Query Language: It supports SQL (Structured Query Language) for handling database.
5
PYTHON - MYSQL CONNECTOR
MySQL Connector/Python enables Python programs to access MySQL databases
Advantages and benefits of MySQL Connector Python:
MySQL Connector Python is written in pure Python, and it is self-sufficient to
execute database queries through Python.
It is an official Oracle-supported driver to work with MySQL and Python.
1.4 MODULES:
6
PLATFORM
MYSQL.CONNECTER
OS
PLATFORM
The platform module allows you to identify the operating system on which the Python
code is running. This is useful when writing cross-platform applications that need to behave
differently depending on the operating system.
PLATFORM.SYSTEM()
The function platform.system() is part of Python's platform module and is used to
identify the operating system (OS) on which the Python script is being executed. It returns a
string that represents the name of the OS (e.g., "Windows", "Linux", "Darwin" for macOS).
This can be very useful when writing platform-specific code, particularly for tasks such as
file management, installing dependencies, or adjusting system settings based on the
underlying OS
# Python program to display OS name
# import module
import platform
# displaying OS name
print('Operating system:', platform.system()).
OUTPUT:
(‘operating system:’,’windows’)
MYSQL.CONNECTOR
7
MySQL Connector module of Python is used to connect MySQL databases with the
Python programs, it does that using the Python Database API Specification v2.0 (PEP 249). It
uses the Python standard library and has no dependencies.
The usage of mysql.connector in the program:
Connecting to the MySQL Database
Creating a Cursor
Executing SQL Queries
Fetching Data from the Database
OS:
Python has a built-in os module with methods for interacting with the operating
system, like creating files and directories, management of files and directories, input, output,
environment variables, process management, etc.
Why is os needed in the program:
Without import os, the program would not be able to access the os.system() function,
and therefore, the functionality to clear the screen would not work. In your code, this is the
primary purpose of the os module.
If you don't need the feature of clearing the console screen or want to make your code
simpler, you can remove the import os statement and the relevant os.system() calls from your
code. But if you plan to keep that functionality, the os import is required.
8
2.OBJECTIVE OF THE PROJECT
The objective of a fee management program is to streamline, organize, and automate the
process of managing fees for educational institutions, businesses, or service providers. The
key goals and objectives typically include:
1. Efficient Fee Collection: To simplify the collection of fees (tuition, service,
subscription, etc.) from students, clients, or customers, ensuring timely payments and
reducing administrative burdens.
2. Transparency and Accountability: To provide clear and transparent records of fee
payments, outstanding dues, and payment history, enhancing accountability for both
institutions and individuals.
3. Automation and Error Reduction: To automate fee calculation, billing, and reminders,
reducing human errors and administrative overhead, and improving operational
efficiency.
4. Customizable Fee Structures: To enable the creation of flexible fee structures that can
accommodate different categories, such as registration fees, tuition fees, examination
fees, discounts, scholarships, etc.
5. Integration with Other Systems: To integrate with other school management or
financial systems, such as student information systems, accounting software, or banking
platforms, allowing for seamless data flow and management.
6. Payment Methods Variety: To offer multiple payment methods (online, offline,
installment options, etc.), making it convenient for fee payers to settle their dues.
7. Reporting and Analysis: To generate reports for financial tracking, audit trails, and
analysis of fee collection trends, helping institutions or businesses make informed
decisions.
In summary, a fee management program aims to make the fee collection process more
efficient, accurate, transparent, and user-friendly for both administrators and payers.
9
4. SOURCE CODE
10
import os
import platform
import mysql.connector
mydb =
mysql.connector.connect(host='localhost',user='root',passwd='1234567',database='School')
mycursor=mydb.cursor()
def stuInsert():
L=[]
roll=int(input("Enter the roll number : "))
L.append(roll)
name=input("Enter the Name: ")
L.append(name)
age=int(input("Enter Age of Student : "))
L.append(age)
classs=input("Enter the Class : ")
L.append(classs)
city=input("Enter the City of the Student : ")
L.append(city)
stud=(L)
sql="insert into student (roll,name,age,class,city) values (%s,%s,%s,%s,%s)"
mycursor.execute(sql,stud)
mydb.commit()
def stuView():
print("Select the search criteria : ")
print("1. Roll")
print("2. Name")
11
print("3. Age")
print("4. City")
print("5. All")
ch=int(input("Enter the choice : "))
if ch==1:
s=int(input("Enter roll no : "))
rl=(s,)
sql="select * from student where roll=%s"
mycursor.execute(sql,rl)
elif ch==2:
s=input("Enter Name : ")
rl=(s,)
sql="select * from student where name=%s"
mycursor.execute(sql,rl)
elif ch==3:
s=int(input("Enter age : "))
rl=(s,)
sql="select * from student where age=%s"
mycursor.execute(sql,rl)
elif ch==4:
s=input("Enter City : ")
rl=(s,)
sql="select * from student where City=%s"
mycursor.execute(sql,rl)
elif ch==5:
sql="select * from student"
mycursor.execute(sql)
res=mycursor.fetchall()
print("The Students details are as follows : ")
print("(ROll, Name, Age, Class, City)")
12
for x in res:
print(x)
def feeDeposit():
L=[]
roll=int(input("Enter the roll number : "))
L.append(roll)
feedeposit=int(input("Enter the Fee to be deposited : "))
L.append(feedeposit)
month=input("Enter month of fee : ")
L.append(month)
fee=(L)
sql="insert into fee (roll,feeDeposit,Month) values (%s,%s,%s)"
mycursor.execute(sql,fee)
mydb.commit()
def feeView():
print("Please enter the details to view the fee details :")
roll=int(input("Enter the roll number of the student whose fee is to be viewed : "))
sql="Select Student.Roll, Student.Name, Student.Class, sum(fee.feeDeposit), fee.month
from Student INNER JOIN fee ON Student.roll=fee.roll and fee.roll = %s"
rl=(roll,)
mycursor.execute(sql,rl)
res=mycursor.fetchall()
for x in res:
print(x)
def removeStu():
roll=int(input("Enter the roll number of the student to be deleted : "))
rl=(roll,)
13
sql="Delete from fee where roll=%s"
mycursor.execute(sql,rl)
sql="Delete from Student where roll=%s"
mycursor.execute(sql,rl)
mydb.commit()
def MenuSet(): #Function For The Student Management System
print("Enter 1 : To Add Student")
print("Enter 2 : To View Student ")
print("Enter 3 : To Deposit Fee ")
print("Enter 4 : To Remove Student")
print("Enter 5 : To View Fee of Any Student")
try: #Using Exceptions For Validation
userInput = int(input("Please Select An Above Option: ")) #Will Take Input From User
except ValueError:
exit("\nHy! That's Not A Number") #Error Message
else:
print("\n") #Print New Line
if(userInput == 1):
stuInsert()
elif (userInput==2):
stuView()
elif (userInput==3):
feeDeposit()
elif (userInput==4):
removeStu()
elif (userInput==5):
feeView()
14
else:
print("Enter correct choice. . . ")
MenuSet()
def runAgain():
runAgn = input("\nwant To Run Again Y/n: ")
while(runAgn.lower() == 'y'):
if(platform.system() == "Windows"):
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()
runAgn = input("\nwant To Run Again Y/n: ")
runAgain()
5.OUTPUT
15
TO ADD STUDENT
16
TO VIEW STUDENT
SEARCH CRITERIA BY ROLL :
SEARCH CRITERIA BY NAME :
17
SEARCH CRITERIA BY AGE :
SEARCH CRITERIA BY CITY :
18
SELECT ALL DATA :
TO DEPOSIT FEE :
19
TO REMOVE STUDENT :
20
TO VIEW FEE OF ANY STUDENT :
MYSQL
TABLE : STUDENT
21
TABLE : FEE
22
6.BIBLIOGRAPHY
23
https://www.sourcecodester.com
https://itsourcecode.come
https://pythontrends.files
https://github.com
https://genial-code.com
https://www.piecex.com
Computer science with python-class XI,XII by :Sumit Aarora
24