School Management System Database Project in Python with Source Code

School Management System SMS  Database Project in Python with full  Source Code  and example of Dataabase Design and ERD  Diragam



The system is an online application which provides students, instructors and administrator the facility to perform certain tasks efficiently.Create an online system for managing school tasks.Our System mainly covers issues related to admissions, registrations and grading in school.

Source Code Download Click Here 
System Modules
Student:
Student module is the interface for student. Students logs in using his/her username and password. After logging in, he is given different options like View result card.

 Teacher:
Teacher is the interface for teachers. They login to get access to facilities provied to teachers. Teachers can mark exams of their students etc.

Administrator:
Administrator is group who can literally do anything. An administrator may be employee of PCO. e.g. he can add delete and modify data.
Administrator (PCO):

1.3.4 Class
A class is a class of students, for example class 2, or class 10 etc.

1.3.5 Section
A section belongs to class. A class can have many sections. But a section can not exist without class.

1.3.6 Subject
Subjects are courses taught in classes by different instructors.

 Forms, Queries and Reports
Forms:
Student Admission Form
Teacher Registration Form
Class Registration Form
Grader
Time Table Creator
Attendance

Queries:
Find Student
Find Courses
Find Teachers of x class
Find Classes of x teacher

Reports:
Class Grade Report
Student Grade Report
Time Table
Class Information Report
Attendance Report

 Entity Relationship Diagram ERD Digram 
 Tables Description

 Person Info
Table Name:  Person Info
Primary Key:   ID       
Purpose: To save the information that is common to persons

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
ID
long(8)
Not Null
Primary Key

First Name
varchar (50)
Not Null


Middle Name
varchar (50)
Null


Last Name
varchar (50)
Not Null


Email
varchar (50)
Null
Unique Key
Must be Correct Email Format
Password
varchar (50)
Not Null


Phone #
long(10)
Null


House #
Int(4)
Not Null


Street #
int (4)
Null


Area
varchar (50)
Null


City
varchar (50)
Not Null


Country
varchar (50)
Not Null





Student
Table Name:  Student
Primary Key:   Roll # 
Purpose: To store the info specific to students

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Roll #
long(8)
Not Null
Primary Key

Mother First Name
varchar (50)
Not Null


Mother Middle Name
varchar (50)
Null


Mother Last Name
varchar (50)
Not Null


Father First Name
varchar (50)
Not Null


Father Middle Name
varchar (50)
Null


Father Last Name
varchar (50)
Not Null


Controller ID
long(8)
Not Null
Foreign Key

Class Teacher ID
long(8)
Not Null
Foreign Key

Section Name
varchar (50)
Not Null
Foreign Key

Class Name
varchar (50)
Not Null
Foreign Key


Teacher
Table Name:  Teacher
Primary Key:   ID       
Purpose: To store the info specific to teacher

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
ID
long(8)
Not Null
Primary Key

Controller ID
long(8)
Not Null
Foreign Key


Subject
Table Name:  Subject
Primary Key:   Name  
Purpose: To store the info specific to some subject

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Name
varchar (50)
Not Null
Primary Key

Book Name
varchar (50)
Not Null


Controller ID
long(8)
Not Null
Foreign Key


Section
Table Name:  Section
Primary Key:   Section Name, Class Name    
Purpose: To store the info specific to some section of a class

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Section Name
varchar (50)
Not Null
Primary Key

Class Name
varchar (50)
Not Null
Primary Key

Controller ID
long(8)
Not Null
Foreign Key


Controller
Table Name:  Controller
Primary Key:   ID
Purpose: To store the info specific to controller

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
ID
long(8)
Not Null
Primary Key


Enrolls
Table Name:  Subject
Primary Key:   ID, Roll #, Section Name, Class Name
Purpose: To store the info specific to enroll relationship

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Controller ID
long(8)
Not Null
Primary Key

Student Roll #
long(8)
Not Null
Primary Key

Section Name
varchar (50)
Not Null
Primary Key

Class Name
varchar (50)
Not Null
Primary Key


 Registers
Table Name:  Registers
Primary Key:   ID, Teacher Id, Subject Name           
Purpose: To store the info specific to register relationship

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Controller ID
long(8)
Not Null
Primary Key

Teacher ID
long(8)
Not Null
Primary Key

Subject Name
varchar (50)
Not Null
Primary Key

Year
int (4)
Not Null



Teaches
Table Name:  Teaches
Primary Key:   ID, Subject Name, Section Name      
Purpose: To store the info specific to teaches relationship

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Teacher ID
long(8)
Not Null
Primary Key

Subject Name
Varchar(50)
Not Null
Primary Key

Class Name
Varchar(50)
Not Null
Primary Key

Section Name
varchar (50)
Not Null
Primary Key

Period
Int(2)
Not Null



Grades
Table Name:  Grades
Primary Key:   ID, Student Roll #, Subject Name, Section Name    
Purpose: To store the info specific to grades relationship

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Teacher ID
long(8)
Not Null
Primary Key

Student Roll #
Varchar(50)
Not Null
Primary Key

Subject Name
Varchar(50)
Not Null
Primary Key

Section Name
varchar (50)
Not Null
Primary Key

Grade
varchar (1)
Not Null



Highest Degree
Table Name:  Highest Degree
Primary Key:   ID, Degree     
Purpose: To store the info of various degrees a teacher has

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Teacher ID
long(8)
Not Null
Primary Key

Degree
Varchar(50)
Not Null
Primary Key


Attendance
Table Name:  Attendance
Primary Key: Student ID, date          
Purpose: To store the attendance of students

Column Name
Data Type and Domain
Null Constraint
Key Constraint
Application based Constraint
Student ID
Varchar(50)
Not Null
Primary Key

Attendance Date
Date
Null
Primary Key
Date must be in DD-MM-YYYY format
IsPresent
boolean
Not Null



How to Run this Project ?
Source Code Download Click Here 
Steps to Run the project:
download and install python (http://www.python.org/download/releases/2.5.4/) (2.5), and web2py (http://www.web2py.com/) (latest release)
1) unzip Databases.zip
2) now change directory to web2py and run web2py.exe, this will launch web2py, enter administrative password (you choose here) to lauch webserver, this will automatically take you to the web2py's administrative interface. On the main page, you will find an option to upload the application. Browse and upload "web2py.app.school" provided in database.zip
3) run localhost:8000/school