TP TipPlatforma Projektovy overview
Prezentacna stranka projektu s klucovymi informaciami a ukazkami produktu.

Produktovo-technologicka prezentacia • stav k 29.04.2026

TipPlatforma meni tabulkove tipovanie na realtime PWA produkt s auditovanym scoringom, admin operaciami a pilot-ready ops vrstvou.

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.

Problem

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.

Produkt

Jedna platforma pre skupiny, turnaje a leaderboardy

Jeden ucet moze byt zaroven hrac vo viacerych skupinach a admin v inej. Skupiny su izolovane, leaderboard je lokalny pre konkretnu sutaz.

Dovera

Scoring correctness above all

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

Kontext projektu, KPI a pilotny operating model

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.

Biznis ciele z dokumentu produktovych poziadaviek

  • 80% pozvanych ma odoslat aspon jeden tip.
  • 70% hracov ma pokryt kazdy zapas pred deadline.
  • 99.5% dostupnost pocas aktivneho turnaja.
  • 0 nespravnych vypoctov bodov.
  • NPS po turnaji aspon 7/10.

Prevadzkovy profil

  • React 18 + Vite + TypeScript + Tailwind na fronte.
  • Fastify + Node.js + TypeScript na API vrstve.
  • PostgreSQL 15, GoTrue, Realtime, Storage cez self-hosted Supabase.
  • Docker Compose stack s edge cestou cez Caddy alebo Cloudflare Tunnel.
  • Operator-guided go-live so sekretnym rotovanim, backup drillom a email warmup.

Stakeholder frame

Produktovy format sukromne uzavrete skupiny
Pouzitie web + instalacia do mobilu
Distribucia bez blokacie cez app store
Pilotny rozsah priblizne do 100 clenov
Aktualny framing z planu do pilot-ready realizacie

Produkt v jednej vete

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.

Pre koho to dava najvacsi zmysel

Firemne timy, interne sutaze, sukromne partie a ine uzavrete komunity, kde je dolezita sutaz vo vlastnom kruhu, nie verejna globalna tabulka.

Vyvoj v cislach

AI cost analyza $222.43
Aktivne domeny 33
Suborov specifikacie 157
Poziadaviek FR-* 680
API testov 456

Zdroj: `project/promo/insights.html` a manual/ops dokumentacia.

2. Mockupy, wireframes a dizajn

Dizajn nie je abstraktny - v repo je wireframe, aktualny mockup aj mobilna PWA ukazka

Namiesto statickych screenshotov su nizsie priamo vlozene HTML artefakty z repozitara, aby bolo vidiet rozdiel medzi planom, nasadenym stavom a mobilnym shellom.

Wireframe complete

Interaktivne
Otvorit fullscreen

Klikatelny wireframe produktoveho rozsahu a informacnej architektury. Otvor ho a preklikaj si hlavne flow, strukturu stranok a navigaciu. Pri auth workflow mozes zadat lubovolny email; nic sa neuklada, ide len o ukazku flow.

Aktualny mockup

Interaktivne
Otvorit fullscreen

V4F-stylovany interaktivny mockup, ktory mapuje len nasadene routy. Preview nizsie nie je klikatelne, ale po otvoreni zdroja si vies prejst plny flow.

Mobilna PWA ukazka

Interaktivne
Otvorit fullscreen

Mobilny shell ukazuje, ako produkt funguje ako app-like experience na telefone. Otvor ho a vyskusaj si realny klikaci flow, bottom nav aj mobilne obrazovky. Na vstup staci zadat lubovolny email a heslo.

3. Produktove vlastnosti

Funkcionalita, ktoru produkt uz dnes pokryva

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.

Hracska app skusenost domovska obrazovka, zapasy, leaderboard, My Tips, profil, instalacny tok
Sutaz v sukromnych skupinach sukromne skupiny, pozvanky, clenstvo, oddelene tabulky poradia
Admin riadiaca vrstva turnaje, harmonogramy, scoring, uzivatelia, audit, opravy, importy
Dovera a prevadzka realtime, notifikacie, exporty, go-live disciplina, GDPR mantinely
01

Mobilna app skusenost pre hraca

Najsilnejsi user-facing povrch uz dnes posobi ako app, nie ako klasicky interny web.

Home a navigacia

  • domovska obrazovka hraca s aktivnymi turnajmi a rychlym prehladom
  • bottom navigation a standalone shell po instalacii
  • rychly vstup do matches, leaderboardu, My Tips a profilu

Zapasy a tipovanie

  • chronologicky feed open, live aj finished zapasov
  • countdown do deadline a lock presne na kickoff
  • editacia tipu do uzavretia a reveal po expire

Osobna vrstva

  • My Tips s breakdownom bodov a historiou uspechu
  • profil, display name, sign-out a personalizacia
  • install prompt a mobilne otvorenie bez browser chrome
02

Skupinova sutaz a socialna dynamika

Produkt nie je verejna tipovacia siet, ale privatny sutazny priestor pre konkretnu komunitu.

Skupiny

  • vytvaranie skupin a priradenie k turnajom
  • invite code, invite link a email pozvanky
  • multi-group clenstvo pri jednom uzivatelskom ucte

Fair-play pravidla

  • tipy su viazane na skupinu, nie globalne na osobu
  • ostatne tipy sa odkryvaju az po uzavreti zapasu
  • leaderboard ostava lokalny pre konkretnu skupinu

Socialny feedback loop

  • realtime poradie pocas turnaja
  • porovnanie vlastnych tipov s ostatnymi
  • zaverecne zhrnutie turnaja s podium revealom
03

Admin vrstva a operator control plane

Za hracskym zazitkom je silna administracna plocha pre sportovu logiku aj prevadzku.

Turnaje a scoring

  • tournaments, matches a status workflow
  • konfigurovatelne bodovacie sablony a component model
  • postponed a rescheduled scenare bez chaosu v tipoch

Vysledky a korekcie

  • live score entry a finalizacia vysledku
  • automaticky scoring po final result
  • korekcie s audit trailom a prepocitanym leaderboardom

Sprava platformy

  • users, roles, activity log a audit log
  • bulk import a export flows
  • go-live nastavenia, operator runbooky a monitoring
04

Dovera, realtime a delivery vrstva

To, co robi produkt presvedcivym, nie je len feature set, ale sposob, akym drzi konzistenciu a doveryhodnost.

Realtime a feedback

  • live score updates bez reloadu
  • realtime refresh leaderboardu a stavov matchov
  • app-like kontinuita na mobile aj desktope

Notifikacie

  • email reminders, result alerts a correction flows
  • push infrastruktura a preference per channel
  • notification model napojeny na realne eventy produktu

Dovera a konzistentnost

  • privacy, terms a public landing pre externy dojem
  • GDPR a security posture pre pilot v EU
  • architektura, manualy a go-live checklist pre seriozne nasadenie

4. Vyvoj projektu v case

Od dokumentu produktovych poziadaviek k nasadenej platforme vo viacerych vlnach

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.

Stage 1

Vision and requirements

Projekt zacal na realnom probleme: interne tipovacie sutaze v spreadsheetoch a chatoch stracaju transparentnost aj socialnu energiu.

Stage 2

Design exploration

Viacero wireframe a visual smerov sa zlievalo do jedneho kanonickeho klikatelneho wireframe a neskor do aktualneho mockupu mapovaneho na realne routy.

Stage 3

Architecture decisions

Zamkli sa rozhodnutia okolo self-hosted emailu, korektneho prepoctu pri opravach vysledkov, postponed workflow a role boundaries.

2025

Dokument produktovych poziadaviek v1.4

Formalizuje pilotne KPI, role model, bodovacie sablony, notifikacne flow a PWA rozhodnutie.

2025

Detailed build plan

Rozsah sa rozpadol na dependecy-ordered baliky a scoring engine dostal explicitny status hard merge gate komponentu.

24.04.2026

Faza 1 - nasadene

MVP jadro bolo uzatvorene: auth, predictions, scoring, groups, tournaments, realtime zaklad.

25.04.2026

Faza 2 + 3 - nasadene

Constitution zaznamenava ako shipped push notifications, i18n, tournament summary, admin user management aj E2E vrstvu.

26.04.2026

Phase 4 waves

Vizualny reskin, home page, notification preferences, marketing landing, audit log, bulk match import, GDPR self-service a live-score wave.

28.04.2026

Manual regenerated

Uzivatelsky manual bol pregenerovany z `@manual` Playwright scenarov a pokryva 28 realnych flow.

5. Architektura a diagramy

Layered architektura s jasnymi hranicami medzi klientom, API, databazou a delivery vrstvou

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.

Client Layer

React SPA + PWA shell

Matches, Leaderboard, My Tips, My Groups, Admin, public pages, install flow, service worker.

Application Layer

Fastify API + business services

Auth middleware, scoring engine, notifications service, audit flows, CSV import/export, settings logic.

Data Layer

PostgreSQL + Supabase services

18 tabuliek, 46 RLS policies, versioned results, GoTrue auth, Realtime, Storage, pg_cron.

Delivery Layer

Email, push, edge a CI/CD

16 email templov, VAPID push, Caddy alebo Cloudflare edge, GitHub Actions pipeline, backups a runbooky.

Datovy model

  • `users`, `groups`, `group_members`, `group_tournaments`
  • `tournaments`, `matches`, `match_results`
  • `predictions`, `prediction_scores`, `scoring_templates`
  • `notification_log`, `notification_preferences`, `push_subscriptions`
  • `audit_log`, `admin_audit_log`, `system_settings`

6. Technologicky stack

Moderny, ale disciplinovany monorepo stack

Kodovy stack potvrdzuju `package.json`, constitution aj infra migracie. Projekt nestavia na hype abstrakciach, ale na citatelnej kombinacii React + Fastify + PostgreSQL/Supabase.

Frontend

React 18TypeScriptVite 5Tailwind CSS React Router 7i18nextVite PWAFramer Motion

Backend

Fastify 4Node.js 20ZodPino NodemailerResendweb-pushPapaParse

Data + Infra

PostgreSQL 15Supabase AuthSupabase RealtimeSupabase Storage Docker ComposeCaddyCloudflareGitHub Actions

Shipped metriky

11docker services
41precache entries
16email templates
21migracii

7. Klucove technicke rozhodnutia

Rozhodnutia, ktore drzia produkt korektny a auditovatelny

Toto nie je iba zoznam technologii. V repo je silna disciplina: scoring correctness, data integrity, explicitnost a pilot-scale pragmatizmus.

Skore je produkcny incident

Scoring engine je merge gate. `prediction_scores` sa nesmu agregovat mimo scoring modulu.

Group admin nie je system role

Autorita skupin je vztah `group_members.role`, nie globalna hodnota v `users.role`.

Predikcia je viazana na skupinu

Rovnaky zapas sa tipuje zvlast v kazdej skupine, aby ostali sutaze autonomne a ferove.

UTC, verzie a audit trail

Deadline je odvodeny zo `scheduled_at`, korekcie vysledku zvysuju `result_version` a stare skore zostava ulozene.

Mutacie nejdu priamo do PostgREST

Klient ide na Fastify API; priamy klient-Supabase kanal ostava len pre realtime a auth-integraciu.

Same-origin dnes, explicitny CORS neskor

Sucasny kod cieli na rovnaky origin. Pri split domene je v known gaps uz pomenovane fail-closed CORS riesenie.

8. Marketingove podklady

Marketing uz nie je bokom - ma vlastne landing surfaces aj media assets

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.

Public-facing pages

  • `/` pre neautentifikovanych navstevnikov
  • `/about`, `/privacy`, `/terms` ako trust surface
  • `project/promo/index.html` ako odlisny promo artefakt
  • Ops + GDPR docs pripravuju realny pilotny launch

Brand message

Najsilnejsia komunikacna linka projektu nie je "tipovacia hra", ale premena neformalnej sutaze na spolahlivy real-time produkt pre firmy a komunity.

Predict. Compete. Win. vs. Transparentne, ferovo, bez rucneho prepocitavania.

Media assets

Promo video a audio varianty

Media folder obsahuje kratke video, pripraveny druhy video slot a viacero audio variantov vhodnych pre teaser, social snippets alebo partner demo.

Video spot

Otvorit subor

Hlavny teaser spot vhodny pre rychlu prezentaciu produktu, partner demo alebo social snippet.

Video spot 02

Placeholder
Rezervovane pre dalsie video

Tento blok je pripraveny pre druhy promo alebo demo spot. Po doplneni suboru sem staci vlozit realny `video` source a CTA link.

9. Tutorialy a manualy

Dokumentacia je viazana na testy, nie na priania

`docs/manual` nie je pisana od stola. Je regenerovana z `@manual` Playwright testov, preto reprezentuje realne shipped flow a nie idealizovanu buducnost.

8 kapitol
28 scenarov
2026-04-28 posledna regeneracia
Otvorit slovensky manual Otvorit English manual

01 Getting Started

Join flow, create group, share invite link.

02 Predicting

Review upcoming matches, submit and edit predictions, reveal after deadline.

03 Leaderboard

Round filters, per-match breakdown, realtime score change.

04 Running A Group

Invite regeneration, member removal, CSV export.

05 Running A Tournament

Create tournament, scoring template, schedule matches, read admin dashboard.

06 Correcting A Result

Versioned result correction and propagated leaderboard refresh.

07 Managing Users

Search, promote, demote, deactivate and reactivate accounts.

08 Personalising

Display name, install to home screen, sign out on shared device.

10. Aktualny stav projektu

Pilot-ready, s jasne pomenovanymi hranami a go-live checklistom

`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.

Co je pripravené

  • Scoring, realtime, groups, admin flow, manual docs a i18n surface.
  • Push subscription API, notification preferences a marketing/public pages.
  • Go-live runbook s 8 fazami a explicitnym secret rotation procesom.
  • Backup/restore, monitoring, email, edge a GDPR prevadzkove podklady.

Zname neblokujuci gapy

  • API nema registrovany CORS plugin, lebo dnes bezi same-origin.
  • `notification_log` este nema RLS, kedze ho nepouziva frontend.
  • `LOG_LEVEL` knob bol dovysvetleny dokumentaciou, nie kodom.
  • `REALTIME_DB_ENC_KEY` musi byt pri produkcii realne rotovany.

Co pred pilotnym go-live nesmie byt preskocene

  • Vymena vsetkych demo secretov a VAPID klucov.
  • SMTP / Postal / Resend validacia s SPF, DKIM, DMARC.
  • Routovanie `app -> /api/*` a verejny Supabase hostname.
  • Restore drill, health monitoring a druhy admin operator.

Pilot scope, ktory dava zmysel

  • Turnaje, match schedules a konfigurovatelny scoring.
  • Group creation, email invites, member management.
  • Predictions s deadline enforcement a edit-until-deadline.
  • Live results, automatic scoring, realtime leaderboard.
  • Result corrections, postponed workflow, export a mobile install.

Stakeholder expectation management

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

Nasadeny rozsah, aktivne vlny a vedome odlozene temy

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.

Nasadene

Jadro platformy

Auth, skupiny, predictions, scoring, realtime, i18n, zhrnutie turnaja, push, admin users, E2E.

Phase 4

Rozsirovanie operator UX

Audit log, bulk import, GDPR self-service, live-score wave, reskin, player home, notification preferences.

Deferred

Vedome odlozene temy

System settings danger zone, SSO, billing, white-label, automaticke vysledky z externej API a global leaderboard.

Dalsie

Co stakeholder moze cakat dalej

Pokracovanie delivery v zavedenom poradi, end-to-end interni testing, final production checks a onboarding pilotnych skupin do najblizsieho live turnajoveho okna.

Preco na tom zalezi

Dovera pred feature inflation

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

Najdolezitejsie data z vyvojoveho dashboardu

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.

Plny zdroj dat

Kompletna analyza je v plnom datovom dashboarde

Tento blok drzi len najdolezitejsie zistenia. V plnom dashboarde su rozpisane domeny, tempo vyvoja, naklady, pokrytie testami aj metriky specifikacie.

Otvorit plny dashboard dat
4 296 AI turns
116 costed taskov
157 subory specifikacie
Rozsah delivery

Sledovanych taskov

262 taskov · 99.6 % dokoncene

261 z 262 taskov je uzavretych ako done, co dava mieru dokoncenia 99.6 %.

Hlavne cislo262 taskov
Aktivny cas

Realneho delivery casu

31h 34m · 8.3 tasku / hod

Rozlozene cez 19 aktivnych sessionov s priemernym tempom 8.3 tasku za hodinu.

Hlavne cislo31h 34m
Naklad na delivery

AI cost a pouzitie

$222.43 · 4 296 AI turns

Napriec 116 nacenenymi taskmi a 4 296 AI turns, priemerne 1.92 USD na naceneny task.

Hlavne cislo$222.43
Pokrytie projektu

Samostatnych domen

33 domen od auth po PWA

Od auth a scoringu cez PWA layout az po GDPR, push notifikacie a admin users.

Hlavne cislo33 domen

Tempo a exekucia

Peak session15.5 tasku / hod
Marathon session92 taskov / 10h 51m
First-attempt success rate87.7 %
Tasky s viac pokusmi23

Z toho vyplyva, ze vyvoj napredoval vo vysokom tempe a pritom si drzal pomerne dobru stabilitu.

Produktova a technicka sirka

Frontend routy25
Implemented Fastify routes64
Database tables18
RLS policies46
Email templaty16

Z toho vyplyva, ze platforma uz pokryva viac nez len zakladny frontend a stoji na sirokej funkcnej baze.

Specifikacia a disciplina kvality

Subory specifikacie157
Functional requirements680
Acceptance scenarios282
API tests456
Coverage vs scenarios1.6x

Z toho vyplyva, ze projekt ma pevnu dokumentacnu a testovaciu oporu, nie len rychlo poskladane obrazovky.

Implementacna zhoda so specifikaciou

Moduly v specifikacii33 / 33
DB tables18 / 18
Planned vs tracked tasks256 / 262
Acceptance scenarios vs tests282 / 456
API lines vs implemented routes321 / 64

Z toho vyplyva, ze jadro architektury a databazy uz sedi so zadanim, hoci API rozsah sa este postupne dobudovava.

Ops, security a notifikacie

Email templaty16
Audit event tests58
Tables with RLS18
RLS policies46
Internal cron guardHMAC + allowlist

Z toho vyplyva, ze delivery pokryva nielen UX flow, ale aj audit, notifikacie a bezpecnostne mantinely pre prevadzku.

Objem specifikacie

Total lines16 218
Total words132 585
User stories122
API lines in specs321
Glossary terms17

Z toho vyplyva, ze projekt je podoprety rozsiahlym zapisom rozhodnuti, pravidiel a scenarov, nie len kodom.