Technologie
Jak platforma funguje pod kapotou
Jak putují data
Telefon nebo počítač
člen, rodič, trenér
Web a portál klubu
Vercel · Dublin
Databáze klubu
Supabase · EU
Svazy ČSTS a WDSF
výsledky soutěží
E-mail a upozornění
Resend, Web Push
rhythmees
soutěžní statistiky, jen ke čtení
Z čeho se platforma skládá
Každou část zajišťuje zavedená služba specializovaná na jednu věc. Nic z toho klub nemusí nastavovat sám.
Web a aplikace v telefonu
Next.js a React, instalovatelná webová aplikace (PWA)
Jeden web slouží jako stránka klubu i jako portál pro členy. V telefonu si ho člen přidá na plochu a chová se jako aplikace: vlastní ikona, celá obrazovka, upozornění. Nic se nestahuje z obchodu s aplikacemi.
Provoz webu
Vercel, servery v Dublinu (EU)
Web běží v cloudu, který se sám škáluje: když se před soustředěním přihlašuje celý klub naráz, nic se nezpomalí. Klub nemusí nic instalovat ani spravovat.
Databáze klubu
Supabase (PostgreSQL), region EU
Členové, lekce, platby a výsledky jsou v databázi, kterou má každý klub vlastní od podpisu smlouvy. Data jednoho klubu se tak nikdy nemíchají s jiným.
Přihlášení
Supabase Auth
Člen se přihlásí e-mailem a heslem, nebo odkazem z pozvánky. Hesla se ukládají jen v nevratně zašifrované podobě, takže je nevidí nikdo, ani provozovatel.
E-maily
Resend
Pozvánky, potvrzení plateb, připomínky lekcí a měsíční souhrny pro rodiče odcházejí z adresy klubu. Pozvánky na lekci chodí trenérovi rovnou do kalendáře v telefonu.
Upozornění v telefonu
Web Push
Nová žádost o lekci, schválení nebo změna termínu přijde jako upozornění, stejně jako z běžné aplikace. Trenér může žádost schválit přímo z upozornění.
Platby
QR platba (standard českých bank)
Člen zaplatí převodem přes QR kód ve své bankovní aplikaci a peníze jdou rovnou na účet klubu nebo trenéra. Platforma nikdy nevidí čísla karet ani přístupy do banky.
Kalendář
Odběr kalendáře (iCal)
Lekce, soustředění a soutěže si každý může odebírat do Google, Apple nebo Outlook kalendáře. Změny se v něm objeví samy.
Výsledky ze soutěží
Napojení na ČSTS a WDSF
Výsledky členů se každou noc samy načtou z oficiálních systémů svazů. Nikdo je nemusí přepisovat ručně.
Analýza rhythmees
Výpočty v Pythonu, samostatná databáze soutěžních dat
ELO, postup do třídy, porotci a odhady se počítají mimo databáze klubů z výsledků ČSTS. Portál je jen čte, k osobním údajům klubu se výpočty nedostanou.
Bezpečnost a soukromí
- Každý vidí jen to, co má
- Pravidla přístupu hlídá přímo databáze, ne jen web. Člen vidí své lekce a platby, rodič své dítě, trenér svůj kalendář a vedení celý klub.
- Šifrované spojení
- Veškerá komunikace mezi telefonem a platformou jde přes zabezpečené spojení (HTTPS), stejně jako u internetového bankovnictví.
- Data v Evropské unii
- Web i databáze běží na serverech v EU. Platforma se řídí GDPR. Data čte klub, provozovatel jen když řeší podporu nebo chybu.
- Noční zálohy
- Databáze ostrého klubu se každou noc zálohuje a záloha se ukládá zašifrovaná. Když se něco pokazí, data jdou obnovit.
Podrobnosti o zpracování osobních údajů jsou v zásadách ochrany údajů.
Demo a ostrý klub
| Toto demo | Ostrý klub | |
|---|---|---|
| Data | Smyšlená, každou noc se vrátí do původního stavu | Skutečné údaje klubu |
| Databáze | Jedna společná pro všechny ukázkové kluby | Vlastní databáze klubu |
| Přihlášení | Výběrem role, bez hesla | Vlastní účet každého člena |
| E-maily | Neodesílají se | Odcházejí z adresy klubu |
| Adresa | demo.kasaliik.app | Vlastní doména klubu |
| Analýza rhythmees | Ukázka s vymyšlenými jmény | Skutečné výsledky členů |
Kód je v obou případech stejný: co vyzkoušíte tady, funguje i v ostrém klubu.
Jak vznikají nové funkce
- Kód platformy je v jednom repozitáři na GitHubu. Každý klub běží ze stejného kódu, liší se jen nastavením, vzhledem a zapnutými moduly.
- Každou změnu nejdřív projdou automatické testy a vznikne z ní zkušební verze webu. Teprve po kontrole jde do ostrého provozu.
- Změny databáze se nasazují jako popsané kroky (migrace), stejně ve všech klubech, a hlídá se, aby žádná nesmazala data.
- Nové funkce se nejdřív zapnou tady v demu. Do ostrého klubu se dostanou, až fungují.

