Skip to content
FEMNET

System architecture

The applications and services that make up the portal, and how data flows between them.

IT teamDone in: Server4 steps
  1. 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. 2

    Backend services

    The backend runs with Docker Compose on the VPS: drf (Gunicorn, published on 127.0.0.1:8010), celery_worker and celery_beat for background jobs, postgres 16 for data and redis 7 for the job queue. Caddy sits in front, serves /media/ from disk and proxies everything else to drf.

  3. 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 under MEDIA_ROOT, bind-mounted from the VPS so they survive rebuilds.

  4. 4

    Useful backend addresses

    /health/ returns the service health. /api/docs/ is the interactive API reference. /admin/ is .

Related how-tos