Projekty

eKatalog / Dla: P4 sp. z o.o.

eKatalog wraz z dedykowaną aplikacją mobilną stanowi platformę do gromadzenia danych o pracownikach oraz obsługi procesów ułatwiających zarządzaniem kadrą, firmowym sprzętem oraz komunikację w biurze i poza nim.
  • Klient: P4 Sp. z o.o.
  • Kluczowe technologie: Java, Spring, Spring Boot, Vue.js, Cloud, Microservices, REST, LDAP, OAuth.
  • Nasze zadania: projekt, implementacja i wdrożenie backendu, panelu webowego oraz API dla aplikacji mobilnych.

Początkowo aplikacja była bazą danych pracowników z możliwością wyszukiwania poprzez panel webowy, API HTTP oraz API SMS. Administratorzy dysponowali ponadto możliwością wysyłki wiadomości SMS do konkretnych pracowników lub utworzonych grup. Aplikacja integruje się z zewnętrznym serwerem LDAP w celu aktualizacji danych. Umożliwia również ręczne uzupełnianie danych oraz ich import z plików tekstowych.

Od momentu powstania system jest intensywnie rozwijany i poszerzany o nowe funkcje do dnia dzisiejszego. Pierwszymi dodatkowymi modułami była obsługa komunikatów SMS przesyłanych przez pracowników, które wymagają uwagi administracji i kierownictwa. Pojawiła się również baza sal spotkań w biurze wraz z możliwością ich wyszukiwania przez udostępniane interfejsy.

W kolejnych etapach pojawiła się obsługa takich procesów jak rezerwacja firmowych miejsc parkingowych, rezerwacja terminów wymiany opon w samochodach służbowych, wymiana telefonów służbowych czy realizacja ankiet. Na bieżąco projektowane i dodawane są kolejne moduły.

Jednym z kluczowych rozszerzeń systemu było udostępnienie aplikacji mobilnej. Dzięki temu pracownicy Play otrzymali wygodny dostęp do szeregu usług usprawniających ich pracę i ułatwiających funkcjonowanie w biurze.

Sci-Cup / Dla: Politechnika Wrocławska

SciCup to miejsce gdzie firmy i instytucje mogą poprzez organizację konkursów wykorzystać swoje zbiory danych do analizy i tworzenia rozwiązań usprawniających ich działalność. Uczestnicy konkursów poza możliwością otrzymania nagród, nawiązują znajomości i kontakty zawodowe.
  • Klient: Politechnika Wrocławska
  • Kluczowe technologie: Java, Struts 2, Python, PostgreSQL, Docker.
  • Nasze zadania: projekt, implementacja i wdrożenie backendu, implementacja i wdrożenie zaprojektowanego frontendu.

Platformę współtworzyliśmy w ramach projektu ENGINE prowadzonego na Politechnice Wrocławskiej. Współpracowaliśmy z grafikiem, który przygotował stronę wizualną platformy. Nasze zadanie polegało na zbudowaniu backendu oraz oprogramowaniu zaprojektowanego frontendu.

Podstawowym elementem systemu są konkursy, które organizują partnerzy biznesowi. Zadania konkursowe polegają na opracowaniu zadanych modeli, które możliwe najwydajniej i najdokładniej pozwolą uzyskiwać pożądane informacje na podstawie danych. Tematyka konkursów nie jest narzucana z góry. Organizator zapewnia rzeczywiste zbiory danych oraz funduje zwycięzcom nagrody pieniężne.

Aplikacja umożliwia rejestrację osobom zainteresowanym udziałem w konkursach. Po zgłoszeniu swojego udziału, uczestnik może przesyłać propozycje swoich rozwiązań. Każde zgłoszenie jest następnie walidowane przez skrypt, który przydziela mu ocenę liczbową. System na bieżąco prezentuję tabelę liderów w danym konkursie. Po jego zakończeniu przydziela najlepszym uczestnikom punkty osiągnięć, które podnoszą ich pozycję w rankingu użytkowników platformy.

Monitor / Dla: P4 sp. z o.o.

System Monitor zapewnia informacje o aktualnym działaniu serwerów oraz uruchomionych na nich aplikacji. Pozwala kontrolować wykorzystanie zasobów oraz występowanie błedów.
  • Klient: P4 Sp. z o.o.
  • Kluczowe technologie: Java, Struts 2, SOA, DRAC, VMware, Nagios.
  • Nasze zadania: projekt, implementacja i wdrożenie backendu, agenta, panelu webowego oraz webservice'ów.

Platforma Monitor składa się z serwera głównego zapewniającego bazę danych i aplikację webową oraz agentów zainstalowanych na serwerach klienckich. Dane pomiędzy aplikacjami wymieniane są poprzez zaprojektowane do tego celu webservice'y.

Aplikacja agenta przystosowana jest do działania pod systemem Linux, a jej praca polega na zbieraniu w zadanych odstępach czasu informacji o używanych przez zdefiniowane procesy oraz cały serwer zasobach. Monitorowane są zasoby takie jak: użycie procesora, pamięci, powierzchni dyskowej, interfejsów sieciowych, liczba wygenerowanych logów danego typu, czy wpisy w tabeli routingu. Konfiguracja agenta na poziomie serwera klienckiego polega jedynie na podaniu adresu webservice'u serwera głównego i uruchomieniu aplikacji.

Centralna aplikacja udostępnia panel webowy, który prezentuje zbierane przez agentów dane oraz umożliwia dokładną konfigurację monitorowanych serwerów, czy aplikacji. W ramach konfiguracji możliwe jest definiowanie monitorowanych partycji dysków, interfejsów sieciowych, zdarzeń wywołujących alarmy, czy skryptów które mogą być uruchamiane z poziomu panelu webowego na żądanie operatora. System pozwala także na generowanie własnych statystyk. W panelu wyświetlane są także dane o stanie zdrowia serwerów pobierane z utrzymywanego przez nas panelu Nagios, w którym dane pobierane są przez kontrolery DRAC oraz VMware.

Ekspertyza projektu Git / Dla: ISEC sp. z o.o.

Ekspertyza została wykonana na potrzeby sporządzenia opinii dotyczącej zakresu prac wymaganych do modyfikacji oprogramowania open source.
  • Klient: P4 Sp. z o.o.
  • Kluczowe technologie: Java, Git.
  • Nasze zadania: analiza problemu, stworzenie narzędzi do analizy repozytorium Git i kodu źródłowego.

Klient tworząc zleconą opinię zwrócił się do nas z zapytaniem o możliwość oszacownaia pracy koniecznej do modyfikacji oprogramowania. W tym konkretnym przypadku istniał projekt, który zewnętrzna firma stworzyła na bazie oprogramowania open source. Otrzymaliśmy dostęp do repozytorium Git zawierającego historię zmian, które było jednak niekompletne i stan początkowy projektu nie pokrywał się z kodem źródłowym oprogramowania open source. W projekcie znajdowały się już modyfikacje, ale brakowało ich historii. Analiza problemu została więc rozbita na dwa etapy.

W pierwszym etapie chcieliśmy porównać stan projektu z oryginalnym kodem źródłowym oprogramowania open source. Niestety oryginalna struktura katalogów i lokalizacje plików nie zostały w pełni zachowane. W związku z powyższym przygotowaliśmy narzędzie w języku Java, które szukało odpowiadających sobie plików w dwóch katalogach zawierających kod open source i zmodyfikowany projekt. Po dopasowaniu następowało porównanie ich zawartości i szacowanie pracochłonności wprowadzonych zmian.

W drugim etapie analizowaliśmy zmiany na podstawie dokładniejszych danych w postaci commitów wykonanych przez członków projektu. Pełna historia w repozytorium Git pozwoliła bardziej precyzyjnie oszacować czas poświęcony na modyfikację plików. Do tego celu również konieczne było stworzenie dedykowanego narzędzia. Możliwe było uwzględnienie zmian, które w trakcie trwania projektu znikały, np. z powodu zmiany wymagań albo wykrytych błędów. Program wykluczał również z dalszej analizy prowizoryczne zmiany, jak kopiowanie fragmentów kodu, które zawyżały sztucznie pracochłonność.

Call Center GUI / Dla: P4 Sp. z o.o.

Call Center GUI to narzędzie używane przez pracowników Call Center, które poprzez udostępnianie szerokiej gamy danych abonentów ułatwia im pracę i roziązywanie problemów klientów.
  • Klient: P4 Sp. z o.o.
  • Kluczowe technologie: Java, Struts 2, jQuery-UI, SSO, KALIX, HLR, PCRF.
  • Nasze zadania: projekt, implementacja i wdrożenie backendu, panelu webowego oraz API.

System powstał w celu prezentacji użycia danych komórkowych abonentów sieci Play operatorom Call Center. W zaprojektowanym przez nas panelu webowym dla zwykłego użytkownika możliwe jest wyszukiwanie oraz filtrowanie danych ze zdefiniowanych źródeł. Użytkownicy z wyższymi uprawnieniami dostępu mogą swobodnie definiować, które dane powinny być pobierane i w jaki sposób można je filtrować, jak również zmieniać ich sposób prezentacji w panelu webowym poprzez ich grupowanie oraz przemieszczanie.

Pierwotnie głównym źródłem danych aplikacji był system Jupiter, który obecnie został zastąpiony przez KALIX. W kolejnych wersjach rozszerzane były możliwe źródła danych oraz sposoby ich prezentacji. Obecnie dane mogą być pobierane z takich źródeł jak HLR, PCRF, czy MNP.. Możliwe jest także pobieranie wartości z baz danych SQL.

W ramach definicji pól możliwe jest wykonywanie operacji w zadanym okresie czasu takich jak suma, średnia, średnia ważona oraz definiowanie własnych wyrażeń na podstawie wartości kilku pól. System może też wyliczyć na podstawie zadanej formuły wskaźnik zadowolenia klienta oraz wyświetlać zdefiniowane w zależności od wartości pól komunikaty informacyjne. Ponadto możliwe jest kolorowanie tła pola w zależności od jego wartości, a także zamienianie wartości na bardziej zrozumiałe dla operatora na podstawie zdefiniowanych słowników.

Prezentacja danych odbywa się poprzez samodzielny panel webowy, a także jako zintegrowana z platformą IFE Call Center P4 zakładka. W najnowszej wersji możliwe jest także pobieranie danych przez API REST.

Cloud Messaging / Dla: P4 sp. z o.o.

System Cloud Messaging Gateway to aplikacja umożliwiająca definiowanie oraz rozsyłanie kampanii informacyjnych i reklamowych do użytkowników poprzez notyfikacje push na telefony komórkowe oraz przeglądarki internetowe.
  • Klient: P4 Sp. z o.o.
  • Kluczowe technologie: Java, Struts 2, GCM, FCM, APNS.
  • Nasze zadania: projekt, implementacja i wdrożenie backendu, panelu webowego oraz API dla aplikacji mobilnych.

System powstał w odpowiedzi na potrzebę przeprowadzania kampanii informacyjnych i reklamowych u klientów sieci Play. Odbiorcami mieli być użytkownicy aplikacji rozprowadzanych przez operatora. W tym celu stworzyliśmy CMG. Jego kluczowe elementy to serwer backendowy, za który byliśmy odpowiedzialni, oraz biblioteka dodawana do aplikacji mobilnych, która komunikuje się z serwerem.

W ramach naszej części zadań zaprojektowaliśmy i wdrożyliśmy serwer wraz z dedykowanym panelem webowym oraz API HTTP udostępnianym dla aplikacji mobilnych. Od czasu produkcyjnego uruchomienia, system jest przez nas utrzymywany w pełnej sprawności działania. Odpowiedzialni jesteśmy również za rozwój systemu, implementację oraz wdrażanie licznych modyfikacji, które pojawiają się od tego czasu.

Pierwotny projekt zakładał obsługę usług dedykowanych dla telefonów z systemem Android oraz iOS. Przy użyciu panelu webowego możliwe jest definiowanie kampanii, które następnie mogą zostać wysłane na zlecenie użytkownika panelu lub zewnętrznej aplikacji. System pozwala na wysyłanie kampanii do wybranych numerów, grup, użytkowników danej aplikacji lub do wszystkich aktywnych użytkowników. Wykorzystanie wbudowanej w aplikacje mobilne biblioteki umożliwia zaawansowane reakcje na kliknięcie notyfikacji przez użytkownika, takie jak: wyświetlanie strony www, wysyłka smsa, wyświetlanie sklepu z aplikacjami, wyświetlanie wybranego widoku w aplikacji.

Wraz z kolejnymi modyfikacjami dodane zostały m.in. takie funkcje jak: obsługa notyfikacji na przeglądarki internetowe, priorytetyzowanie i limitowanie wysyłek oraz obsługa wysyłek synchronicznych i asynchronicznych.

Micumo Sp. z o.o. Sp. k.
al. Aleksandra Brücknera 25-43
51-411 Wrocław
+48 730 553 226

www.micumo.com
VAT-ID: PL8952179855
KRS: 0000993576
REGON: 369418883