Sportovní výzva vol. 2: Jak automatizovat tabulku skóre pomocí appky Strava
„Takže vám to minule nestačilo?“ usmála se office manažerka Adi a založila ve Freelu úkol s názvem Sportovní výzva vol. 2. Podzim se tak opět nesl ve znamení namožených svalů, potu a endorfinů. V praxi jsme tím prověřili naše hodnoty – znovu týmovost (soutěžili jsme v 3členných týmech) a nově i inovativnost a transparentnost (tabulka skóre se tentokrát sama plní daty ze Stravy). Inspirujte se naším návodem pro svou vlastní výzvu. 💪
I když jsme ze sportovního února věděli, že nás výzva bude stát spoustu energie a Sudocreamu, přijali jsme ji s nadšením. Motivací pro celou posádku byl příslib party s diskotékou a s rautem (protože chléb a hry 😉) – ale jen pokud se podaří vysportovat celkem 18 600 bodů (nebo víc).
Ve zdravém těle zdravý duch: bodování
Ponaučení z nerovného souboje cyklistiky měřené na čas a chůze měřené na kilometry došlo k úpravě bodování tak, aby body lépe vystihovaly vynaložené úsilí. K tomu zůstal bonus za sportování v týmu (#týmovost) a nově se také přidal bonus za sport s trenérem (takže žádné domácí flákání).
Mírnou protekci dostaly také sporty venku (kolo, běh, chůze), abychom vykompenzovali práci v kanceláři a načerpali trochu sluníčka a čerstvého (pardubického?) vzduchu. Ale není na světě člověk ten, aby se zavděčil lidem všem, takže nějaké stížnosti proběhly. 😅 Tak se na to ve své výzvě připravte.
Od půlky září do půlky října na nás v Podpalubí z televize pomrkávala tabulka se skóre. Nejeden sportovec při pohledu na ni zahodil oběd a radši si obul tenisky. Určitě tomu pomohlo i to, že ve Freelu se3 hodiny týdně věnované sportu počítají jako odpracované. A to celý rok právě proto, aby kapitáni podpořili zdraví a následně produktivitu posádky. Ale z tabulky a fotek níže tušíte, že někteří lidi sportovali daleko víc než ty 3 hodiny týdně.
Různé sporty a různá motivace: fotoreport ze Stravy
Z kolektivních sportů nám od minulé výzvy vydržel „jen“ crossfit, na který týmově chodíme už skoro rok každé pondělí. Elitní tým plážového volejbalu se rozpadl, ale zato se v rámci nové výzvy obnovily pravidelné společné výběhy, ustálily se cyklovyjížďky (po pivovarech v okolí, ale pšt) a proběhlo několik pokusů o badminton, zejména od našeho „home office guy“, který dokonce kvůli badmintonu občas dorazí i do kanceláře. Čili firemní kultura posílena. ✓
Strhla se teda i jedna hádka. Konkrétně o to, jestli stěhování pračky je sport. Soudcovat musel ChatGPT a jako poražení odešli prakticky všichni. Naštěstí proběhla v nástroji na synchronní komunikaci a ne ve Freelu, takže již brzy skončí v propadlišti dějin a nepůjde dohledat. Uf.
Zvítězili jsme sami nad sebou
Modří už vědí, protože si všimli v tabulce, že cíl jsme splnili, dokonce na 105 % (inspirace pro OKRka? 🤔). Takže party jsme si zasloužili. 🥳
Nebyl by to ale marketingový stratég, cyklofanatik a vítěz minulé soutěže Jirka B., kdyby si nedal vlastní a ještě „aspiračnější“ cíl – sám za sebe vyjezdit na kole 3 000 bodů. Co myslíte povedlo se? Jasně, že jo! 🎉 Tak a teď konečně znáte důvod, proč se toho dělo míň na Freelo sockách. Z kola prostě nešlo tolik postovat.
Vyhlášení a party proběhly na teambuildingu v Červené vodě, kam jsme vyrazili hned po skončení výzvy. Takže jsme zase spojili příjemné s příjemným. A navíc jsme měli natrénováno na túry i noční hru. Není ta Adi geniální? (Je, ale titul zaměstnanec pololetí by mohla pro změnu někomu přenechat. 😇)
Tady jsou čísla, na která jsme hrdí ✅
1 měsíc
💪 24 lidí
🏃♂️ 750 km běhu
🚶♂️ 3 200 km chůze
🚴♀️ 5 500 km na kole
🔥 1 555 hodin sportu!
Návod na automaticky vyplňovanou tabulku skóre aka Leaderboard
Na LinkedInu jste se na to ptali, tak kapitán Honza slíbil, že řekneme, jak to přesně bylo s tou tabulkou a jak ji udělat, aby se sama vyplňovala. Tak je tady!
Disclaimer: Návod je co nejvíc ready-to-use, ale nejlépe poslouží člověku, který zná Google Sheets a Google Apps Script. Případně zvládne pár řádků kódu, když bude chtít něco specifičtějšího. Ozvěte se, kdyby vám něco nedávalo smysl. 😉
Automatizaci sportovní výzvy jsme postavili na propojení aplikace Strava s tabulkou Google Sheets. (Sportovci chápou, že myslíme aplikaci nazvanou po švédském slově strava = snažit se, usilovat, ne aplikaci, kde si vaše děti vybírají obědy ze školní jídelny.)
Důvody proč Strava
- Strava přijímá data o sportovní aktivitě ze všech možných zařízení a dá se zapsat i ručně.
- Pro přístup k datům ve Stravě není nutné mít od každého autorizaci pro přístup k datům, pokud založíte uzavřený klub.
- Většina z nás už Stravu používá díky minulé výzvě a pro ostatní není těžké si tam založit účet.
- Nechtěli jsme vytvářet vlastní aplikaci. Cílem bylo udělat automatizaci co nejrychleji a s co nejmenším úsilím.
Postup automatizace
- Vyberte člověka, který bude za správu napojení zodpovědný. Ideálně někoho, kdo má technické znalosti. Viz disclaimer.
- Vytvořte klub ve Stravě a pozvěte do něj kolegy.
- Ujistěte se, že mají ve svém profilu nastavenou viditelnost aktivit na veřejnou.
- Všichni členové by měli sledovat zvoleného uživatele firmy.
- Na počítačové verzi Stravy otevřete nastavení svého účtu a poté vlevo v nabídce My Api Applications vytvořte novou soukromou aplikaci, s těmito detaily:
- Název = název aplikace
- Category = Data Importer
- Club = vybrat svůj klub
- Website = localhost
- Authorization Callback Domain = localhost
- Po uložení získáte potřebné tokeny, které budete používat v kroku 6.
- Zkopírujte naši šablonu tabulky na svůj Google Drive. Spolu s tabulkou se automaticky zkopíruje i skript. V tabulce proveďte následující úpravy:
- Na listu Sportovci doplňte jména sportovců ze Stravy ve formátu „Lukáš P.“ (můžete přidat i jména lidí, kteří jsou v klubu, ale neúčastní se).
- Na listu Body obodujte aktivity.
- Na listech Týmy a Individuální doplňte sportovce a týmy.
- Na listu Nastavení doplňte trestné, bonusové a cílové body.
- Úprava Google Apps Scriptu: Skript najdete ve složce Moje projekty. Otevřete jej a pojmenujte si projekt.
- Ve skriptu na řádku 2 doplňte ID klubu (získáte ho z URL https://www.strava.com/clubs/[id-klubu]).
- V levém menu přejděte na Spouštěče, přidejte nové pravidlo a nastavte časový spouštěč na „Počítadlo dní“. Následně vyberte čas, kdy se mají aktivity importovat. Doporučujeme večerní hodiny, například mezi 22:00 a 23:00, kdy už je méně pravděpodobné, že někdo bude sportovat. V tomto čase by nikdo neměl upravovat detaily aktivit na Stravě.
- V levém menu, v Nastavení projektu, úplně dole ve Vlastnostech skriptu, přidejte následující vlastnosti. Jejich hodnoty získáte ve Stravě (viz bod 3, nebo níže):
- STRAVA_ACCESS_TOKEN = [vložit ze Stravy]
- STRAVA_CLIENT_ID = [vložit ze Stravy]
- STRAVA_CLIENT_SECRET = [vložit ze Stravy]
- STRAVA_EXPIRES_AT = 1
- STRAVA_GRANT_TYPE = refresh_token
- STRAVA_REFRESH_TOKEN = [vložit ze Stravy]
- Po dokončení můžete importovat první aktivity kliknutím na tlačítko Spustit v Google Apps Scriptu, nebo počkat na automatické spuštění ve vámi nastavený čas.
Děláte u vás ve firmě sportovní výzvy? 👉 Podělte se o zkušenosti. 😉