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.
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.
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.
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.
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 dniachmamy 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 🙂
Informacje od fireTMS są cenne jak ładunek
Regularnie dostarczamy informacji o naszym systemie oraz na tematy z branży TSL.
Zapisz się do newslettera i bądź na bieżąco.
Tagi
Rate the article!
0
0 ratings, avg: 0
Zespół fireTMS
Artykuł został napisany przez zespół fireTMS, w oparciu o wiedzę, doświadczenie i znajomość branży TSL.
Z tego artykułu dowiesz się o nowych funkcjach i ulepszeniach: Dodawanie dokumentów metodą Drag and Drop Aby ułatwić i przyspieszyć pracę naszym użytkownikom, dodaliśmy możliwość zbiorczego załączania dokumentów do systemu metodą Drag and Drop. Wystarczy na przykład zaznaczyć preferowane pliki z komputera i przeciągnąć je do FireTMS do sekcji z dokumentami. Metodę tą można zastosować […]
Korzystanie z nowoczesnej technologii FireTMS jest kluczem do sprawnej pracy przewoźników i spedytorów oraz skutecznej realizacji zleceń. Wszystkie dane niezbędne do organizacji przewozu znajdują się w jednym systemie, a przygotowanie zlecenia jest zautomatyzowane. Podobnie wygląda proces publikacji ofert z FireTMS na Platformę Trans.eu. Dzięki integracji systemów wystawianie wolnych pojazdów i ładunków przebiega szybko i sprawnie. […]
Z tego artykułu dowiesz się o nowych funkcjach i ulepszeniach: Zadania przypisywane do większej ilości użytkowników O funkcjonalności zadań wspominaliśmy już we wcześniejszych wpisach. Dzięki tej funkcji użytkownik może tworzyć zadania i przypisywać je do wybranych osób. Każde z tych zadań będzie miało określony termin realizacji, może dotyczyć dowolnej kwestii albo być powiązane z ładunkiem […]