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.
Původní plán počítá s postupným zmodularizováním na širší oddílovou aplikaci: schůzky, oddílové akce, hodnocení, komunikaci a šablonovací systém pro web se společným obsahem.
V galerii je malá ochutnávka, co aplikace nabízí: