Engineering roadmap — technické fáze implementace
Stav dokumentu: Živý checklist — checkboxy sledují stav v repu k datu údržby dokumentu; po dokončení fáze aktualizujte.
Tento dokument popisuje technické kroky vývoje (infra, data, veřejný web, SEO, výkon, vyhledávání). Rozhraní editora je jen v 32-admin.md. Nejedná se o produktové featury — ty jsou v 11-roadmap.md (mapa featur) a v jednotlivých tematických dokumentech (např. tasks/symptomy-a-temata.md, tasks/done/filtrace-a-vyhledavani-katalogu.md, tasks/done/zpracovani-a-recepty.md, tasks/done/sezonnost-a-kalendar.md, tasks/mapa-vyskytu.md, …) plus 12-katalog-a-karta-byliny.md jako historicky první iterace. Stručné produktové shrnutí: 10-product-spec.md.
Fáze 1: Základ projektu
- založit React Router v7 app na Cloudflare Workers,
- nastavit TypeScript,
- nastavit Tailwind (
nature-classes, viz 27-soft-nature-ui.md), - shadcn/ui — zatím nepřidáno (viz
package.json); volitelně s editorem (32-admin.md), - nastavit Wrangler,
- nastavit D1,
- nastavit R2 (binding + čtení
/media/…; bucket v účtu + upload z UI později dle 32-admin.md), - nastavit KV (binding zatím ne — viz 20-tech-stack.md),
- vytvořit první deployment.
Fáze 2: Datový základ
- vytvořit D1 migrace,
- vytvořit základní tabulky,
- vytvořit seed pro regiony,
- vytvořit seed pro části rostlin,
- vytvořit seed pro způsoby zpracování,
- vytvořit seed pro symptomy a témata,
- vložit 10–20 testovacích bylin.
Fáze 3: Veřejný katalog
- vytvořit
/byliny, - vytvořit
/byliny/:slug, - vytvořit detail byliny,
- vytvořit galerii,
- vytvořit blok sběru,
- vytvořit blok zpracování,
- vytvořit blok spirituálního použití,
- vytvořit blok vědeckých důkazů,
- vytvořit blok bezpečnosti.
Fáze 4: Filtry
- filtrovat podle regionu,
- filtrovat podle měsíce sběru,
- filtrovat podle části rostliny,
- filtrovat podle způsobu zpracování,
- filtrovat podle symptomu / tématu (v katalogu —
topic+topicScopena/byliny), - filtrovat podle typu důkazu (
science,scienceMin,studyType), - filtrovat podle bezpečnostní úrovně (
safety→herbs.safety_level).
Fáze 5: Rozhraní editora
Checklist (Access, CRUD, média, drafty, invalidace): výhradně 32-admin.md §7.
Fáze 6: SEO
Priorita: základní SEO patří mezi „low hanging fruit“ — ideálně brzy po veřejném katalogu a detailech (Fáze 3), protože vyhledávače začnou routy indexovat hned; nebrzdit to čekáním na rozhraní editora nebo pokročilými filtry. Produktový kontext (title/description, H1/H2): 12-katalog-a-karta-byliny.md — §7.5.
Tematické úkoly: tasks/sitemap-xml-vylepseni.md (sitemap), tasks/seo-metadata-social-a-nadpisy.md (meta, OG/Twitter, nadpisy), tasks/seo-strukturovana-data-json-ld.md (JSON-LD).
- základ: dynamický
/sitemap.xml(publikované byliny, dokumentacedocs/*.md, hlavní routy) a/robots.txt(Disallow: /__internal/), - úvod, katalog, detail byliny a
/dokumentace: canonical URL, Open Graph (og:title,og:description,og:url,og:type,og:locale; u detailu byliny volitelněog:imagez prvního obrázku karty) a Twitter Card — částečně (meta helper v repu; doladit konzistenci), - výchozí OG obrázek pro stránky bez vlastního náhledu (globální asset),
- jednotná hierarchie H1/H2 a smysluplné meta popisy na
/bylinya/byliny/:slug— částečně, - vytvořit stránky pro symptomy (
/symptomy,/symptomy/:slug), - vytvořit stránky pro způsoby zpracování (
/zpracovani,/zpracovani/:slug), - vytvořit sezónní stránky —
/sezona,/sezona/:month(viz tasks/done/sezonnost-a-kalendar.md; doplňky UI tasks/sezona-kalendarovy-pohled.md)
Fáze 7: Výkon a cache
- přidat KV cache pro detail byliny,
- přidat KV cache pro filtry,
- přidat KV cache pro homepage,
- přidat cache invalidaci,
- optimalizovat D1 dotazy,
- přidat indexy,
- měřit pomalé routy.
Fáze 8: Pokročilé vyhledávání
Později:
- vytvořit search index,
- přidat Vectorize,
- generovat embeddings,
- přidat semantické vyhledávání,
- přidat doporučování podobných bylin,
- přidat AI asistenci pro editory — viz 32-admin.md.