LMS Backend
Co-developed with TinkerTanker
Database & Storage
PostgreSQL is used. For static file storage, AWS S3 is chosen.
The SQL database schema can be found in files accounts/models.py and core/models.py
Accounts
JWT is the chosen authentication method. This Django app consists of 3 auth-related endpoints:
- token/ - Takes in username and password. If valid, an access and refresh token is sent to client.
- token/refresh/ - Takes in refresh token. If valid, a new access token is created and sent to client.
- token/verify/ - Takes in access token. If valid, a 200 status code will be sent to client.
Core
The core Django app handles the LMS's main functionalities. Currently, there are 2 main groups of endpoints, which correspond to our DB models.
- Classroom - Available actions: List, Retrieve, Create, Update
- StudentProfile - Available actions: List, Update
This app has been setup to handle WebSocket connections. The specific endpoints will be added in the next milestone.