Proč projekt vznikl
ScoutComp je aplikace pro družinové soutěže ve skautských oddílech, cílem bylo je udělat trochu více interaktivní. Na jednom místě nabízí správu družinek/týmů, vypisování výzev s širokou konfigurovatelností a nastavování různých režimů splnění a kontroly, leaderboardy, interní komunikační systém, režim auditu splnění, motivace v družince atd. Nabízí hodně velkou konfigurovatelnost včetně kompletního rebrandingu pro potřeby jiných oddílů.
Zatím byl vyzkoušen ve dvou oddílech u nás ve středisku, díky čemuž se podařilo získat širokou zpětnou vazbu.
Úkoly a průběh soutěže
Členové se mohou registrovat pomocí kódu týmu. Úkoly podporují popis v Markdownu, čas začátku a konce, limit splnění a periodické obnovení. Podle nastavení se splnění započítá ihned, nebo čeká na schválení vedoucím, případně lze splnění limitovat na určitý počet prvních n osob či automaticky uznávat určitou odpověď v komentáři splnění.
Osobní přehled ukazuje postup v soutěži, žebříčky porovnávají jednotlivce i týmy a notifikace předávají zpětnou vazbu. Rozhraní je připravené pro češtinu, angličtinu a případně lze snadno implementovat i další překlady UI.
Technické řešení
Backend je napsán s použitím Pythoní knihovny FastAPI, frontend je v Reactu. Pro menší instalaci stačí SQLite, podporované jsou také PostgreSQL a MariaDB. Vývojová i produkční konfigurace se dá spustit pomocí Docker Compose a v repozitáři jsem nastavil automatické testy i CI.
V galerii je malá ochutnávka, co aplikace nabízí:
Aktuální stav
Aplikaci pro družinkové soutěže v současné době zobecňuji na univerzální skautskou aplikaci s plánováním akcí, schůzkami, docházkou a notifikacemi. Důležitou funkcí bude i generátor webu, který bude používat stejná data jako aplikace.