Student Course Management system using Django REST Framework and PostgreSQL
I implemented a student course management system, using Django REST Framework (www.django-rest-framework.org) and Postgres, with the following functionality via RESTful endpoints:
- Get, adds, updates, and deletes students
- Get, adds, updates, and deletes teachers
- Get, adds, updates, and deletes courses
- Get, adds, updates, and deletes enrollments
- Get students enrolled in a given course
- Get courses a given student is enrolled in
- Search courses by title or start date
- Search students by name
Read (GET) actions are not restricted.
Write (POST, PUT, and DELETE) actions are authenticated.
Authentication and permissions are currently supported for the portal’s admins (which are created by
python3 manage.py createsuperuser).
Rate-limiting is supported and configured by REST_FRAMEWORK in courses/settings.py.
It’s possible to configure policies in different ways:
https://www.django-rest-framework.org/api-guide/throttling.
See Makefile.