SQLite si adresář sám nevytvoří, takže `payload migrate` i integrační
testy padaly na SQLITE_CANTOPEN (kód 14). Lokálně se to neprojevilo,
protože adresář existoval z dřívějška; v CI po čerstvém checkoutu ne.
Adresáře data/ a media/ proto drží v repu .gitkeep, samotný obsah
zůstává ignorovaný. Řeší to i onboarding — po `git clone` teď projde
postup z README bez ručního mkdir.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Kostra prezentace s vlastní administrací pro Martina Reinera.
Obsah:
- kolekce Products (obrázky, volné parametry, cena, dostupnost, skrytí),
Media se zmenšeninami, Pages, Users bez veřejné registrace
- veřejná část: výpis nabídky, detail položky, statické stránky
- /api/health pro Docker HEALTHCHECK
Provoz:
- Dockerfile, docker-compose.yml (vývoj) a docker-compose.prod.yml
(nasazení z Gitea registry)
- CI v Gitea Actions: lint -> testy -> build -> push image
- úvodní migrace databáze
Stránky jsou force-dynamic, aby se úprava položky projevila hned;
schéma se za běhu nedomýšlí (push: false), migrace se commitují.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>