Architecture Decision Records (ADR)
Záznamy o architektonických rozhodnutiach projektu ClubUp. Každý ADR popisuje:
- Kontext — čo nás priviedlo k rozhodnutiu
- Zvažované možnosti — čo sme vážne posúdili
- Rozhodnutie — čo sme zvolili
- Dôvody — prečo
- Dôsledky — čo to spôsobí (pozitívne aj negatívne)
- Revisit — kedy by sme to mali znovu posúdiť
Šablóna: 0000-template.md.
Aktívne ADR
| # | Téma | Status | Dátum |
|---|---|---|---|
| 0001 | Tech stack: Next.js 15 + Node.js 20 + MongoDB Atlas | Accepted | 2026-05-10 |
| 0002 | Monorepo s Turborepo + npm workspaces | Accepted | 2026-05-10 |
| 0003 | Hosting na Verceli | Accepted | 2026-05-10 |
| 0004 | SSO cez auth.sportup.sk (OIDC client) | Accepted (závisí) | 2026-05-10 |
| 0005 | Platobná brána 24-pay.sk | Accepted | 2026-05-10 |
| 0006 | Video hosting na Mux | Accepted | 2026-05-10 |
| 0007 | Live výučba cez Microsoft Teams | Accepted | 2026-05-10 |
| 0008 | Certifikácia cez Žilinskú univerzitu (FRI) | Accepted | 2026-05-10 |
| 0009 | Dokumentačná stránka docs.clubup.sk na Nextra 4 | Accepted | 2026-05-11 |
Status hodnoty
- Proposed — návrh, ešte sa neimplementuje
- Accepted — rozhodnuté, kód a docs sa podľa toho stavajú
- Accepted (závisí) — rozhodnuté, ale závisí od externej dependencies (napr. ADR-0004 závisí od dostupnosti
auth.sportup.sk) - Deprecated — už neplatí, ale ešte je v aktívnom kóde
- Superseded by ADR-XXXX — nahradené iným ADR
Kedy vznikne nové ADR
Nové ADR sa vytvára pri rozhodnutí, ktoré:
- Ovplyvňuje architektúru (stack, hosting, infra)
- Mení doménový model zásadným spôsobom (nová entita, zmena vzťahu medzi entitami)
- Pridáva externú dependency (nový SaaS, nová knižnica, nový partner)
- Mení business model (revenue sharing, certifikácia, distribúcia)
- Mení bezpečnostný model (auth, encryption, data retention)
Bug fix, drobná zmena UX alebo refaktor v rámci jednej vrstvy ADR nepotrebujú.
Proces
- Otvor PR s návrhom ADR (status:
Proposed) - Diskusia v PR review — navrhované možnosti, dôsledky
- Rozhodnutie — pri merge sa status zmení na
Accepted - Zmeny — pôvodné ADR sa neupravuje retroaktívne. Ak sa rozhodnutie zmení, vytvorí sa nové ADR so statusom
Accepteda pôvodné dostaneSuperseded by ADR-XXXX
Konvencie
- Číslovanie:
NNNN-kratky-popisok-kebab-case.md, 4 číslice s vodiacimi nulami - Slovenský jazyk (rovnako ako zvyšok dokumentácie)
- ADR nikdy nepopisuje implementačný detail; to patrí do
architecture/,domain/,api/, atď. - ADR má byť čitateľné aj o 3 roky — nepoužívajme aktuálny slang ani referencie na meme