generated from bisco/codex-bootstrap
22 lines
1.0 KiB
Markdown
22 lines
1.0 KiB
Markdown
# Architecture
|
|
|
|
The system has three runtime components on the Docker Compose default network:
|
|
|
|
1. Astro renders the public single page and requests one aggregate JSON document.
|
|
2. Wagtail/Django manages editorial content, serves media in development, and exposes
|
|
the read-only `/api/site/home/` endpoint.
|
|
3. PostgreSQL persists Wagtail content and metadata.
|
|
|
|
The aggregate response contains `settings`, `homepage`, `feature_cards`, `teacher`,
|
|
`lesson_info`, `shows`, and `gallery_items`. Image values contain browser-facing URLs
|
|
and alternative text. Only published home content and records marked for home display
|
|
are exposed. Astro validates/normalizes the response and falls back to checked-in
|
|
Italian demo content if fetching fails.
|
|
|
|
Wagtail's authenticated admin remains the only editing interface. The public frontend
|
|
has no database access and no public write API. Uploaded media is stored in a dedicated
|
|
Compose volume.
|
|
|
|
The deployment topology and content model are recorded in
|
|
[ADR-0001](adr/0001-headless-wagtail-astro.md).
|