Ukázková verze platformy — všechna data jsou smyšlená a e-maily se neodesílají.

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í

Člen pracuje jen s webem klubu. Ten si bere data z databáze klubu a podle potřeby se napojuje na další služby (čárkovaně).

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 demoOstrý klub
DataSmyšlená, každou noc se vrátí do původního stavuSkutečné údaje klubu
DatabázeJedna společná pro všechny ukázkové klubyVlastní databáze klubu
PřihlášeníVýběrem role, bez heslaVlastní účet každého člena
E-mailyNeodesílají seOdcházejí z adresy klubu
Adresademo.kasaliik.appVlastní doména klubu
Analýza rhythmeesUkázka s vymyšlenými jménySkuteč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í.