SAMPLE PROJECT File For Students
SAMPLE PROJECT File For Students
S P Marg, Lucknow
2024-25
Computer Science Project
Student Result
Management
System
ANTRIKSH KUMAR
SINGH
XII Science
Board Roll No :
Contents
Acknowledgement
Certificate
System Requirements
Synopsis
Coding
Screen Shots
Bibliography
ACKNOWLEDGEMENT
ANTRIKSH KUMAR
SINGH
XII Science
CERTIFICATE
_________ _________
Mr. Amit Trivedi Ms Seema Tara
PGT Computer Science Principal
Army Public School Army Public School
SP Marg, Lucknow SP Marg, Lucknow
_______________
External Examiner
System Requirments
1.PLATFORM:
Windows 10
2. SOFTWARE:
VISUAL STUDIO CODE
DATABASE- MYSQL 8.0.1
Microsoft Word 2016
3. HARDWARE:
Intel Core i3
8 GB RAM
1TB Hard Disk
800 X 1200 Screen Resolution
SYNOPSIS
This Python-based Student Result Management System is a console application
designed to handle student data, course management, user authentication, and
result tracking. The system uses MySQL as the backend database and provides
different functionalities based on user roles such as admin, teacher, and student.
Key features include user registration, login, adding students and courses,
viewing students and courses, and managing student results.
Key Components:
1. User Authentication:
o Users are classified into three roles: admin, teacher, and student.
o Each user can register with a username, password (hashed using
bcrypt for security), and a role.
o Login functionality authenticates users and provides access to
specific actions based on their role.
2. Admin Role:
o Can add students and courses.
o Can manage the system’s users, courses, and student data.
o Can view all students and their details.
3. Teacher Role:
o Can add grades for students in the courses they teach.
o Can view all students and manage results for students in their
courses.
o Can add new courses.
4. Student Role:
o Students can view only their own results.
o They have restricted access to the system, ensuring that they cannot
modify or view data other than their own.
5. Database Structure:
o The system uses MySQL to manage the following tables:
users: Stores user credentials and roles.
students: Stores student information such as name, email, and
date of birth.
courses: Stores course information, each tied to a teacher.
results: Stores grades associated with students and courses.
6. Password Security:
o User passwords are hashed using the bcrypt library to ensure secure
storage in the database.
7. Main Functionalities:
o User Registration and Login: Users can register and log in to access
the system.
o Student Management: Admins and teachers can add and view
students.
o Course Management: Courses can be added by both admins and
teachers, associating courses with specific teachers.
o Result Management: Teachers can add and view grades for students,
while students can only view their own grades.
8. Data Handling:
o The system interacts with the MySQL database to store and retrieve
user, student, course, and result data.
o SQL queries are used to perform operations like adding records,
fetching results, and managing relationships between students,
courses, and grades.
User Interface:
The interface is command-line-based, prompting the user to choose actions
based on their role. After login, the available options are displayed, and the user
can interact with the system by selecting the desired operations.
Conclusion:
This system efficiently manages student results with a focus on security and role-
based access, making it suitable for educational institutions or projects where
different users interact with the database according to predefined permissions.
Python Modules:
mysql.connector:
A Python interface for connecting to and interacting with a MySQL
database.
csv:
A module for reading and writing CSV (Comma Separated Values) files.
bcrypt:
A library used for secure password hashing and verification.
getpass:
A module for securely getting password input from users (without echoing
the input on the screen).
FUNCTION:
connect_db():
Establishes a connection to the MySQL database using provided
credentials.
create_tables():
Creates necessary tables (users, students, courses, results) in the MySQL
database if they do not already exist.
hash_password(password):
Hashes a password using bcrypt to securely store it in the database.
register_user(username, password, role):
Registers a new user (admin, teacher, or student) by inserting their details
into the users table.
get_student_details():
Collects and returns student details such as first name, last name, email,
and date of birth.
login(username, password):
Authenticates a user by checking the provided credentials against the users
table.
add_student(first_name, last_name, email, dob):
Adds a new student to the students table in the database.
view_students():
Retrieves and displays a list of all students from the students table.
add_course(course_name, teacher_id):
Inserts a new course into the courses table, associating it with a teacher.
add_grade(student_id, course_id, grade):
Adds a grade for a student in a specific course by inserting data into the
results table.
view_courses():
Retrieves and displays all available courses from the courses table.
view_results(student_id):
Displays the results (grades) for a particular student by fetching data from
the results table.
main():
The main function that provides a menu interface and calls the appropriate
functions based on user input.
Database Details:
Database Name: student_results
Tables Name: Courses,results,users,students
CODING
Font Size: 14 Font name: Fira Code
Screenshots
Python Output Screenshots
1.REGISTERING USER -
2.LOGIN-
3. ADD STUDENT-
4.ADD COURSE-
6 . ADD GRADE-
7. VIEW RESULT-
Database Tables Screenshots
1. Books
Computer Science Class 12
Textbook By Preeti Arora
2. Websites
www.cbse.nic.in
www.w3school.com