Case studies

Optymalizator załogi

Jeden z naszych klientów z branży Retail, posiadający dużą sieć sklepów w całej Polsce (ok. 2 tys. placówek) potrzebował zautomatyzować proces planowania miesięcznych planów pracy swoich pracowników z uwzględnieniem kodeksu pracy, preferencji pracowników, itp. Wyzwaniem było generowanie planów w jednym momencie przez wszystkich kierowników placówek w kraju

Rozwiązanie:

Stworzyliśmy dla klienta optymalizator do planowania miesięcznych harmonogramów pracy pracowników. Rozwiązanie tego wyzwania wymagało rozproszenia zadań optymalizacyjnych na chmurę i synchronizacji procesów w chmurze.

Przygotowane i wdrożone rozwiązanie pozwoliło:

  • zautomatyzować proces planowania harmonogramów pracy pracowników
  • ujednolicić zasady dla wszystkich kierowników / zespołów
  • skrócić czas przygotowywania miesięcznych harmonogramów czasu pracy o ponad 80%

Wykorzystane kompetencje:

  • Architekt
  • Scrum master
  • Data scientist
  • Python developer

<< zwiń

Optymalizacja i automatyzacja procesu dostarczania części zamiennych do samochodów

Jeden z naszych klientów z branży Automotive potrzebował zautomatyzować i zoptymalizować proces dostarczania części zamiennych do pojazdów samochodowych. Nasze prace rozpoczęliśmy od analizy przebiegu obecnego procesu, zdefiniowania zmiennych, zbioru ograniczeń, które powinny te zmienne spełniać oraz określenia funkcji celu projektu tzw. model AS-IS oraz TO-BE. W efekcie końcowym klient miał możliwość w sposób zautomatyzowany śledzić stany poszczególnych placówek, prognozować popyt na nowe części, automatycznie dobierać optymalne wartości oraz wysyłać zamówienia na brakujące towary z magazynu centralnego do placówki

Efekt/Korzyść

Efektem naszej współpracy było dostarczenie rozwiązania, którego działanie wpłynęło na znaczące obniżenie kosztów logistycznych związanych z przepływem towaru przy jednoczesnym zachowaniu minimalnej liczby back-orderów. Wyniki pracy naszego rozwiązania są wykorzystywane w podejmowaniu kluczowych decyzji biznesowych, a algorytmy są utrzymywane przez nas do dnia dzisiejszego.

Wykorzystane kompetencje:

  • Architekt
  • Data scientist
  • R developer

<< zwiń

Obsługa kampanii marketingowych (RTM)

Jeden z naszych klientów z rynku Telco stanął przed wyzwaniem skutecznej komunikacji Real-Time-Marketing do swoich klientów. Jest to zagadnienie, przed którym staje wiele firm z olbrzymią bazą klientów, do których chcą szybko i skutecznie dotrzeć.

Rozwiązanie

Zespół ekspertów dedykowanych do obsługi projektu pracuje na codzień w modelu outsourcingowym, w pełni integrując się z Zespołem Biznesowym klienta. Zadania realizowane w ramach projektu to analiza, projektowanie, implementacja, testy oraz wdrażanie nowych i utrzymanie już istniejących procesów w ramach prowadzonych kampanii marketingowych. Ponadto zapewniamy obsługę end-to-end procesów ETL, a także analizę (szczególnie pod kątem poprawności) baz źródłowych dla procesów, ich optymalizację oraz implementację nowych funkcjonalności w postaci re-używalnych podprocesów (wzorców). Realizujemy także obsługę awarii i bieżących zapytań od użytkowników biznesowych. Dzięki umiejętnemu połączeniu kompetencji biznesowych, analitycznych i programistycznych narzędzia wykorzystywane przez klienta są wielokrotnie rozbudowywane i modyfikowane zgodnie z wypracowanymi przez nasz zespół wymaganiami. W rezultacie klient otrzymuje narzędzia dopasowane do aktualnej oferty produktowej oraz procesu biznesowego realizowanego przez jego zespół.

Z uwagi na złożoność środowiska pracy klienta, wykorzystywane narzędzia projektowania procesów i analizy danych obejmują m.in. Nussknacker, SAS, R, Python, fremarker, Knime, Grafana, Kibana, Hadoop i inne.

Wykorzystane kompetencje:

  • Scrum master
  • Analityk biznesowy
  • Analityk systemowy

<< zwiń

Portal Telemedyczny i aplikacja mobilna

Dla naszego klienta, firmy z branży e-health, zaprojektowaliśmy i w pełni wdrożyliśmy Portal Telemedyczny, składający się z aplikacji desktopowych dla pacjenta oraz lekarza wraz z aplikacją mobilną dla systemu iOS.

Rozwiązanie

Aplikacja mobilna utworzona w języku Swift umożliwia łatwe rejestrowanie różnorodnych badań poprzez integrację z różnymi urządzeniami do pomiarów wykorzystując przy tym technologię Bluetooth. Istnieje również możliwość ręcznej rejestracji badań oraz przeglądu i analizy ich historii poprzez wykresy przedstawiające przebieg danych.

Aplikacje zapewniają płynną interakcję pomiędzy pacjentem a lekarzem oferując możliwość umawiania konsultacji, zamawiania leków, prowadzenia video konsultacji oraz pobierania badań i zaleceń. Dedykowane profile dla użytkowników zapewniają swobodę w konfiguracji oraz pozwalają na lepsze zarządzanie zadaniami i czasem.

Wewnątrz aplikacji obsługiwana jest również integracja z laboratorium medycznym oraz urzędowymi, zewnętrznymi systemami takimi jak P1, pozwalająca na odpowiednią synchronizację danych medycznych z docelowymi instytucjami. Zakres integracji obejmuje obsługę recept, skierowań, zwolnień oraz pełnej elektronicznej dokumentacji medycznej. Poza podglądem oraz pobieraniem plików aplikacja oferuje formatowanie plików wg szablonu dostarczonego w postaci schematu XML.

Wykorzystane kompetencje:

  • Scrum master
  • Analityk biznesowy
  • Frontend Developer (Angular, Typescript, NgInx)
  • Backend Developer (.NET, .NET core 3.1, Spring boot, Sql server, MS Azure)
  • Architekt
  • iOS Developer
  • UX Designer

<< zwiń

Sklep online

Dla naszego klienta, firmy z branży ubezpieczeń, zaprojektowaliśmy i w pełni wdrożyliśmy sklep online z ubezpieczeniami. Wymogiem było zapewnienie maksymalnej elastyczności w samodzielnym zarządzaniu produktami, ofertami i promocjami (firma nie posiada własnego zespołu IT). Ponieważ model biznesowy klienta zakładał kanał sprzedaży online jako wiodący, a w początkowym etapie funkcjonowania nawet jako jedyny, konieczne było zapewnienie integracji z partnerami takimi jak Towarzystwa ubezpieczeniowe i firmy usługowe, oraz wprowadzenie możliwości zarządzania kontem użytkownika i obsługi koszyka zakupowego (w tym porzuconego koszyka), czy też bloga firmowego, wykorzystywanego w pozycjonowaniu treści.

Rozwiązanie

Zgodnie z aktualnymi trendami portal został wykonany jako responsywny, działający płynnie na platformach webowych i mobilnych niezależnie od systemu operacyjnego użytkownika. Całość rozwiązania jest w pełni zoptymalizowana na potrzeby wykorzystania narzędzi Google Analytics. Od strony architektury rozwiązanie wykorzystuje technologie takie jak Python i PostgeSQL, a całość posadowiono w infrastrukturze GoogleCloud.

Wykorzystane kompetencje:

  • Scrum master
  • Analityk biznesowy
  • Python Developer
  • UX Designer
  • Testerzy

<< zwiń

Wdrożenie i utrzymanie środowiska CI/CD

Dla naszego klienta, firmy z branży energetycznej, świadczymy kompleksową obsługę środowiska

CI/CD stworzonego pierwotnie na przestrzeni wielu lat przez kilkadziesiąt (!) zespołów wewnętrznych i zewnętrznych (dostawcy). W ramach wdrożenia wykonano analizę potrzeb oraz zrealizowano środowisko rozwojowo/testowo/wdrożeniowe wspierające zaprojektowane procesy CI/CD aplikacji w sposób zunifikowany, na ustandaryzowanych środowiskach. Ze względu na bardzo restrykcyjne wymagania bezpieczeństwa, środowisko musiało być zestawione on-premise , a używanie chmurowych „kombajnów” DevOps było niemożliwe. Ze względu na zróżnicowany poziom kompetencji technicznych zespołów (nie tylko programiści, ale również analitycy i przedstawiciele biznesu) obsługa procesów CI/CD musiała być maksymalnie zautomatyzowana. Od strony konstrukcji architektonicznej środowisko zbudowano jako skonteneryzowane, prekonfigurowane obrazy dockerowe:

  • runtime – obrazy uruchomieniowe (do testowania i wdrożeń produkcyjnych)
  • build – obrazy runtime uzupełnione o narzędzia do budowania wdrażalnych paczek
  • devel – obrazy build uzupełnione o narzędzia do rozwoju

Dostęp do platformy dla użytkowników możliwy jest, zgodnie z wymaganiami klienta, wyłącznie poprzez www. Automatyczny routing uruchamianych kontenerów odbywa się z wykorzystaniem Fabio.

Przepływy budowania/testowania/wdrażania oparto o GitLab Pipelines predefiniowane lub customowe z definicjami w postaci kodów yaml. Repozytorium obiektów (artefakty oraz repozytoria bibliotek/pakietów) zrealizowane zostały za pomocą MinIO (również zintegrowane z KeyCloak). Środowisko zestawiono zgodnie z wymogami redundancji kluczowych komponentów: 3 serwery nomad, 3 serwery consul, 3 serwery vault, redundantne serwery KeyCloak i MinIO. GitLab był częścią istniejącej infrastruktury korporacyjnej. Monitorowanie platformy oparto o stack ELK.

<< zwiń

Portal sportowy Badminton

Naszemu klientowi z branży sportowej mieliśmy okazję pomóc w zarządzaniu codziennymi procesami związanymi z organizacją turniejów, meczy oraz prowadzeniem ligi Badmintona w Danii. Nasz klient jest krajowym organem zarządzającym sportem Badmintona w Danii. Reprezentuje on około 649 klubów, znajdujących się na terenie tego kraju.

Rozwiązanie

Naszym zadaniem było rozszerzenie istniejącego portalu statycznych win forms na single page application. Jednocześnie rozszerzyliśmy system o dodatkowe funkcjonalności. Takie rozwiązanie pozwala niskim kosztem skalować rozwiązanie legacy na miarę dzisiejszych standardów.

Projektując web service wykorzystaliśmy IdentityServer4 do budowy serwisu autentykacyjnego. REST API  pozwala na obsługę wszystkich funkcjonalności takich jak obsługa szkoleń, mailing, jednocześnie danych sportowych od prowadzonych lig, turniejów, po spotkania sparingowe. W celu budowy web service’ów wykorzystaliśmy .NET 5

Po stronie frontendu, wykorzystaliśmy Reacta, umożliwiającego scentralizowane zarządzanie przepływem danych w sposób odizolowany od komponentów, których zadaniem jest reprezentacja danych na poszczególnych stronach.

Rozwiązanie osadziliśmy na prywatnych serwerach klienta. Całość projektowana zgodnie z podejściem Domain Driven Desing

Wykorzystane kompetencje

  • Analityk biznesowy
  • Frontend Developer
  • Backend Developer

<< zwiń

Implementacja i przetwarzanie danych w systemach BI

Jeden z naszych klientów z branży Telco poprosił nas o wsparcie w procesach przetwarzania danych. Projekt był podzielony na kilka etapów gdzie na każdym z nich wspieraliśmy klienta pod kątem analitycznym, developerskim oraz za pomocą testów implementowanych rozwiązań.

Rozwiązanie

U klienta pracowaliśmy w metodyce Scrum, gdzie w ramach poszczególnych Sprintów identyfikowaliśmy oraz analizowaliśmy wpływ wprowadzonych zmian na systemy BI. Budowaliśmy modele danych wg Avro. Implementowaliśmy procesy integracyjne według Interfece Agreement oraz dostarczonych wytycznych. Wspieraliśmy proces testów przygotowując plan testów oraz przygotowując scenariusze testowe. Oczywiście dbaliśmy aby wszystkie prace zostały odpowiednio udokumentowane.

Wykorzystane kompetencje:

  • Scrum master
  • Python Developer

<< zwiń

Aplikacja do zarządzania transportem morskim

Jeden z naszych klientów z branży logistycznej poprosił nas o wsparcie w stworzeniu aplikacji wspomagającej zarządzanie transportem morskim. Aplikacja umożliwia szczegółową konfigurację ładunków, dobór odpowiednich statków na transport oraz ustalenie najlepszej trasy oraz miejsc załadunku i rozładunku w celu optymalizacji dostaw towarowych. 

Rozwiązanie

Naszym zadaniem jest utworzenie aplikacji przy wykorzystaniu Java 8 wraz z Spring Boot, która pozwala na równoległe przetwarzanie obliczeń wykorzystywanych do ustalenia optymalnej trasy oraz portów wykorzystywanych przy dostawie towaru. Przy obliczeniu optymalnej trasy użytkownik będzie miał możliwość porównania wyników dla różnych scenariuszy (LIKELY, OPTIMISTIC, PESSIMISTIC). W każdym scenariuszu brane są pod uwagę również permutacje obecnych warunków – np. możemy obliczyć czasy dostawy pomiędzy punktem A i B przy założeniu różnych warunków atmosferycznych, które znacząco mogą wpływać na czas oraz bezpieczeństwo danej dostawy. 

Wszelkie kombinacje możliwych permutacji są przetwarzane za pomocą Spark.

Frontend aplikacji jest zbudowany w oparciu o Angular. 

Wykorzystane kompetencje

  • Java Developer

<< zwiń