100% found this document useful (1 vote)
875 views40 pages

Projectpage School Management System

Uploaded by

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

Projectpage School Management System

Uploaded by

srainodu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 40

A project submitted by

………………………………………………………………

Roll Number: ………………………………………………..

on

SCHOOL MANAGEMENT SYSTEM

to
Central Board of Secondary Education, New Delhi in partial fulfilment of curriculum
of COMPUTER SCIENCE NEW [083] (Class: XII) internal examination conducted
by CBSE, New Delhi.

2022-23

NH-44 , Door No. 3/465 , R.K.Nagar, Thottilovanpatti, Nalli-626 205,


Sattur Taluk,Virudhunagar District, Tamilnadu.
CERTIFICATE

This is to certify that .......................................................... is a student of class


XII with Roll Number ..................................................... has successfully completed
the project on SCHOOL MANAGEMENT SYSTEM under the supervision of the
subject teacher Mrs.M.RAJALAKSHMI M.Sc.,B.Ed., during the academic session
2022 - 2023 in partial fulfilment of COMPUTER SCIENCE NEW[083] internal
examination.

Internal Examiner External Examiner

Principal
ACKNOWLEDGEMENT

First and foremost, I would like to extend my heartiest gratitude to the ALMIGHTY for doing
and completing this project work successfully.
I express my sincere thanks to our MANAGEMENT.
I am especially indebted to our Principal Dr. P. VIJAYAKUMAR M.Sc.,M.Ed.,M.Phil.,Ph.D.,
and computer science teacher Mrs. M. RAJALAKSHMI M.Sc.,B.Ed., for their valuable
suggestions during the course of this project work.
I extend my sincere gratitude to my parents for their unconditional co-operation and motivation
extended to me to complete this project.

Signature of the Student


Contents

1. Introduction of the Project.

2. System Requirements of the Project.

3. Python Coding.

4. Output of the Project.

5. Bibliography

Introduction of the Project


We the students of CLASS: XII of M.M.VIDYASHRAM SENIOR
SECONDARY CBSE SCHOOL have been assigned the work of SCHOOL
MANAGEMENT SYSTEM.

To perform this task the students were divided into the group of three
students named as S.SHOBHAN ADITHYA, K.AJAY & R.A.SABARI
SRINATH is assigned the work of coding, analyzing the program and lead the
program to the conclusion.

The project starts with –

Enter1: New admission

Enter2: Display students data

Enter3: Update students data

Enter4: Issue transfer certificate

Enter5: Add students marks detail

Enter6: Generate all students report card

Enter7: Generate students wise report card

Enter8: Pay students fee

Enter9: Generate students wise fee receipt

Enter10: Generate students fee receipt

Enter11: Exit

As we are the students of CLASS XII and we haven’t done this type of project before,

we have performed all that which we have learnt from our CBSE PROGRAMMING .Hence,

we know that this programming would be further done on a big platform. Since we have
started this programming from JULY month , we believe that this programming would

further help us a lot in our future.

We are also thankful to our group mates for cooperating with each other while

performing this task we have also polished the skills of group activity.

PROCESS

FIRSTLY, we have done the planning in a paper work regarding what have to do on

the assigned project SCHOOL MANAGEMENT SYSTEM.

SECONDLY, we discussed our planning with our subject teacher and then he

provided us the right path to perform the work.

NEXT, we started our project on foot paths of our subject teacher.

THEN, we started our coding; coding took around 2 and half months for completion.

NEXT, we analyzed the mistakes done and then we corrected them.

THEN, we prepared the project format as shown above.

THANKS TO ALL OF WORTHY TEACHERS, PRINCIPAL, VICE PRINCIPAL

AND MY DEAR GROUP MATES

ALSO A GREAT THANKS TO M.M. VIDYASHRAM SENIOR SECONDARY

CBSE SCHOOL FOR PROVIDING US THIS GOLDEN OPPORTUNITY.....

PYTHON
Python is a popular programming language. It was created by Guido van Rossum, and
released in 1991.

It is used for:

 web development (server-side),


 software development,
 mathematics,
 system scripting.

MYSQL

 MySQL is a very popular open-source relational database management system


(RDBMS).
 MySQL is a relational database management system
 MySQL is open-source
 MySQL is free
 MySQL is ideal for both small and large applications
 MySQL is very fast, reliable, scalable, and easy to use
 MySQL is cross-platform
 MySQL is compliant with the ANSI SQL standard
 MySQL was first released in 1995
 MySQL is developed, distributed, and supported by Oracle Corporation
 MySQL is named after co-founder Monty Widenius's daughter: My

Python is a high-level, general-purpose, and very popular programming language.


Basically, it was designed with an emphasis on code readability, and programmers can
express their concepts in fewer lines of code. We can also use Python with SQL. In this
article, we will learn how to connect SQL with Python using the ‘MySQL Connector
Python module. The diagram given below illustrates how a connection request is sent to
MySQL connector Python, how it gets accepted from the database and how the cursor is
executed with result data.

SQL connection with Python

Connecting MySQL with Python


To create a connection between the MySQL database and Python,
the connect() method of mysql.connector module is used. We pass the database details
like HostName, username, and the password in the method call, and then the method
returns the connection object.
The following steps are required to connect SQL with Python:
Step 1: Download and Install the free MySQL database.
Step 2: After installing the MySQL database, open your Command prompt.
Step 3: Navigate your Command prompt to the location of PIP
Step 4: Now run the commands given below to download and install “MySQL
Connector”. Here, mysql.connector statement will help you to communicate with
the MySQL database.

Download and install “MySQL Connector”


pip install mysql-connector-python

Step 5: Test MySQL Connector


To check if the installation was successful, or if you already installed “MySQL
Connector”, go to your IDE and run the given below code :
import mysql.connector

If the above code gets executed with no errors, “MySQL Connector” is ready to be used.
System Requirements of the Project
Recommended System Requirements

Processors: Intel® Core™ i3 processor 4300M at 2.60 GHz.

Disk space: 2 to 4 GB.

Operating systems: Windows® 10.

Python Versions: 3.X.X or Higher.

Minimum System Requirements

Processors: Intel Atom® processor or Intel® Core™ i3 processor.

Disk space: 1 GB.

Operating systems: Windows 7 or later.

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.

Front End: Python

Back End : MySQL


MySQL

CREATING DATABASE COMMAND

CREATE DATABASE SMS;

USING DATABASE COMMAND

USE SMS;

TABLE CREATION

TABLE: STUDENT

CREATE TABLE STUDENT(SNAME VARCHAR(20),FNAME


VARCHAR(30),MNAME VARCHAR(30),PHONE VARCHAR(12),ADDRESS
VARCHAR(100),SCLASS VARCHAR(5),SSECTION VARCHAR(5),SROLL_NO
VARCHAR(5),SADMISSION_NO VARCHAR(10) PRIMARY KEY;

TABLE: MARKS

CREATE TABLE MARKS(SADMISSION_NO VARCHAR(10) PRIMARY KEY,HINDI


INT ,ENGLISH INT,MATH INT,SCIENCE INT,SOCIAL INT,COMPUTER INT,TOTAL
INT,AVERAGE DECIMAL(10,0));

TABLE: FEES

CREATE TABLE FEES(SADMISSION_NO VARCHAR(10) PRIMARY KEY,MONTH


INT,TUITION_FEES INT,VVN INT),COMPUTER_FEES INT,MUSIC_FEES INT,TOTAL INT);
PYTHON CODING:

#******M.M.VIDYASHRAM CBSE SENIOR SECONDARY SCHOOL******"


#********* M.M. VIDYASHRAM MANAGER *********"
import mysql.connector
# GLOBAL VARIABLES DECLARATION
myConnnection =""
cursor=""
userName=""
password =""
#MODULE TO CHECK MYSQL CONNECTIVITY
def MYSQLconnectionCheck ():
global myConnection
global user
global password
userName = input("\n ENTER MYSQL SERVER'S USERNAME : ")
password = input("\n ENTER MYSQL SERVER'S PASSWORD : ")

myConnection=mysql.connector.connect(host="127.0.0.1",user="root",passwd="admi
n",auth_plugin='mysql_native_password' )
if myConnection:
print("\n CONGRATULATIONS ! YOUR MYSQL CONNECTION HAS BEEN
ESTABLISHED !")
cursor=myConnection.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS SMS")
cursor.execute("COMMIT")
cursor.close()
return myConnection
else:
print("\nERROR ESTABLISHING MYSQL CONNECTION CHECK
USERNAME AND PASSWORD !")

#MODULE TO ESTABLISHED MYSQL CONNECTION


def MYSQLconnection ():
global userName
global password
global myConnection

myConnection=mysql.connector.connect(host="127.0.0.1",user="root",passwd='admi
n', database='SMS' , auth_plugin='mysql_native_password')
if myConnection:
return myConnection
else:
print("\nERROR ESTABLISHING MYSQL CONNECTION !")
myConnection.close()
#MODULE FOR NEW ADMISSION
def newStudent():
if myConnection:
cursor=myConnection.cursor()
createTable ="""CREATE TABLE IF NOT EXISTS STUDENT(SNAME
VARCHAR(30),FNAME VARCHAR(30),MNAME VARCHAR(30),PHONE
VARCHAR(12), ADDRESS VARCHAR(100),SCLASS VARCHAR(5),SSECTION
VARCHAR(5), SROLL_NO VARCHAR(5),SADMISSION_NO VARCHAR(10)
PRIMARY KEY)"""
cursor.execute(createTable)
sname=input("\n ENTER STUDENT'S NAME : ")
fname=input(" ENTER FATHER'S NAME : ")
mname=input(" ENTER MOTHER'S NAME : ")
phone=input(" ENTER CONTACT NO. : ")
address=input(" ENTER ADDRESS : ")
sclass =input(" ENTER CLASS : ")
ssection=input(" ENTER SECTION : ")
sroll_no=input(" ENTER ROLL_NO : ")
sadmission_no=input(" ENTER ADMISSION_NO : ")
sql="INSERT
INTO
student(SNAME,FNAME,MNAME,PHONE,ADDRESS,SCLASS,SSECTION,SROL
L_NO,SADMISSION_NO) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)"

values=(sname,fname,mname,phone,address,sclass,ssection,sroll_no,sadmission_no)
cursor.execute(sql,values)
cursor.execute("COMMIT")
cursor.close()
print("\nNew Student Enrolled Successfully !")
else:
print("\nERROR ESTABLISHING MYSQL CONNECTION !")

#MODULE TO DISPLAY STUDENT'S DATA


def displayStudent():
cursor=myConnection.cursor()
if myConnection:
cursor.execute("SELECT * FROM STUDENT")
data=cursor.fetchall()
print(data)
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")
#MODULE TO UPDATE STUDENT'S RECORD
def updateStudent():
cursor=myConnection.cursor()
if myConnection:
admission_no=input("ENTER ADMISSION NO")
sql="SELECT * FROM STUDENT WHERE SADMISSION_NO= %s"
cursor.execute(sql,(admission_no,))
data=cursor.fetchall()
if data:
print("PRESS 1 FOR NAME")
print("PRESS 2 FOR CLASS")
print("PRESS 3 FOR ROLL NO")
choice=int(input("Enter Your Choice"))
if choice==1:
name=input("ENTER NAME OF THE STUDENT :")
sql="UPDATE STUDENT SET SNAME= %s WHERE SADMISSION_NO
= %s"
cursor.execute(sql,(name,admission_no))
cursor.execute("COMMIT")
print("NAME UPDATED")
elif choice == 2:
std=input("ENTER CLASS OF THE STUDENT :")
sql="UPDATE STUDENT SET SCLASS= %s WHERE SADMISSION_NO= %s"
cursor.execute(sql,(std,admission_no))
cursor.execute("COMMIT")
print("CLASS UPDATED")
elif choice==3:
roll_no=int(input("ENTER ROLL NO OF THE STUDENT :"))
sql="UPDATE STUDENT SET SROLL_NO= %s WHERE
SADMISSION_NO = %s"
cursor.execute(sql,(roll_no,admission_no))
cursor.execute("COMMIT")
print("ROLL NO UPDATED")
else:
print("Record Not Found Try Again !")
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")

#MODULE TO ENTER MARKS OF THE STUDENT


def marksStudent () :
if myConnection:
cursor=myConnection.cursor()
createTable ="""CREATE TABLE IF NOT EXISTS
MARKS(SADMISSION_NO VARCHAR(10) PRIMARY KEY,HINDI
INT,ENGLISH INT ,MATH INT ,SCIENCE INT,SOCIAL INT,COMPUTER
INT,TOTAL INT ,AVERAGE DECIMAL)"""
cursor.execute(createTable)
admission_no=input("ENTER ADMISSION NO OF THE STUDENT :")
hindi=int(input("\n ENTER MARKS OF HINDI : "))
english=int(input("\n ENTER MARKS OF ENGLISH : "))
math=int(input("\n ENTER MARKS OF MATH : "))
science=int(input("\n ENTER MARKS OF SCIENCE : "))
social=int(input("\n ENTER MARKS OF SOCIAL : "))
computer =int(input("\n ENTER MARKS OF COMPUTER : "))
total = hindi + english + math + science + social + computer
average = total/6
sql="INSERT INTO
MARKS(SADMISSION_NO,HINDI,ENGLISH,MATH,SCIENCE,SOCIAL,COMPU
TER,TOTAL,AVERAGE) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)"
values=(admission_no,hindi,english,math,science,social,computer , total ,
average)
cursor.execute(sql,values)
cursor.execute("COMMIT")
cursor.close()
print("\nMarks of the Student Entered Successfully !")

else:
print("\nERROR ESTABLISHING MYSQL CONNECTION !")

#MODULE TO GENERATE REPORT CARD OF ALL STUDENTS

def reportCardAllStudent ():


cursor=myConnection.cursor()
if myConnection:
cursor.execute("SELECT * FROM MARKS")
data=cursor.fetchall()
print(data)
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")
#MODULE TO GENERATE REPORT CARD OF ONE STUDENTS
def reportCardOneStudent():
cursor=myConnection.cursor()
if myConnection:
admission_no=input("ENTER ADMISSION NO OF THE STUDENT :")
cursor=myConnection.cursor()
sql="SELECT * FROM MARKS WHERE SADMISSION_NO= %s"
cursor.execute(sql,(admission_no,))
data=cursor.fetchall()
if data:
print(data)
else:
print("Record Not Found , Please Try Again !")
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")

#MODULE TO ENTER FEES OF THE STUDENTS


def feeStudent () :
if myConnection:
cursor=myConnection.cursor()
createTable ="""CREATE TABLE IF NOT EXISTS FEES(SADMISSION_NO
VARCHAR(10) PRIMARY KEY,MONTH INT ,TUTION_FEES INT,VVN
INT,COMPUTER_FEES INT ,MUSIC_FEES INT, TOTAL INT)"""
cursor.execute(createTable)
admission_no=input("ENTER ADMISSION NO OF THE STUDENT :")
month=int(input("\n ENTER MONTH IN NUMERIC FORM (1-12) : "))
tutionfee=int(input("\n ENTER TUTION FEES : "))
vvn=int(input("\n ENTER VAN FEE: "))
computerfee=int(input("\n ENTER COMPUTER FEES : "))
musicfee=int(input("\n ENTER MUSIC FEES : "))
total = tutionfee + vvn + computerfee + musicfee
sql="INSERT INTO
FEES(SADMISSION_NO,MONTH,TUITION_FEES,VVN,COMPUTER_FEES,MU
SIC_FEES,TOTAL) VALUES(%s,%s,%s,%s,%s,%s,%s)"
values=(admission_no,month,tutionfee,vvn,computerfee,musicfee,total)
cursor.execute(sql,values)
cursor.execute("COMMIT")
cursor.close()
print("\nFees of Student Accepted Successfully !")
else:
print("\nERROR ESTABLISHING MYSQL CONNECTION !")
#MODULE TO GENERATE FEES RECEIPT OF ALL STUDENTS
def feeReceiptAllStudent():
cursor=myConnection.cursor()
if myConnection:
cursor.execute("SELECT * FROM FEES")
data=cursor.fetchall()
print(data)
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")

#MODULE TO GENERATE FEES RECEIPT OF ONE STUDENT


def feeReceiptOneStudent():
cursor=myConnection.cursor()
if myConnection:
admission_no=input("ENTER ADMISSION NO OF THE STUDENT :")
cursor=myConnection.cursor()
sql="SELECT * FROM FEES WHERE SADMISSION_NO= %s"
cursor.execute(sql,(admission_no,))
data=cursor.fetchall()
if data:
print(data)
else:
print("Record Not Found , Please Try Again !")
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")

#MODULE TO ISSUE TRANSFER CERTIFICATE


def transferStudent():
cursor=myConnection.cursor()
if myConnection:
admission_no=input("ENTER ADMISSION NO OF THE STUDENT :")
cursor=myConnection.cursor()
sql="SELECT * FROM STUDENT WHERE SADMISSION_NO= %s"
cursor.execute(sql,(admission_no,))
data=cursor.fetchall()
if data:
sql=("DELETE FROM STUDENT WHERE SADMISSION_NO=%s")
cursor.execute(sql,(admission_no,))
cursor.execute("COMMIT")
print("Student's Transfer Certificate Generated !!!")
else:
print("Record Not Found , Please Try Again !")
cursor.close()
else:
print("\nSomthing Went Wrong ,Please Try Again !")

#MODULE TO PROVIDE HELP FOR USER


def helpMe():
print("Please, Visit The Offcial Website Of Vidyalaya To Download The
Mannual!!!")
# MAIN SCREEN OF THE SYSTEM

print("\n| --------------------SESSION 2022- 2023 ----------------------")


print("\n| ++++++++++++++WELCOME+++++++++++++++++ ")
print("\n| M.M.VIDYASHRAM CBSE SENIOR SECONDARY SCHOOL ")
print("\n| *************M.M.VIDYASHRAM MANAGER *************")
print("\n| ---------------------------------------------------------------------")
print("\n| M.M. VIDYASHRAM MANAGER ")
print("\n| ---------------------------------------------------------------------")

#STARTING POINT OF THE SYSTEM#


myConnection = MYSQLconnectionCheck ()
if myConnection:
MYSQLconnection ()
while(1):
print("|-------------------------------------------------------------|")
print("| Enter 1 - New Admission. |")
print("| Enter 2 - Display Student's Data. |")
print("| Enter 3 - Update Students's Data . |")
print("| Enter 4 - Issue Transfer Certififcate . |")
print("| Enter 5 - Add Student's Marks Detail. |")
print("| Enter 6 - Generate All Student's Report Card. |")
print("| Enter 7 - Generate Student Wise Report Card. |")
print("| Enter 8 - Pay Student's Fee. |")
print("| Enter 9 - Generate Student Wise Fees Receipt. |")
print("| Enter 10 - Generate Student's Fee Receipt. |")
print("| Enter 11- Exit. |")
print("|-------------------------------------------------------------|")
print("| Enter 0(ZERO) - Help. |")
print("|-------------------------------------------------------------|")
choice=int(input("PLEASE ENTER YOUR CHOICE : "))
if choice==1:
newStudent()
elif choice==2:
displayStudent()
elif choice==3:
updateStudent()
elif choice==4:
transferStudent()
elif choice==5:
marksStudent()
elif choice==6:
reportCardAllStudent()
elif choice==7:

reportCardOneStudent()
elif choice==8:

feeStudent()
elif choice==9:
feeReceiptAllStudent()
elif choice==10:
feeReceiptOneStudent()
elif choice==11:
myConnection.close()
break
elif choice==0:
helpMe()
else:
print("Sorry ,May Be You Are Giving Me Wrong Input, Please Try
Again !!! ")
else:
print("Check Your MYSQL Connection First !!! ")
Output of the Project
Finally, we conclude our work and present the output of the Project.

MAIN SCREEN
USER AUTHENTICATION :

NEW ADMISSION :
DISPLAY STUDENT'S DATA :

UPDATE STUDENTS'S DATA :


ISSUE TRANSFER CERTIFIFCATE :

ADD STUDENT'S MARKS DETAIL :


GENERATE ALL STUDENT'S REPORT CARD :

GENERATE STUDENT WISE REPORT CARD :


PAY STUDENT'S FEE :

GENERATE STUDENT WISE FEES RECEIPT :


GENERATE STUDENT'S FEE RECEIPT :

EXIT :
MySQL OUTPUT

SHOW DATABASES :
USE DATABASE :
SHOW TABLES:

DESCRIBE FEES :
DESCRIBE MARKS :
DESCRIBE STUDENT :
RETRIEVING FEES DETAILS :
RETRIEVING MARKS DETAILS :
RETRIEVING STUDENT DETAILS :
BIBLIOGRAPHY :

1. python.org

2. Codeacademy.com
3. tutorialsPoint.com

4. w3schools.com

5. learndigital.withgoogle.com

6. LearnPython.org

You might also like