Dokumentácia popisuje MVP fázu projektu. Niektoré features sú TBD.
ADR (rozhodnutia)
Prehľad ADR

Architecture Decision Records (ADR)

ADR je krátky dokument, ktorý zachytáva jedno architektonické rozhodnutie — kontext, prečo sa rozhodlo takto, aké sú dôsledky. Jeho účelom je, aby budúci vývojári (vrátane teba o pol roka) vedeli prečo je to takto, nielen ako.

Načo to je

V projekte vznikne veľa rozhodnutí: stack, architektúra, doménové vzory. Ak ich nezachytíš, o pol roka:

  • Niekto sa spýta "prečo používame MongoDB a nie Postgres?" — odpoveď nie je v kóde, kód len beží
  • Niekto navrhne "poďme prerobiť na ORM" — bez kontextu pôvodného rozhodnutia nemôže informovane rozhodnúť
  • Tím sa rozpadne, prídu noví ľudia — chýba im kontext, ktorý mal pôvodný tím v hlave

ADR-ka je 2-3 strany, ktoré toto zachytia.

Konvencia

  • ADR-ky sú číslované poradovo (0001-, 0002-, ...)
  • Nikdy sa neprepisujú po prijatí. Ak rozhodnutie zmeníme, napíšeme novú ADR-ku, ktorá supersede-uje tú starú
  • Stará ADR-ka zostáva ako historický záznam, len do nej pridáme **Status: Superseded by ADR-NNNN**
  • Píšeme po slovensky (alebo po anglicky, ak je tím medzinárodný — buď konzistentne)

Aktuálne ADR-ky

#NázovStatus
001MongoDB Atlas ako primárna databáza✅ Accepted
002Žiadne ORM, len Zod schémy + native driver✅ Accepted
003Polyglot MCP servery (3 servery, nie monolit)✅ Accepted
004Next.js 15 + Vercel pre frontend✅ Accepted
005MCP ako primárne API rozhranie✅ Accepted
006Polymorfné komentáre cez (activityType, activityId)✅ Accepted
007MentoringCycle ako kontainer, MentoringSession ako aktivita✅ Accepted
008End-to-end šifrovanie len pre direct chat✅ Accepted
009Rodičovský proxy ako separátne účastníctvo✅ Accepted
010Hybrid mirror so sportup.sk projektom✅ Accepted
011Server-Sent Events pre real-time delivery✅ Accepted
012Vercel zostáva (žiadny Google Cloud)✅ Accepted
013Brand v2 — Chat Stack mark, SK Blue/Red, Albert Sans + Geist✅ Accepted
014Licenčný model — EUPL-1.2 (kód) + CC-BY-4.0 (docs) + REUSE Specification✅ Accepted

Kedy napísať novú ADR-ku

Vždy, keď urobíš rozhodnutie, ktoré:

  • Sa ťažko zvráti (zmena DB, zmena API protokolu, zmena auth schémy)
  • Má dôsledky pre celý projekt (jazyk, framework, dizajn vzorov)
  • Zatvára otázku z OPEN_QUESTIONS.md — vtedy ADR-ka musí

Pre malé rozhodnutia (názov metódy, konkrétny lib package) ADR-ka netreba.

Šablóna

Pozri template (skrytá z navigácie, ale dostupná). Skopíruj a vyplň.