Containers — MicroMasters
Generated 2026-06-24 13:33 UTC · c4gen dev
The runtime/deployable units inside MicroMasters and how data moves between them and adjacent systems.
Containers
| Container | Technology | Responsibility |
|---|---|---|
| React SPA | React 16 / Redux / webpack 4 | Single-page app bundled by webpack and served by Django templates (static assets via S3/CloudFront in prod, webpack-dev-server locally). Calls the Django REST API from the browser. |
| Nginx | Nginx | Reverse proxy in front of Django via uwsgi; serves static assets. |
| Django Web API | Django + DRF + Wagtail (uWSGI, Python) | REST API, OAuth (python-social-auth) against edX/MITx Online, catalog & Wagtail pages API, learner-search proxy, admin, and dashboard hydration. |
| Wagtail CMS | Wagtail (in-process Django app) | Editorial program pages (ProgramPage/HomePage/ResourcePage). Exposes the Wagtail v2 pages/images/documents API under /api/v0/wagtail/. |
| Celery Worker | Celery (queues: search, exams, dashboard, default) | Runs batch enrollment/grade/cert refresh from edX, hourly exam authorization, daily grade freezing, course-run sync, and OpenSearch indexing. Beat embedded (-B). |
| PostgreSQL | PostgreSQL 16 | System of record for programs, courses, enrollments, grades, exam auth, and cached edX data. |
| Redis | Redis | Celery broker/result backend, Django cache, and batch-job coordination locks. |
| OpenSearch | OpenSearch 1.3 (opensearch_dsl) | Indexes program-enrolled user profiles for staff learner search, plus percolate queries that trigger automatic emails. Alias-swapped reindex. |
| S3 / CloudFront | AWS S3 + CloudFront (django-storages) | Static and media file storage (optional; MICROMASTERS_USE_S3). |