Files
rose-ash/blog/README.md
giles e1f9c964f5
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m56s
Update app READMEs for monorepo
Remove stale submodule references, port numbers, and Running sections.
Add fragment composition details. Create READMEs for federation and account.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:13:00 +00:00

42 lines
1.7 KiB
Markdown

# Blog App (Coop)
Content management, Ghost CMS sync, navigation, and the prose editor for the Rose Ash cooperative platform. Runs database migrations on startup and serves as the primary content hub.
## Structure
```
app.py # Application factory (create_base_app + blueprints)
path_setup.py # Adds project root + app dir to sys.path
entrypoint.sh # Container entrypoint (migrations, Redis flush, start)
bp/
blog/ # Post listing, Ghost CMS sync, webhooks
post/ # Single post view and admin
admin/ # Settings admin interface
menu_items/ # Navigation menu management
snippets/ # Reusable content snippets
fragments/ # nav-tree fragment for cross-app navigation
models/ # Re-export stubs pointing to shared/models/
services/ # register_domain_services() — wires blog + calendar + market + cart
templates/ # Blog-specific templates (override shared/)
```
## Cross-domain communication
All inter-app communication uses typed service contracts (no HTTP APIs):
- `services.calendar.*` — calendar/entry queries via CalendarService protocol
- `services.market.*` — marketplace queries via MarketService protocol
- `services.cart.*` — cart summary via CartService protocol
- `services.federation.*` — AP publishing via FederationService protocol
## Fragments served
- **nav-tree** — site navigation tree, fetched by all other apps
## Fragments consumed
- **cart-mini** (from cart) — cart icon + badge
- **auth-menu** (from account) — sign-in / user menu
- **container-nav** (from events, market) — sidebar widgets
- **container-cards** (from events) — event cards on listing pages