Containers — MITx Online
Generated 2026-06-24 16:33 UTC · c4gen dev
The runtime/deployable units inside MITx Online and how data moves between them and adjacent systems.
Containers
| Container | Technology | Responsibility |
|---|---|---|
| Public Frontend (React) | React 16 / Webpack 5 (Yarn workspaces) | Public learner SPA (catalog, dashboard, checkout). Served as webpack bundles by Django; calls the REST API from the browser. |
| Staff Dashboard (Refine) | Refine / React 17 (Ant Design) | Admin-facing CRUD dashboard over the DRF API using OIDC (refine-simple-rest). |
| Nginx | Nginx | Reverse proxy in front of Django; serves static assets and webpack bundles. |
| Django Web API | Django 5.1 + DRF (Python 3.11) | REST API (v1/v2/v3 courses/programs/enrollments, ecommerce, b2b, flexible pricing, SCIM), OAuth2 provider, Wagtail CMS, admin, and inbound edX webhooks. |
| Celery Worker | Celery (queues celery, hubspot_sync; RedBeat scheduler) | Async edX enrollment/user repair, course/program certificate generation, HubSpot sync, Keycloak org reconciliation, currency rates, Google Sheets requests. |
| PostgreSQL | PostgreSQL 15 (RDS in prod) | System of record for courses, programs, enrollments, orders, discounts, B2B contracts, and CMS pages. |
| Redis | Redis 8 (ElastiCache in prod) | Celery broker/result backend, RedBeat schedule store, and Django redis cache. |