Firmowy Hackathon w FireTMS

26 października  /  autor: FireTMS  /  2 minuty czytania

Jak informowaliśmy na naszym Facebookowym profilu, w piątek odbył się u nas firmowy Hackathon. Chcieliśmy Wam przybliżyć czym dokładniej zajmowaliśmy się w piątek, w naszej siedzibie FireTMS.

Pomysłem jaki zrodził się w naszych głowach, było stworzenie aplikacji rejestrującej obecność w biurze na podstawie rozlokowanych znaczników estimote (Estimote Proximity Beacons) widocznych na zdjęciu poniżej.

Estimote Proximity Beacons
Realizacja obejmowała stworzenie prototypu systemu z użyciem wspomnianych znaczników estimote, aplikacji na Androida oraz serwerowej usługi przetwarzania danych, opartej o architekturę mikrousług.

By nasz pomysł doszedł do skutku, postanowiliśmy podzielić się na zespoły składające się maksymalnie z dwóch osób. Pierwszym krokiem do realizacji zamierzonego celu było przedyskutowanie architektury systemu i odpowiedzialności poszczególnych komponentów.
tworzenie aplikacji w FireTMS

 

Ze względu na uczestnictwo wielu deweloperów oraz różnych technologii przyjęliśmy architekturę mikrousług aby uniknąć bezpośrednich zależności pomiędzy zespołami i komponentami.

Komunikacja między usługami odbywa się z użyciem interfejsów REST.

Hackathon w FireTMS

Aplikacja Android została zrealizowana przy użyciu Android Studio i Android SDK z wykorzystaniem SDK Estimote.
hackathon w FireTMS
Usługi przechowywania i przetwarzania zdarzeń wejścia/wyjścia zostały zaimplementowane  w języku Java, w oparciu o framework Spring Boot i Elasticsearch jako magazynu danych.
Interfejs użytkownika został zaimplementowany w języku Java, z użyciem Spring Boot i Vaadin.
Aby aplikacja była jeszcze bardziej użyteczna, zdecydowaliśmy się zaimplementować funkcję przewidywania godzin wejścia wyjścia (machine learning). Została ona zrealizowana w języku Python i biblioteki scikit-learn.
Postęp prac śledziliśmy na bieżąco, a co dwie godziny spotykaliśmy się w krótkich stand-upach, żeby przedyskutować postępy, problemy i przygotować się do następnych etapów realizacji. Nie mogło oczywiście zabraknąć przekąsek i zimnych napoi.
praca w FireTMS
Na koniec dnia udało się uruchomić działający prototyp rozwiązania. Prawidłowo zbierał informacje o wejściach i wyjściach z biura oraz przewidywał godziny wejścia i wyjścia poszczególnych osób w konkretnych dniach (przetestowane na danych historycznych wyeksportowanych z innego systemu).
W następnych dniach mamy zamiar zainstalować komponenty systemu na stabilnym środowisku i zacząć zbierać rzeczywiste informacje o naszym pobycie w biurze.
Tymczasem następny Hackathon przyniesie kolejne wyzwania, wśród których znajdzie się rozbudowa systemu o dodatkowe funkcje takie jak informacje o urlopach, powiadomienia o przewidywanym czasie przyjścia do biura (i notyfikacji, że ktoś faktycznie już jest w pracy), statusie osoby (zajęty, dostępny) czy informacji, w którym pomieszczeniu w biurze się znajduje.
Tak właśnie pracujemy w FireTMS 🙂

mogą Cię zainteresować: