The University Management System is a web application for managing university processes. This project helps to organize users, students, courses, grades, attendance, and notifications. It uses Django and Django Rest Framework (DRF) to create APIs. Technologies like Redis and Celery are used to make the system fast and reliable.
- Register, log in, and log out users.
- User roles: Student, Teacher, Admin.
- Access control based on roles.
- Manage student profiles (name, email, birthdate).
- Admins manage all students. Students can only see their profiles.
- Teachers can create and edit courses.
- Students can enroll in courses.
- Admins can view all courses.
- Teachers assign grades to students for their courses.
- Mark student attendance for courses.
- View attendance records.
- Admins create notifications for students and teachers.
- Notifications for grades, attendance, and reminders.
- Redis caches data like course lists and student profiles for faster loading.
- Logs important actions like logins, updates, and notifications.
- Celery runs background tasks:
- Send attendance reminders.
- Notify students about new grades.
- View API documentation using Swagger and Redoc.
- Backend: Django, Django Rest Framework
- Database: SQLite
- Caching: Redis
- Async Tasks: Celery
- API Docs: drf-spectacular (Swagger/Redoc)
- Swagger UI: http://127.0.0.1:8000/api/docs/
- Redoc UI: http://127.0.0.1:8000/api/redoc/
- Admin Panel: http://127.0.0.1:8000/admin/
Manage users, courses, and grades in the admin interface.
Explore API endpoints with Swagger.
- Run the server:
python manage.py runserver

