Nepriehladne, rucne a nefer tipovanie
Dokument produktovych poziadaviek popisuje bezny stav: Excel, WhatsApp a improvizovane formulare. Projekt odstranuje neprehladnost, kopirovanie tipov a manualne prepocitavanie bodov.
Produktovo-technologicka prezentacia • stav k 29.04.2026
Projekt riesi firemne a komunitne tipovacie sutaze okolo sportovych turnajov pre uzavrete sukromne skupiny. Namiesto Excelu, chatov a rucnych prepocitov prinasa zdielane skupiny, dynamicke tipovanie, live vysledky, verzovany scoring, notifikacie a app-like pouzitie na telefone aj notebooku bez App Store distribucie.
Dokument produktovych poziadaviek popisuje bezny stav: Excel, WhatsApp a improvizovane formulare. Projekt odstranuje neprehladnost, kopirovanie tipov a manualne prepocitavanie bodov.
Jeden ucet moze byt zaroven hrac vo viacerych skupinach a admin v inej. Skupiny su izolovane, leaderboard je lokalny pre konkretnu sutaz.
Ustava projektu radi scoring na prve miesto. Vsetky korekcie vysledkov idu cez `result_version`, historicke skore sa zachovava a dvojite scitanie je explicitne zakazane.
1. Uvod a technologicky kontext
Produkt je navrhnuty ako pilotne, ale seriozne nasaditelne riesenie: PWA pristup, JWT auth, self-hosted Supabase vrstva, real-time eventy a presne definovana go-live disciplina.
System admin nastavuje turnaje a scoring, spravca skupiny vytvara skupiny a pozva ludi, hraci tipuju pred kickoffom a sleduju leaderboard, ktory sa meni v realnom case ako prichadzaju vysledky.
Firemne timy, interne sutaze, sukromne partie a ine uzavrete komunity, kde je dolezita sutaz vo vlastnom kruhu, nie verejna globalna tabulka.
Zdroj: `project/promo/insights.html` a manual/ops dokumentacia.
2. Mockupy, wireframes a dizajn
Namiesto statickych screenshotov su nizsie priamo vlozene HTML artefakty z repozitara, aby bolo vidiet rozdiel medzi planom, nasadenym stavom a mobilnym shellom.
3. Produktove vlastnosti
Manual, aktualny mockup aj routovacia mapa potvrdzuju, ze platforma je viac nez landing: ma tok pre hraca, tok pre spravcu skupiny, tok pre systemoveho admina aj povrch zaverecneho zhrnutia turnaja. Dolezite je, ze velka cast zazitku uz posobi ako app: bottom nav, standalone PWA shell, home dashboard, mobile match flow a profile/push nastavenia.
Najsilnejsi user-facing povrch uz dnes posobi ako app, nie ako klasicky interny web.
Produkt nie je verejna tipovacia siet, ale privatny sutazny priestor pre konkretnu komunitu.
Za hracskym zazitkom je silna administracna plocha pre sportovu logiku aj prevadzku.
To, co robi produkt presvedcivym, nie je len feature set, ale sposob, akym drzi konzistenciu a doveryhodnost.
4. Vyvoj projektu v case
Repo obsahuje zretelnu historiu: dokument produktovych poziadaviek v roku 2025, nasadeny milestone v aprili 2026 a dalsie fazy uz explicitne zaznamenane v constitution a vyvojovom dashboarde.
Projekt zacal na realnom probleme: interne tipovacie sutaze v spreadsheetoch a chatoch stracaju transparentnost aj socialnu energiu.
Viacero wireframe a visual smerov sa zlievalo do jedneho kanonickeho klikatelneho wireframe a neskor do aktualneho mockupu mapovaneho na realne routy.
Zamkli sa rozhodnutia okolo self-hosted emailu, korektneho prepoctu pri opravach vysledkov, postponed workflow a role boundaries.
Formalizuje pilotne KPI, role model, bodovacie sablony, notifikacne flow a PWA rozhodnutie.
Rozsah sa rozpadol na dependecy-ordered baliky a scoring engine dostal explicitny status hard merge gate komponentu.
MVP jadro bolo uzatvorene: auth, predictions, scoring, groups, tournaments, realtime zaklad.
Constitution zaznamenava ako shipped push notifications, i18n, tournament summary, admin user management aj E2E vrstvu.
Vizualny reskin, home page, notification preferences, marketing landing, audit log, bulk match import, GDPR self-service a live-score wave.
Uzivatelsky manual bol pregenerovany z `@manual` Playwright scenarov a pokryva 28 realnych flow.
5. Architektura a diagramy
Architektura je konzistentna napriec dokumentu produktovych poziadaviek, constitution, Mermaid diagramami aj kodovou strukturou. Klient posiela mutacie cez Fastify API; priamy kontakt klienta so Supabase ostava citatelny len pre realtime a auth vrstvy.
Matches, Leaderboard, My Tips, My Groups, Admin, public pages, install flow, service worker.
Auth middleware, scoring engine, notifications service, audit flows, CSV import/export, settings logic.
18 tabuliek, 46 RLS policies, versioned results, GoTrue auth, Realtime, Storage, pg_cron.
16 email templov, VAPID push, Caddy alebo Cloudflare edge, GitHub Actions pipeline, backups a runbooky.
6. Technologicky stack
Kodovy stack potvrdzuju `package.json`, constitution aj infra migracie. Projekt nestavia na hype abstrakciach, ale na citatelnej kombinacii React + Fastify + PostgreSQL/Supabase.
7. Klucove technicke rozhodnutia
Toto nie je iba zoznam technologii. V repo je silna disciplina: scoring correctness, data integrity, explicitnost a pilot-scale pragmatizmus.
Scoring engine je merge gate. `prediction_scores` sa nesmu agregovat mimo scoring modulu.
Autorita skupin je vztah `group_members.role`, nie globalna hodnota v `users.role`.
Rovnaky zapas sa tipuje zvlast v kazdej skupine, aby ostali sutaze autonomne a ferove.
Deadline je odvodeny zo `scheduled_at`, korekcie vysledku zvysuju `result_version` a stare skore zostava ulozene.
Klient ide na Fastify API; priamy klient-Supabase kanal ostava len pre realtime a auth-integraciu.
Sucasny kod cieli na rovnaky origin. Pri split domene je v known gaps uz pomenovane fail-closed CORS riesenie.
8. Marketingove podklady
Constitution oznacuje marketing landing a verejne info stranky ako shipped v low-risk wave 26.04.2026. V repozitari uz existuje aj samostatny promo microsite a media folder s videom a audio variantmi.
Najsilnejsia komunikacna linka projektu nie je "tipovacia hra", ale premena neformalnej sutaze na spolahlivy real-time produkt pre firmy a komunity.
Media assets
Media folder obsahuje kratke video, pripraveny druhy video slot a viacero audio variantov vhodnych pre teaser, social snippets alebo partner demo.
Hlavny teaser spot vhodny pre rychlu prezentaciu produktu, partner demo alebo social snippet.
Tento blok je pripraveny pre druhy promo alebo demo spot. Po doplneni suboru sem staci vlozit realny `video` source a CTA link.
Prehlad vsetkych pritomnych audio variantov z media foldera: voiceovery, kratke spoty aj samostatna hudobna stopa.
9. Tutorialy a manualy
`docs/manual` nie je pisana od stola. Je regenerovana z `@manual` Playwright testov, preto reprezentuje realne shipped flow a nie idealizovanu buducnost.
Join flow, create group, share invite link.
Review upcoming matches, submit and edit predictions, reveal after deadline.
Round filters, per-match breakdown, realtime score change.
Invite regeneration, member removal, CSV export.
Create tournament, scoring template, schedule matches, read admin dashboard.
Versioned result correction and propagated leaderboard refresh.
Search, promote, demote, deactivate and reactivate accounts.
Display name, install to home screen, sign out on shared device.
10. Aktualny stav projektu
`docs/ops/known-gaps.md` hovori explicitne: zname kodove medzery neblokuju pilot. Zaroven je v repo detailny go-live checklist pre DNS, sekrety, email, edge a backup drill.
Launch datum nema byt komunikovany podla kalendara, ale podla readiness. Najkritickejsi milestone je integracna istota scoring engine + realtime vrstvy, pretoze az ten robi zvysok timeline predvidatelnym.
11. Roadmapa
Roadmapa je dolezita hlavne preto, ze constitution ju drzi poctivo. Vdaka tomu je zretelne, co uz produkt ma, co je vo Phase 4, a co sa vedome odklada.
Auth, skupiny, predictions, scoring, realtime, i18n, zhrnutie turnaja, push, admin users, E2E.
Audit log, bulk import, GDPR self-service, live-score wave, reskin, player home, notification preferences.
System settings danger zone, SSO, billing, white-label, automaticke vysledky z externej API a global leaderboard.
Pokracovanie delivery v zavedenom poradi, end-to-end interni testing, final production checks a onboarding pilotnych skupin do najblizsieho live turnajoveho okna.
Dokument dobre pripomina povodnu prioritu: nie mat co najviac features, ale produkt, ktoremu budu hraci a admini verit pocas ziveho turnaja.
12. Vyvojove data a projekt v cislach
Tento blok vytahuje najzaujimavejsie data z vyvojoveho dashboardu: nie len kolko sa spravilo, ale aj ake tempo, aku sirku a aku kvalitativnu disciplinu projekt realne dosiahol.
Tento blok drzi len najdolezitejsie zistenia. V plnom dashboarde su rozpisane domeny, tempo vyvoja, naklady, pokrytie testami aj metriky specifikacie.
261 z 262 taskov je uzavretych ako done, co dava mieru dokoncenia 99.6 %.
Rozlozene cez 19 aktivnych sessionov s priemernym tempom 8.3 tasku za hodinu.
Napriec 116 nacenenymi taskmi a 4 296 AI turns, priemerne 1.92 USD na naceneny task.
Od auth a scoringu cez PWA layout az po GDPR, push notifikacie a admin users.
Z toho vyplyva, ze vyvoj napredoval vo vysokom tempe a pritom si drzal pomerne dobru stabilitu.
Z toho vyplyva, ze platforma uz pokryva viac nez len zakladny frontend a stoji na sirokej funkcnej baze.
Z toho vyplyva, ze projekt ma pevnu dokumentacnu a testovaciu oporu, nie len rychlo poskladane obrazovky.
Z toho vyplyva, ze jadro architektury a databazy uz sedi so zadanim, hoci API rozsah sa este postupne dobudovava.
Z toho vyplyva, ze delivery pokryva nielen UX flow, ale aj audit, notifikacie a bezpecnostne mantinely pre prevadzku.
Z toho vyplyva, ze projekt je podoprety rozsiahlym zapisom rozhodnuti, pravidiel a scenarov, nie len kodom.