< Zpět na články

Jak jsme hackli Google i Sněmovnu: Ackee Hackathon 2021

Ani letos jsme si nemohli nechat ujít náš tradiční Ackee Hackathon. Každý rok jsem fascinován, co všechno jsme schopni vymyslet a hlavně realizovat v tak krátkém čase (o tom, co se nám podařilo loni, si můžete přečíst tady). Na soutěžních hackathonech mi nejvíc vadí, že jsou převážně jen o nápadu. Rozhodující je, jak ho odprezentujete porotě složené ze zástupců firem, které akci podporují a mnohdy ani o technologiích nemají páru. Interní hackathony nejsou o prezentacích, ale o tom, o čem hackathony vždy byly – zábava, zkoušení nových věcí a snaha vyřešit nějaký problém za velmi krátkou dobu. A to se nám podařilo i tentokrát.

Už několik let hackathonu u nás předchází tzv. ideathon neboli brainstorming nápadů, co bychom mohli vyřešit. Na této události se tradičně podílejí i lidé, kteří se poté samotného hackathonu neúčastní, ale snaží se kolegům pomoci s protříděním a zdokonalením nápadů. 

Ackee hackathony zdaleka nejsou jen pro programátory. I tento rok se účastnili naši testeři, designéři a projekťáci. Někteří si chtějí zkusit něco nového a jiní zase jen chtějí být u toho, aby mohli pomoci se vším, co je potřeba. Je to zkrátka týmová práce. 

A jaké projekty z nás letos po 24 hodinách kódění vypadly?

MPLA CarPlay

U tohoto nápadu jsme nestartovali na zelené louce. Po dohodě s majitelem aplikace pro mobilní platby za parkování MPLA jsme obdrželi zdrojové kódy a do aplikace jsme se rozhodli dodělat podporu pro Apple CarPlay. Takže když se snažíte v Praze najít nejbližší parkovací zónu, vidíte ji přímo na vašem infotainmentu. A po zaparkování rovnou můžete zaplatit, aniž byste museli sahat po svém telefonu nebo chodit k parkovacímu automatu. Byla to výzva, protože s CarPlay jsme nikdy nepracovali a jeho API je poměrně restriktivní, ale nakonec jsme si poradili parádně! No uznejte sami. Aktuálně jsme ve stavu schvalování od Applu! 😎

iSněmovna

Znáte naši Bundestag appku pro Německý spolkový sněm? Řekli jsme si, že když má i naše česká sněmovna webovky, kde lze sledovat stream, uděláme i mobilní appku s troškou toho backendu. Nemá cenu se o tom víc rozepisovat, tady za nás mluví činy. Tak stahujte!

Armitage

O tomto projektu jsem psal už minule, tak to vezmu taky stručně. V Ackee máme knihovnu, ze které si každý miláček může půjčovat knížky, a tak jsme vytvořili knihovnický systém přesně pro naše potřeby. Seznam knih, řešení zápůjček, administrace. Proč o tom píšu znovu? Kluci se rozhodli appku kompletně přepsat a vyzkoušet si na ní rovnou pár nových technologií. Protože na ní makalo sehrané duo a šlo jim to pěkně od ruky, výsledek stojí opravdu za to!

Uživatelské rozhraní Ackee knihovny Armitrage

Google Contact Sync

Google se poměrně šikovně brání tomu, aby se daly snadno synchronizovat globální firemní kontakty do uživatelských G Suite (nyní Google Workplace) účtů. Takže pokud chcete vědět, kdo z firmy vám volal, nebo chcete na někoho najít číslo, musíte všechna uložit ručně. A proto vznikl náš automatický synchronizační skript, který za vás po udělení práv bude synchronizovat údaje z firemního adresáře do vašeho osobního. Ackee - Google 1:0. Protentokrát... 

Google Calendar Aggregator

V tomto nástroji se tvůrce opět zaměřil na řešení problému – hromadný pohled na kalendáře technických či projektových týmů. Zajímá vás, kdo všechno má z projektu XY dovolenou? Kdy mají volno všichni členové vašeho týmu? Vytvořte si na to filtr! :) Jelikož se autor podílel hned na několika projektech najednou, je tento zatím ve stavu WIP.

gRPC reflection for Node.js

V Ackee používáme gRPC a brzy o tom napíšeme sérii blogů (teď už asi fakt musíme). Jedna z fíčur, kterou tento protokol podporuje, je reflexe. Klientská knihovna bohužel nepodporuje Node.js, který používáme. A to je přesně to, o co se náš Jarda snažil. S mlhavou dokumentací a reverse engineeringem knihoven jiných jazyků. Udělal velký progress a rval se jako lev, ale poprat se s takovou věcí sám za 24 hodin je téměř nemožné, takže si tento boj nechal na příště. Ze všech účastníků má možná můj největší obdiv, vybral si totiž trnitou cestu hardcore hackování, i když věděl, že ho místo zábavy bude čekat spíš frustrace. Pokud je to pro vás příliš abstraktní, nezoufejte, protože Jarda si pro vás připravil aspoň meme, abyste si dokázali představit, co prožíval.

meme zmatené kočky na pozadí kódu

Daniela Drtinová chat-ops bot

Daniela je velice schopná a respektovaná právnička a moderátorka, proto kluci na její počest vytvořili chat-ops slack bota, který pomáhá s releasy. O co tedy jde? Když releasujete komplikovanější projekt, který obsahuje hodně microservice a repozitářů, musíte vykonat mnoho manuální práce – ta nikoho nebaví a je možné v ní udělat chybu. Přesně s tímhle Daniela pomáhá. Ví, jaké repozitáře a služby k sobě patří, a pokud ji požádáte, vytvoří za vás merge requesty na všech repozitářích a spustí pro ně dané pipelines. No a do toho s vámi prohodí i pár vět, které znáte z jejich rozhovorů.

Daniela Drtinová jako chat-ops bot

Roman Prymula na brigádě v Ackee

Jelikož premiér ukončil spolupráci s panem Prymulou, našli jsme pro něj vhodné uplatnění v Ackee. Roman kontroluje aktuální promořovací situaci v kanceláři. Pokud skrz slack command zaregistruje mac adresu počítače některého z miláčků, na základě logů z lokální sítě ví, že se nachází v kanceláři, a proto pravidelně do kanálu #kdojevkanclu píše počet přítomných lidí. Jedná se o anonymní formu hlídání dodržování nastolených pravidel, aby nás v kanceláři nebylo mnoho, a zároveň slouží k rozhodnutí pro lidi, kteří by chtěli kancelář navštívit, zda je to rozumné či nikoliv.

Závěrem

Hledat řešení na problémy všeho druhu a neustále (se) vyvíjet nás prostě baví! Vždycky mě překvapí, kolik toho stihneme v tak krátkém čase a takové kvalitě. Tak snad se co nejdřív budeme moct setkávat a kódit i bez Romanovy pomoci.

Dominik Veselý
Dominik Veselý
Co-Founder & CTODominik je informační router Ackee. Když se objeví nějaká nová technologie nebo zařízení, je mezi prvními uživateli. Rád běhá, jezdí na kole a řídí kabriolet.

Máte zájem o spolupráci? Pojďme to probrat osobně!

Napište nám >