This repository contains a Python-based university project management system. It provides functionalities for registering administrators and students, managing courses, and performing various operations related to student enrollment, course selection, and grading.
- Admin Panel: Allows administrators to manage courses, add and remove students, view student information, calculate average grades, and perform other administrative tasks.
- User Panel: Allows students to view available courses, select and remove courses, view their own information, calculate their average grades, and perform other user-specific operations.
- Help/About: Provides information about the system and its functionalities, as well as guidance on how to use the system effectively.
- Database Connection: Utilizes the
pyodbc
module to establish a connection with a SQL Server database for storing and retrieving data.
- Python 3.7 or above
pyodbc
module- SQL Server with a database named
uni__project
- Windows operating system (for Windows Authentication with SQL Server)
-
Clone the repository:
git clone https://github.com/AlizadeAlireza/uni_dbms_project.git
-
Install the required dependencies. In the project directory, run:
pip install pyodbc
-
Set up the SQL Server connection:
Ensure that you have SQL Server installed and running. Create a database named uni__project. Modify the connection details in the connections.py script to match your SQL Server configuration.
```shell
python main.py
-
Upon running the application, you will be presented with a main menu.
-
Choose the desired option:
-
Register: Allows you to sign in as an administrator or student.
-
Help/About: Provides information and assistance on using the system.
-
Exit: Terminates the application.
-
-
Follow the prompts and navigate through the different menus to perform the desired operations.
Contributing
Contributions to the university project system are welcome! If you encounter any issues, have suggestions for improvements, or would like to add new features, please feel free to open an issue or submit a pull request.
License This project is licensed under the MIT License.
Objects :
1, connection
we can say first check the connection test.
if we had an error we can handle it and work with the new mistakes.
but if we have a true connection, we can continue.
2, tables
for this i have a new idea.
if we have a tables class we can define some functions like add, delete, edit and ...
a user can inherit this options and super user or regular user can use it.
so create tables can be just a part of this sections.
3, user class : 1. regular user 2. super user
i think reg user can use UserClass and super user can have more abilities.
4, menu
1, search
2, add
3, edit
4, remove
5, exit
add:
- getting values
- if value exicts
- error handling
edit:
- getting value
- !addValue
- error handling
remove:
- getting value
- !addValue
- error handling
1. option choosing :
can select an option
2. back to main menu:
can back to recent menu
-
welcome masseage :
is a text in main menu
-
Register :
for this if we are user, our options can be different with admin panel.
like add and edit for admin. but user cant see this things. ` validation ---> if exict ----> enter if not exict ----> "text : invalid" ///// error handle
-
name
-
last name
-
phone_number
-
student_id
-
year
-
back to main menu
-
student panel :
-
show the COT table ---> for see the courses:
- back to student panel
-
show the student information:
- back to student panel
-
student STCOT for every course std has:
- back to student panel
-
average : getting arument
- calculate
- by terms
- by all
- back to student panel
-
getting courses: adding to STCOT ---> condition :
-
back to main menu
-
-
admin panel : ----> create table and fetch to get the validation
- admin information
- add course
- add professor
- add student
- show : student informations, professor information, STCOT
- if average() ---> student number
- back to main menu
-
-
-
help/about :
a script that have text
can have a menu
- help
- about
- back to main menu
set the invalid choices.
- exit `