System architecture
The applications and services that make up the portal, and how data flows between them.
- 1
The applications
Learner app (
femnet-lms-fend): a Next.js for learners.Facilitator hub (
femnet-facilitator-fend): a Next.js app for staff and facilitators.Backend (
femnet-lms-drf): a Django REST Framework API and the system of record for users, cohorts, courses, progress, certificates, badges, MEL data and the shop.This guide (
femnet-lms-guide): a static site hosted on Netlify. - 2
Backend services
The backend runs with Docker Compose on the VPS:
drf(Gunicorn, published on127.0.0.1:8010),celery_workerandcelery_beatfor background jobs,postgres16 for data andredis7 for the job queue. Caddy sits in front, serves/media/from disk and proxies everything else todrf. - 3
How data flows
Both apps call the API under
/api/v1/with a JWT token. The learner app saves progress on the device first and it in the background. Uploaded course media, H5P and SCORM packages are stored underMEDIA_ROOT, bind-mounted from the VPS so they survive rebuilds. - 4
Useful backend addresses
/health/returns the service health./api/docs/is the interactive API reference./admin/is .
