MITx Pro — Architecture & Data Flows
Generated 2026-06-24 16:33 UTC · c4gen dev
MIT xPRO is the professional-education e-commerce and course-delivery platform. A Django/DRF backend with a React (Webpack) SPA and a Wagtail CMS serves the catalog and marketing pages, takes payment via CyberSource Secure Acceptance, and provisions users, enrollments, grades, and certificates against an Open edX instance. Celery (RedBeat) runs enrollment repair, certificate generation, course-run sync, external-vendor course sync, and Google Sheets coupon/refund/deferral workflows. xPRO is a SOA peer: MIT Learn pulls its course/program catalog and content files for discovery.
This is a C4 view of MITx Pro within the MIT Open Learning SOA, focused on how data is created and propagated — synchronous request paths and asynchronous (queued, scheduled, event-driven) flows alike. Use it for onboarding and as a holistic reference when realigning flows or hunting harmful cycles and fragile linkages.
How to read these diagrams
These are C4 model diagrams (C4-PlantUML). Read them top-down: System Context (the whole SOA) → Container (one system's runtime units) → Dynamic (a single data flow, step by step).
- People are rounded boxes; systems and containers are rectangles; databases and queues have distinct shapes.
- Each arrow is a data flow labelled with what moves.
- Solid arrows are synchronous (request/response, caller blocks).
- Amber dashed arrows are asynchronous (queued, scheduled, or event-driven — caller does not block).
- Drag to pan, scroll to zoom. Boxes with a link drill into the next level.
Contents
- System Context — MITx Pro and the systems it exchanges data with.
- Containers — the runtime units inside MITx Pro.
- Data Flows — key interactions, step by step (sync & async).
- Dependencies & Cycles — graph-derived coupling, cycles, fragile links.
Keeping this current
These pages are generated from a structured model by
architecture_maps/c4gen. The cross-service edges are extracted deterministically
from the witan-code graph; node prose and scenarios are curated. See
the generator README
to regenerate after the system changes.