32 lines
943 B
Markdown
32 lines
943 B
Markdown
# Architecture
|
|
|
|
## Components
|
|
|
|
- `packages/core`: deck schemas, style-pack loading, source ingestion, and deck
|
|
planning.
|
|
- `packages/render-pptx`: deterministic PPTX rendering from `DeckSpec`.
|
|
- `apps/cli`: local creation and regeneration commands.
|
|
- `apps/api`: HTTP API for deck jobs.
|
|
- `apps/web`: first human-friendly frontend for paste/upload/download.
|
|
- `styles/*`: reusable brand/style packs.
|
|
|
|
## Durable Data Model
|
|
|
|
The durable interface is the `DeckSpec`. Future LLM prompts, API clients,
|
|
Google Slides renderers, and web UI revisions should preserve this contract.
|
|
|
|
## Future Hosted Shape
|
|
|
|
```text
|
|
Forgejo repo
|
|
-> /var/www/slide-factory-dev
|
|
-> slide-factory-dev.service
|
|
-> nginx dev.slides.scottfelten.com
|
|
-> /var/www/slide-factory-prod
|
|
-> slide-factory-prod.service
|
|
-> nginx slides.scottfelten.com
|
|
```
|
|
|
|
No production deploy, DNS, nginx, OAuth, secret projection, or systemd mutation
|
|
is part of the initial local MVP.
|
|
|