You are on page 1of 21

Air Force Senior Secondary

school

COMPUTER SCIENCE
PROJECT
SESSION : 2023-2024
A PROJECT REPORT ON
“STUDENT MANAGEMENT”
SUMBITTED BY UNDER GUIDANCE BY
HARSHIT KUMAR MRS.PRIYANKA SHARMA
CLASS : XII-B PGT (COMPUTER SCIENCE)
Certificate
This is to certify that Harshit kumar student of class XII
(Science) has successfully prepared the report on the
Project entitled “Student management” The report is
the result of his efforts & endeavors. The report is found
worthy of acceptance as final Project report for the
subject Computer Science of class XII (Science).

Mrs. Priyanka Sharma Signature of External Examiner

Mrs. Kavita Menon (Principal)

Acknowledgement
I would like to express a deep sense of thanks and
gratitude to my project guide Mrs. Priyanka Sharma
for guiding me immensely through the course of the
project. She always evinced keen interest in my
project. Her constructive advice & constant
motivation have been responsible for the successful
completion of this project.

My sincere thank goes to Mrs. Kavita Menon


(principal) ma’am for her coordination in extending
every possible support for the completion of this
project.

Last but not the least, I would like to thank all those
who had helped directly or indirectly towards the
completion of this project.

Harshit Kumar
Class- XII (Science)
Table of Contents
SERIAL DESCRIPTION
NO
1. INTRODUCTION

2. FEATURES OF PYTHON
3. FEATURES OF STUDENT MANAGEMENT

4. ABOUT MYSQL

5. REQUIRMENTS

6. MODULES

7. CREATION OF GUI WINDOW

8. SOURCE CODE

9. OUTPUT

10. BIBLIOGRAPHY
INTRODUCTION
 About Student Management System
In the Student Management system Project in python,
we will see a project that manages all the information of
the students It includes managing data such as name,
email-id, contact number, date of birth, which stream they
are in, etc.
In this tutorial of the Python project, we will build a GUI-
based Student Management System Project using the
Tkinter,SQLite3,tkcalendar,messagebox, and
datetime and Ttk modules of the Tkinter library. It is an
intermediate-level project, where you will learn how to use
databases, and modules and make some great GUIs in
Python and apply them in real life.

Features of Python:
 Easy
Python is a very easy to learn and understand; using this
python tutorial, any beginner can understand the basics of
python.

 Interpreted
It is interpreted (executed) line by line. This makes it easy to
test and debug.
 Object Oriented
The python programming language supports classes and
objects.
 Free and Open-Source
The language and it's source code are available to the public
for free; there is no need to buy a costly license.
 Portable
Since it is open source, we can run python on windows, mac,
Linux, or any other platforms. Our programs will work without
needing to the changed for every machine.
 GUI (Graphical User Interface) programming
We can use it to develop a GUI (Graphical User Interface).
One way to do this is through 'Tkinter'
 Large Library
Python provides us with a large standard library. We can use it
to implement a variety of functions without needing to reinvent
the wheel every time. Just pick the code we need and continue.
This lets us to focus on other important tasks.
Features of Student Management System
The basic task to be performed on this Project are:
 Add all the details
 View the details
 Reset the details
 Delete the details
 Delete the entire database of the student’s record

DISADAVANTAGES
There aren’t any disadvantages or limitations of a
student management system as such. A better word for
disadvantages would be “issues” faced by schools while
using a student management system.
About MySQL
MySQL is a fast, easy to use RDBMS (Relational Database
Management System) being used for many small and big
businesses. MySQL is developed. marketed and supported by
MySQL AB, which is a Swedish Company.
MySQL is becoming is so popular because of many good
reasons:

l. MySQL is released under an open-source language. So,


we have nothing to pay to use it.
1. MySQL is a very powerful program in its own right. It
handles a large subset of the functionality of the most
expensive and powerful database packages.
2. MySQL uses a standard form of the well-known SQL data
language.
3. MySQL works on many operating system and with many
languages including PHP. PERL, C. C++, JAVA. etc.
4. MySQL works very quickly and works well even with large
data sets.
5. MySQL is very friendly to PHP, the most appreciated
language for web development.
6. MySQL supports large databases, up to 5() million rows or
more in a table. The default file size limit for a table is 4
GB, but we can increase this (if our operating system can
handle) to a theoretical limit of 8millions Tera-Bytes (TB).
7. MySQL is customizable. The open-source GPL license
allows programmers to modify the MySQL software to fit
their own specific environments.
Requirements
Hardware required
Modern Operating System:
• Windows 7 or 10
• Mac OS X 10.11 or higher, 64-bit
•Linux: RHEL 6/7, 64-bit (almost all libraries also work in
Ubuntu)
X86 64-bit CPU (Intel / AMD architecture)
4 GB RAM
Minimum 5 GB free space
Printer for printing project/optional
These modules are used for the following
purposes:
1. Tkinter – To create the GUI.
2. SQLite3 – To connect the program to the database
and store information in it.
3. TkCalender – To get the user to enter a date.
4. Datetime.date – To convert the date from the tree to
a Datetime.date instance so that it can be set in.
5. Tkinter.messagebox – To show a display box,
displaying some information or an error.
6. Tkinter.ttk – To create the tree where all the
information will be displayed.
Creation of GUI Window for Student
Management system

Initialzing the GUI Window

We have initialized the GUI Window by creating the object of TK () as the main.
Set the title of the window, The geometry is the size of the window.
Creating the color variables: Creating the background and foreground color
variables.
Creating the StringVar and IntVar variables: Stores the name, email, gender,
contact, and stream you entered in the form.

Place the components in the main window

We are creating the main frame where we are labeling the window with the title
“Student Management System”. We are also creating 2 frames into that i.e. left
frame and right frame specifying the color, width, and height of the frame.
Placing components in the left frame

Here we are placing the components like name, contact number, email address,
gender, date of birth, and Stream The label function is used for labeling the
components and provides formatting. Entry function is used for entering the text.
Option Menu provides the dropdown list. The Button label is used for the data
entry we provided.
Placing components in the Right frame

The right frame displays the data that we have entered, deleted, reset, or
modified. We have provided the scroll bar to scroll the details horizontally and
vertically.

Source code
OUTPUT SCREENS

Creating a Reset function


# Create the reset function
def reset_fields():
global name_strvar, email_strvar, contact_strvar, gender_strvar,
dob, stream_strvar
for i in ['name_strvar', 'email_strvar', 'contact_strvar',
'gender_strvar', 'stream_strvar']:
exec(f"{i}.set('')")
dob.set_date(datetime.datetime.now().date())

Explanation:

Reset fields: The reset fields mention the variables whose value is to be
reset. Those are defined as global variables in the program .
Displays the records in the database
#function to display records
def display_records():
tree.delete(*tree.get_children())
c = connector.execute('SELECT * FROM STUDENT_MANAGEMENT')
data = c.fetchall()
for records in data:
tree.insert('', END, values=records)
Explanation:

The display_records: In This function we create the object curr which


obtains the credentials after executing the database query. The c. fetchall()
fetches all the data and stores it in the data variable. The for loop function
executes for each record in the data and inserted into the fields of the table .

Delete a record of the student from the database


The remove_record():

This function checks to see if the record is selected to be removed else the
tree.focus() function selects the current_item that is in focus.Puts all the
values in the selection variable where the entire row of the focused
current_item gets deleted by executing the SQL Query.
Once the row is deleted it shows the message “The record is successfully
deleted” and displays the remaining records.

Add and Submit the records to the database


Add records:
The global variables initialized here, using the get function takes the values
from the form and store them in the local variables provided. In this
process, if any of the values i.e name, email, contact, gender, dob, or
stream is not filled it will show the error as ‘Error!’, “Please fill all the
missing fields!!”) else if all the text
fields are properly fielded then the record is added into the database and
displays the message” ‘Record added’, f”Record of {name} is added“.The
contact no field is restricted to 10 digits.

#Function to remove record


def remove_record():
if not tree.selection():
mb.showerror('Error!', 'Please select an item from the database')
else:
current_item = tree.focus()
values = tree.item(current_item)
selection = values["values"]
tree.delete(current_item)
connector.execute('DELETE FROM STUDENT_MANAGEMENT WHERE
STUDENT_ID=%d' % selection[0])
connector.commit()
mb.showinfo('Done', 'The record is deleted successfully.')
display_records()

Delete the Database of the Student Management system


def reset_form():
global tree
tree.delete(*tree.get_children())

reset_fields()
Explanation:
Reset_form(): The tree variable is initialized as global. The tree.delete()
delete all the records of the database and resets the field().
Conclusion of Student Management System
Student Management System can be used by educational
institutions to maintain their student records easily.
Achieving this objective is difficult using the manual
system as the information is scattered, can be redundant,
and collecting relevant information may be very time-
consuming. All these problems are solved by this project.
This system helps in maintaining the information of pupils
of the organization. It can be easily accessed by the
manager and kept safe for a long period of time without
any changes.
bIBLIOGRAPHY
1.www.wikipedia.com
2. www.copy assignment.com
3.www.google.com
4.Class 12th python book

You might also like