This project is the direct extention from the project I did for DBMS Lab..The git link of my dbms project from which I extended it is given Below: https://github.com/mdneyamul/university_management_system.git
-
I did this project named "University Management System" because I wanted to Implement DBMS and Software Engineering Pattern that I learned from the theory class properly. Because Something Like University Management Has all the basic CRUD (CREATE, READ, UPDATE, DELETE) Operations, That is essential on learning Database Management System. Also Because of The Supervisor's Advice, I also did many representations with chart.js and other work on the front end which was not the initial plan for this project, I managed to learn some good front end staff with HTML, CSS, and javascript.
Features Of This Project :
1.University Management System has 3 groups of users, 1. Admin 2. Teacher 3. Student.
These 3 group of users have their respective roles and authorizations to perform. And one group can not perform another's task if he doesn't have the authorization. These kinds of authentications and authorizations are handled by decorators instead of middleware in this project.
****Admin User Functionality: Admin User holds the main administrative role of the application. Only admin has the authorization
to add or remove another admin, teacher, or student user in the
database. Also, only admin has the roles of Registering a new Course, Department and assigning every course to course teachers.
Then Admin can see an overview of the whole system in the front-end of the admin home page like Teacher's Performance and Department Wise Performance.
So in a nutshell Admin's Functionality:
1. Add another admin
2. Add a new teacher
3. Add new student
4. Add new department
5. Assign Teachers to Courses
6. Remove Student
7. Remove Teacher
8. Observe overall feedback ratings of teachers teachings given by students
9. Observe overall performance ranking of Departments
10. Observe overall quantitive factors of university
***Admin
****Teacher User Functionality: The teacher holds the role of teaching in this web app. First, he is assigned some courses by the admin. Then students who want to take the courses, tend to register the courses by sending register requests to the respective teacher who is assigned teacher, so then the assigned teacher can see the request and can keep it, pending or approve the request or reject it. If only the request is approved, then the course is registered for the student and then he can take the course. otherwise, his result can not be uploaded. Then the teacher can upload his result with JSON file, then he can see his course-wise result. also can download the "COURSE WISE MARKSHEET" via PDF format. Teacher can also see various kinds of presentations like perticpation chart course-wise, course wise performance , his session wise courses, and the ratings of teaching given by the students taking his course.
So in a nutshell Teacher's Functionality:
1. Observe Various representations of Student performance and Student rating feednack and taking courses 2. Approve or Reject register request of Students
3. Add result by JSON file of every course
3. Edit/ Update Result
4. Delete Result
5. See Cousewise result conducted by teacher.
6. Download maksheet as PDF format
****Student Functionality: The Student is the main user of the management system. University is managed based on students' needs. So In this web app, a student can see his performance and other things in a very informative way.
So a student, If he wants to take a course. First, he sends the request to his respective course teacher to register. If the teacher approves the request then only he can sit on the exam and get a result.
Then he can see his result by Genre of that subject. Also, view the skillset him based on the genre.Also he can give ratings of teaching of the teacher on the scale 0 to 5.
So in a nutshell Student's Functionality:
1. Can Send Register Request to course teacher
2. Can see his passing status, registered credit, passed credit etc
3. Can see his skillset by subject genre
3. Can see attendance by barchart
4. Can see his curent markseet
5. Can download marksheet via PDF format.
6. Can see teacher approval table
- Installation Procedure: It's A web app with django backend and HTML+CSS+JS front end.
1. Install Django==3.1.7
2. Install xhtml2pdf==0.2.5
3. Download the repo then goto the "...\university_management_system_extend\university_management_system>" directory
4. then connect with PostgreSQL type "python manage.py makemigrations" then python manage.py migrate"
5. then create a superuser
6. then type "python manage.py runserver"
7. web app wil be up and running.
- Demo:
The demo of this project is here: https://youtu.be/2Pi0Oehs6l0