Sei sulla pagina 1di 24

Assigned By: Submitted By :

Ms Lida Johnson JEENAL THAKKAR


PGT(INFORMATICS PACTICES) XII(ARTS)
Asia English School,
Ahmedabad
PROJECT REPORT

In partial fulfillment of the requirements


For the award of the Class of
Informatics Practices

Submitted by

JEENAL THAKKAR

CLASS-XII ARTS

Under the guidance of


Mrs Lida Johnson
PGT Informatics Practices

ASIA English School


ASIA Campus, Drive-in Cinema Road, Thaltej
Ahmedabad (Gujarat) 380054
ASIA English School
ASIA Campus, Drive-in Cinema Road,Thaltej
Ahmedabad (Gujarat) 380054

Informatics Practices
2019 - 2020

Bonafide Certificate

This is to certify that the project titled “College Management System” is a record of
bonafide work carried out in partial fulfillment of the requirements in report in Informatics
Practices as prescribed by CBSE for AISSCE 2019-2020 in the school ASIA English
School, Ahmedabad.

Date: Nov 25, 2019

Subject In-Charge Coordinator Principal

Internal Examiner External Examiner


Acknowledgements

I would like to express a deep sense of thanks and gratitude to my Informatics Practices
teacher, Ms. Lida Johnson for mentoring me through the course of my project. Her
advice and insight into the progress have been responsible for the successful
completion of my project.

My sincere thanks to the principal of the school Mr. Francis Fernandes for his motivation
and support.

I must thank my parents and my fellow mates for their constructive criticism and
constant support during my project.
Table of Contents

S. No Title Page No.


1 Declaration 2
2 Abstract 3
3 System Requirements 4
4 Database Design 5
5 Input Output Design 6
6 Coding 11
7 Conclusion 19
8 Bibliography 20

1
Declaration

I hereby declare that the project work titled “College management System”
submitted to the ASIA English School for the subject of Informatics
Practices under the guidance of Ms Lida Johnson, is a record of original
work done by me. I further declare that this project record or nay part of this
has not been submitted elsewhere for any other class.

Place: ASIA English School, Ahmedabad

Date: Nov 25, 2019

Name: JEENAL THAKKAR

2
ABSTRACT

The project titled “College Management System” has been developed in Python 3.7 as
front end tool and MySQL as a back end tool.

This College Management System deals with automation of in-house operations of the
College. The package is developed in Python in Windows environment with Tkinter
being the tool for GUI development. For security reasons, a password needs to be
provided which prevents unauthorized access to the system.

This system contains the following modules:

 Details of Students
 Details of Exam

Details of Students:

This module describes the student details such as

Admission_No , Studentname , DOB , Grade , City.

Admission_No is used as Primary key.

Details of Exam:

This module contains the details of members such as:

Exam_id , admission_no , total_marks , percentage.

Exam_id is used as Primary key.

3
SYSTEM REQUIREMENTS

System Specifications:

Hardware Requirements

• Processor : Intel i3

• RAM : 4GB or more

• Hard Disk : 40GB or more

• Monitor 17” color

• Mouse and keyboard

Software Requirements

• Operating System: Windows 8.1

• Front end tool: Python 3.7

• Backend Tool: MySQL 5.6

• GUI development: Tkinter

4
DATABASE DESIGN

DBMS: MySQL

Host: localhost

User: root

Password:

Database:college

Table structure:

Student Table:

Exam Table:

5
INPUT OUTPUT DESIGN
GUI for the College Management System Access

College Management System Login Form

If the password is correct, the user is given access to the system.

6
If the password is wrong, user is denied access to the system.

7
College Management System Menu

8
Student Entry Form

9
Exam Entry Form

10
CODING

The Main code

from tkinter import *


from tkinter import messagebox

def pwd_verify(pwd):

if pwd=="asia":
messagebox.showinfo("Password Verification", "Correct Password")
else:
messagebox.showinfo("Password Verification","Wrong Password")
top = Tk()
top.geometry("250x250")
top.title('College Management System Login Form')
name = Label(top, text ="Username").place(x = 30,y = 50)
password = Label(top, text = "Password").place(x = 30, y = 90)
e1 = Entry(top).place(x = 90, y = 50)
e2 = Entry(top)
e2.place(x = 90, y = 90)
submt = Button(top,text = "Submit",padx=30,pady=10,\
font=('arial',10,"bold"),command=lambda:pwd_verify(e2.get()))
submt.place(bordermode = OUTSIDE,height=30,width=80,x=90,y=170)
top.mainloop()

import os
from subprocess import call
import sys
try:
from Tkinter import *
except ImportError:
from tkinter import *

11
try:
import ttk
py3 = False
except ImportError:
import tkinter.ttk as ttk
py3 = True

def click_student():
call(["python", "student.py"])
def click_exam():
call(["python", "exam.py"])

class COLLEGE_MANAGEMENT:
def init (self):
root = Tk()
'''This class configures and populates the toplevel window.
top is the toplevel containing window.'''
_bgcolor = '#d9d9d9' # X11 color: 'gray85'
_fgcolor = '#000000' # X11 color: 'black'
_compcolor = '#ffffff' # X11 color: 'white'
_ana1color = '#ffffff' # X11 color: 'white'
_ana2color = '#ffffff' # X11 color: 'white'
font14 = "-family {Segoe UI} -size 15 -weight bold -slant " \
"roman -underline 0 -overstrike 0"
font16 = "-family {Swis721 BlkCn BT} -size 40 -weight bold " \
"-slant roman -underline 0 -overstrike 0"
font9 = "-family {Segoe UI} -size 9 -weight normal -slant " \
"roman -underline 0 -overstrike 0"

root.geometry("1150x1150")
root.title("COLLEGE MANAGEMENT SYSTEM")
root.configure(background="#d9d9d9")
root.configure(highlightbackground="#d9d9d9")
root.configure(highlightcolor="black")

12
self.menubar = Menu(root,font=font9,bg=_bgcolor,fg=_fgcolor)
root.configure(menu = self.menubar)

self.Frame1 = Frame(root)
self.Frame1.place(relx=0.02, rely=0.03, relheight=0.94, relwidth=0.96)
self.Frame1.configure(relief=GROOVE)
self.Frame1.configure(borderwidth="2")
self.Frame1.configure(relief=GROOVE)
self.Frame1.configure(background="#d9d9d9")
self.Frame1.configure(highlightbackground="#d9d9d9")
self.Frame1.configure(highlightcolor="black")
self.Frame1.configure(width=925)

self.Message6 = Message(self.Frame1)
self.Message6.place(relx=0.09, rely=0.01, relheight=0.15, relwidth=0.86)
self.Message6.configure(background="#d9d9d9")
self.Message6.configure(font=font16)
self.Message6.configure(foreground="#000000")
self.Message6.configure(highlightbackground="#d9d9d9")
self.Message6.configure(highlightcolor="black")
self.Message6.configure(text='''COLLEGE MANAGEMENT SYSTEM''')
self.Message6.configure(width=1100)

self.Button2 = Button(self.Frame1)
self.Button2.place(relx=0.18, rely=0.17, height=103, width=566)
self.Button2.configure(activebackground="#d9d9d9")
self.Button2.configure(activeforeground="#000000")
self.Button2.configure(background="#d9d9d9")
self.Button2.configure(disabledforeground="#bfbfbf")
self.Button2.configure(font=font14)
self.Button2.configure(foreground="#000000")
self.Button2.configure(highlightbackground="#d9d9d9")
self.Button2.configure(highlightcolor="black")
self.Button2.configure(pady="0")
self.Button2.configure(text='''1. STUDENT DETAILS''')
self.Button2.configure(width=566)

13
self.Button2.configure(command=click_student)

self.Button3 = Button(self.Frame1)
self.Button3.place(relx=0.18, rely=0.33, height=93, width=566)
self.Button3.configure(activebackground="#d9d9d9")
self.Button3.configure(activeforeground="#000000")
self.Button3.configure(background="#d9d9d9")
self.Button3.configure(disabledforeground="#bfbfbf")
self.Button3.configure(font=font14)
self.Button3.configure(foreground="#000000")
self.Button3.configure(highlightbackground="#d9d9d9")
self.Button3.configure(highlightcolor="black")
self.Button3.configure(pady="0")
self.Button3.configure(text='''2. EXAM DETAILS''')
self.Button3.configure(width=566)
self.Button3.configure(command=click_exam)

if name == ' main ':


GUUEST=COLLEGE_MANAGEMENT()

14
The Student code

import mysql.connector
from tkinter import *
from tkinter import messagebox
db=mysql.connector.connect(host='localhost',user='root',passwd='',database='college')
my_cur=db.cursor()

def entry():

root=Tk()
root.title('Student Details')
root.geometry('300x450')

Label(root,text="Student Entry Form",


font='arial 14 bold').grid(row=0,columnspan=2)
Label(root,text=" ").grid(row=1,column=0)
Label(root,text="Admission No").grid(row=2,column=0)
Label(root,text=" ").grid(row=3,column=0)
Label(root,text="Student Name").grid(row=4,column=0)
Label(root,text=" ").grid(row=5,column=0)
Label(root,text="DOB").grid(row=6,column=0)
Label(root,text=" ").grid(row=7,column=0)
Label(root,text="Grade").grid(row=8,column=0)
Label(root,text=" ").grid(row=9,column=0)
Label(root,text="City").grid(row=10,column=0)
Label(root,text=" ").grid(row=11,column=0)
v1=StringVar ()
v2=StringVar ()
v3=StringVar ()
v4=StringVar ()
v5=StringVar ()
e1=Entry(root, textvariable=v1).grid(row=2, column=1)
e2=Entry(root, textvariable=v2).grid(row=4, column=1)
e3=Entry(root, textvariable=v3).grid(row=6, column=1)
e4=Entry(root, textvariable=v4).grid(row=8, column=1)
e5=Entry(root, textvariable=v5).grid(row=10, column=1)
Label(root,text="").grid(row=12,column=0)
def insert():
Admission_No=v1.get()
Studentname=v2.get()
DOB=v3.get()
Grade=v4.get()
City=v5.get()
my_cur=db.cursor()
15
my_cur.execute('insert into student values(%s, %s, %s, %s,
%s)',(Admission_No,Studentname,DOB,Grade,City))
db.commit()
messagebox.showinfo('Wow','1 record inserted')
v1.set('')
v2.set('')
v3.set('')
v4.set('')
v5.set('')
v6.set('')
def clear():
v1.set('')
v2.set('')
v3.set('')
v4.set('')
v5.set('')
v6.set('')
def close():
root.destroy()
Button(root,text='SUBMIT', command=insert).grid(row=15,column=0)
Button(root,text='RESET', command=clear).grid(row=15,column=1)
Button(root,text='EXIT', command=close).grid(row=15,column=2)
root.mainloop()

entry()

16
The Exam Code

import mysql.connector
from tkinter import *
from tkinter import messagebox
db=mysql.connector.connect(host='localhost',user='root',passwd='',database='college')
my_cur=db.cursor()

def entry():

root=Tk()
root.title('Exam')
root.geometry('300x450')

Label(root,text="Exam Entry Form",


font='arial 14 bold').grid(row=0,columnspan=2)
Label(root,text=" ").grid(row=1,column=0)
Label(root,text="Exam Id").grid(row=2,column=0)
Label(root,text=" ").grid(row=3,column=0)
Label(root,text="Admission No").grid(row=4,column=0)
Label(root,text=" ").grid(row=5,column=0)
Label(root,text="Total Marks").grid(row=6,column=0)
Label(root,text=" ").grid(row=7,column=0)
Label(root,text="Percentage").grid(row=8,column=0)
Label(root,text=" ").grid(row=9,column=0)
v1=StringVar ()
v2=StringVar ()
v3=StringVar ()
v4=StringVar ()
e1=Entry(root, textvariable=v1).grid(row=2, column=1)
e2=Entry(root, textvariable=v2).grid(row=4, column=1)
e3=Entry(root, textvariable=v3).grid(row=6, column=1)
e4=Entry(root, textvariable=v4).grid(row=8, column=1)
Label(root,text="").grid(row=10,column=0)
def insert():
exam_id=v1.get()
admission_no=v2.get()
total_marks=v3.get()
percentage=v4.get()
my_cur=db.cursor()
my_cur.execute('insert into exam values(%s, %s, %s,
%s)',(exam_id,admission_no,total_marks,percentage))
db.commit()
messagebox.showinfo('Wow','1 record inserted')
v1.set('')
17
v2.set('')
v3.set('')
v4.set('')
v5.set('')
v6.set('')
def clear():
v1.set('')
v2.set('')
v3.set('')
v4.set('')
v5.set('')
v6.set('')
def close():
root.destroy()
Button(root,text='SUBMIT', command=insert).grid(row=15,column=0)
Button(root,text='RESET', command=clear).grid(row=15,column=1)
Button(root,text='EXIT', command=close).grid(row=15,column=2)
root.mainloop()

entry()

18
Conclusion

The software tool developed is found useful for creating appropriate


databases, linking them and getting information from them.

After the tables are created, the data is stored in them as per student entry,
and exam entry.

The tool can include other aspects of college management, if needed,


in future like fees entry form, employee entry form, attendance entry
form etc.

19
Bibliography

Books:

1. Informatics Practices, Sumita Arora for class XII

Websites

1. https://www.youtube.com/watch?v=kT2JNHQnio8&feature=yo
utu.be
2. https://pythonprogramming.net/change-show-new-frame-
tkinter/

20