diff --git a/README.md b/README.md index f1ff9b3..ac43aaa 100644 --- a/README.md +++ b/README.md @@ -59,13 +59,20 @@ All events-domain models live in `models/calendars.py`: `order_id` on CalendarEntry and Ticket is a plain integer column — no FK constraint to the orders table. The cart app writes these values via glue services (`order_lifecycle.py`), not directly. -## Cross-App Integration +## Dependencies -- **Cart checkout:** The cart app marks entries as "ordered" and sets `order_id` via `glue/services/order_lifecycle.py`. -- **Payment confirmation:** Cart app marks entries as "provisional" via the same glue service. -- **Login adoption:** Anonymous entries are adopted to the logged-in user via `glue/services/cart_adoption.py`. -- **Internal API:** `/internal/events/` endpoints serve calendar data to other apps. -- **Cart widget:** Context processor fetches cart summary via internal API. +**Cross-app model imports:** +- `blog.models.ghost_content.Post` — `app.py` context processor, calendar/market services for page hydration +- `market.models.market_place.MarketPlace` — `app.py` context processor, marketplace views +- `cart.models.page_config.PageConfig` — `bp/payments/routes.py` for per-page SumUp config + +**Glue services:** +- `glue.services.relationships.attach_child / detach_child` — calendar and marketplace services manage page associations +- `glue.services.navigation.get_navigation_tree` — context processor builds site nav + +**Internal APIs:** +- Calls `GET /internal/cart/summary` — context processor for cart widget +- Exposes `/internal/events/*` via `events_api.py` — serves calendar data to other apps ## Migrations