BĚŽCI SOBĚ

Iva Fischerová a Petra Nerodilová

Mentoři: Martin Bosák, Zuzana Marvanová (Billigence)

Mentoři (programování): Dan Vrátil a Petr Krebs

Jak projekt vznikl?

(Iva)

Dva roky zpátky jsem přemýšlela nad tím, jak zatraktivnit nově vznikající termínovku běhů (tj. celoroční kalendář běžeckých závodů a událostí po celé České republice). V průběhu povinného sledování běžeckých fór a bežeckých skupin na FB jsem tehdy narazila na opakovaně diskutovaný problém dopravy na závody, který se často řešil ve skupině živelně domluvenou spolujízdou.

Napadlo mě, že přidat k výběru a registraci na závod i možnost najít si rovnou spolujízdu, by mohl být ten důvod, kvůli kterému by běžci řešili přihlašování na závod právě přes náš web — spolujízda je ekologický i ekonomický způsob dopravy s přidanou hodnotou sdílet nejen běžecké zkušenosti. Navíc, v běžecké komunitě je láska k přírodě silná minimálně tak, jako láska k pohybu samotnému.

Celý nápad však nakonec zůstal v bodech načmáraný na papíře v pověstném šuplíku — jednak mi chyběla odvaha to s někým „vážně“ řešit a pak vlastně ani nebyla příliš možnost, neb projektové priority byly nastaveny jinak.

Změna nastala v červnu 2018, když jsem řešila přihlášku na Digitální akademii. Došlo mi, že tohle by mohla být správná chvíle do toho šuplíku sáhnout.

Jak a proč jsme se na projektu sešly my dvě?

(pohledem Ivy)

Věděly jsme, že budeme pracovat ve dvojicích, a tak je třeba se lépe poznat. Jakýmsi “přirozeným” výsledkem této situace byla “online mentees seznamka”, kde jsme postupně začaly odhalovat, která z nás už nějaký nápad na projekt má, jakou má představu o kolegyni, jaké má třeba časové možnosti apod.

Já měla jasno. Projekt jsem měla svůj, s datovou analýzou toho mnoho společného mít nebude a ve chvíli, kdy jsem měla potvrzeno, že je pro Digitální akademii akceptovatelný, jsem šla s kůží na trh. Hledám někoho, kdo svůj vlastní projekt nemá, nebude se bát programování a ideálně rád běhá.

Petra se ozvala jako první, slovo dalo slovo a v Crossu po nějaké výuce v Accenture jsme probraly podrobnosti. Na první pohled bylo vidět, že se jí nápad líbí, ale chtěla si vše ještě nechat chvíli projít hlavou, jestli to není přece jen trochu velké sousto. Netrvalo dlouho a poté, co jsme si řekly, že web v rámci projektu asi řešit nebudeme (ha… ha… ha…), jsme si pomyslně plácly na spolupráci.

A jak nám to spolu klapalo?

(pohledem Petry)

Jakožto člověk, který nerad vymýšlí zadání, ale raději vybírá z nabídky a také coby nadšenou běžkyni-amatérku mě Ivin nápad hned zaujal. A ani na chvíli jsem nelitovala, že jsem s ní do projektu šla.

My jsme totiž celkem ideální tým, protože se výborně doplňujeme. Jak v práci na projektu (já řeším spíše funkčnost a Iva spíše design procesů a vzhled webu), tak v sociálním životě (Iva prakticky nevynechala “společenská setkání po lekcích” a já se tam objevila asi dvakrát). No a hlavně si umíme být oporou, když nám věci nejdou úplně hladce.

Co jsme chtěly vytvořit?

Funkční aplikaci, která v sobě bude mít seznam všech běžeckých podniků (zatím na testovacím archivním souboru ze sezony 2017/2018) v České republice a registrovaným uživatelům umožní na konkrétní závod nabídnout či poptat spolujízdu.

Jak jsme formovaly myšlenku?

  • Nejdřív za pomoci tužky a papíru:
Hlavní stránka a kam z ní dál?

Pak bylo potřeba si ujasnit, co, kde a kam bude třeba poslat, zobrazit nebo přesměrovat:

Proces přihlášení a záchrana pro sklerotiky bez keypassu

S čím jsme se musely smířit?

  • Že budeme muset zůstat nohama na zemi, celý nápad rozdělit do několika fází a v rámci projektu pracovat s optimistickou variantou ideálního světa, kde nikdo nic neruší, nemění se jednou dohodnuté záležitosti a neexistuje pověstný Murphyho zákon. Zkrátka, že v první fázi budeme řešit situaci, kdy lidé chtějí svá auta nabízet (a nikoli nabídky stornovat) a na spolujízdu nastupovat (a ne pak měnit plány a rušit ji).
  • Že se nám zatím asi nepodaří přimět naši aplikaci k tomu, aby uživatelům poslala shrnutí jejich nabídky a poptávky + kontaktní údaje protistrany, se kterou pak budou řešit detaily do mailu.
  • Že to dost možná nebudeme mít jak ukázat, protože frontend nestihneme (teda pokud ho nepoptáme někde jinde).
zdroj: pixabay.com

Jaký je výsledek po necelých čtyřech týdnech programování?

Pro nás naprosto ohromující a motivující!

Máme funkční aplikaci s jednoduchým vzhledem, která umí:

  • Zaregistrovat a přihlásit uživatele.
  • Uživateli dát možnost nabídnout auto ke spolujízdě na jeden z více než 1300 závodů po celé ČR (byť zatím cestuje zpět v čase ;-) ).
  • Uživateli rezervovat spolujízdu.
  • Uživateli na email, zadaný při registraci, o každém z těchto kroků poslat mail se shrnutím nabídky, resp. poptávky a v případě rezervace spolujízdy připojí kontaktní údaje protistrany (email a telefon řidiče, resp. pasažéra).
  • Hlídat, aby uživatel nemohl zadat nesmysly (např. chce si rezervovat víc míst, než kolik je v nabízeném autě aktuálně volných).
  • Pamatovat si již zadané údaje, když je potřeba něco upravit/přidat.
  • Propisovat výběr závodu do dalšího kroku (není třeba jej opakovaně hledat).
  • Neukládat hesla do databáze (hashuje je).

A jak to celé vlastně vypadá a funguje? Mrkněte buď na videa, nebo si aplikaci (ideálně) rovnou VYZKOUŠEJTE.

Rezervace spolujízdy
Nabídka auta k závodu
Informační maily

S čím jsme pracovaly a umíme používat:

  • Programování: Python a jeho modul Flask, HTML, CSS, SQL.
  • Nástroje pro práci s webem a testovacím prostředím: Heroku, GitHub, PostgreSQL, PgAdmin, DB Designer.
  • Pro řešení jednotlivých procesů: draw.io.
  • Vygenerování náhodného datasetu pro databázi uživatelů dle našich představ: generujdata.cz.
  • Koordinace projektu: nepočítaje samozřejmý Slack, tak nejprve Trello a pak Issues v GitHubu.
  • Tvorba videí a jejich konverze: Icecream Screen Recorder, Media.io.

Co nám to dalo?

  • Především jsme potkaly jedna druhou a zjistily, že jsme funkční a ambiciózní tým, který se toho nebojí a chce to s Běžci Sobě dotáhnout do zdárného konce, tj. „na trh“.
  • Až dětskou radost z každé povedené maličkosti, která po spoustě errorů „dopadne“.
  • Možnost poznat skvělé lidi, spolupracovat s nimi, učit se od nich (díky moc Dane, Petře, Pavle, Ondro, Martine!)
  • Víme, jak se tvoří webové stránky.
  • Máme širší teoretické obzory, než bychom měly v rámci standardního rozvrhu Digitální akademie.
  • Známe více nástrojů nad rámec rozvrhu Digitální akademie a nebojíme se je použít.
  • A rozhodně v neposlední řadě zjištění, jak úžasné máme doma zázemí (díky naši kluci!:)).

Co nás teď (doufejme) čeká?

  • Vedle práce na samotné aplikaci, především hodně učení a hledání práce v oboru.
  • Obě bychom se rády zapojily jako koučky (nejen) na Python kurzech v rámci Digitální akademie a Czechitas.
  • Petra propadla kouzlu programování (i SQL dotazování) a určitě by se chtěla v téhle oblasti dál vzdělávat a třeba i pracovat. Projekt bere jako kus sebe a ráda ho jednoho dne dotáhne do “reálného provozu”.
  • Ivu si programování získalo také, ale zatím v něm není tak sebejistá jako Petra. Ráda by proto začala někde, kde si bude moci prohloubit především aktuálně nabyté znalosti ve tvorbě frontendu a trochu více se zorientuje v tom, na co všechno je třeba při tvorbě nějaké (nejen) webové aplikace dávat pozor. Do budoucna by se ráda podílela na vymýšlení nových webových vychytávek.

Co během projektu nechceš zažít aneb Fuckupy:

  • Strávit spoustu hodin instalací něčeho, na čem si málem shodíš Windows a ve finále vůbec nevyužiješ (Iva a její dvoudenní odysea s Heroku CLI).
  • Dva týdny mít strach vypnout Visual Code, protože se bojíš, že už ten testovací server nerozjedeš, neb se nespojíš s databází, zatímco chyba tkví v nadbytečné mezeře, kterou si opakovaně kopíruješ z blbě uložených přihlašovacích údajů.
  • Zjistit, že tvůj do té doby silný time-management bere za své a jsi ve světě, kde pro tebe zatím platí spíš nepřímá úměra => více hodin práce != více výsledků (Petra a její boj s automatizací propisování vybraného závodu tam, kde je třeba).
  • Uvědomit si po dokončení jednoho z úkolů, že jsi všechno dělala zbytečně složitě, obšírně a hlavně dvakrát (Petra contra flash messages).
  • Posílat si kód po kouscích mailem nebo na Slacku, když máte GitHub — nejlepší vynález od doby ********** ***** (řešení v tajence ↓).

Tímto lehkým potrápením mozkových závitů jsme se dostali na konec shrnutí toho asi nejpodstatnějšího z našeho projektu :-) Nicméně pokud byste chtěli vědět více o tom, jak vypadá spolupráce historičky a specialistky na cestovní ruch (toho času matek na mateřské s donedávna nulovou znalostí IT), jaké volíme cesty a jaké (občas) myšlenky se nám při práci honí hlavou, čtěte směle dál :-)=>