Opis projektu

Cele projektu było stworzenie platformy opartej na architekturze metadanych, która umożliwia budowanie dowolnych struktur danych oraz procesów, bez konieczności angażowania zespołów programistycznych. Klient, właściciel Ecologic.io, poszukiwał rozwiązania dorównującego elastycznością narzędziom klasy enterprise i zdolnego odwzorować złożone procesy flotowe, kosztowe i administracyjne. Przygotowaliśmy POC który potwierdził wykonalność architektury, umożliwił dynamiczne modelowanie obiektów i relacji oraz stworzył fundament do budowania workflow reagujących na zdarzenia operacyjne. System automatycznie generuje interfejsy, wizualizacje danych i obsługuje złożone automatyzacje dzięki czemu znacząco przyspiesza wdrożenia u klientów flotowych i zwiększa przewagę konkurencyjną Ecologic.io.

O kliencie

Klientem był właściciel Ecologic.io, dynamicznego startupu technologicznego z którym mieliśmy już wcześniejsze doświadczenia projektowe. Ecologic.io oferuje zaawansowany system do zarządzania flotą samochodową który łączy bezpieczeństwo kierowców, ekologię oraz odpowiedzialność społeczną biznesu. Firma powstała po wygranej w konkursie Startup Fest Agora 2014 i od tego momentu rozwija się w tempie charakterystycznym dla skalowalnych produktów SaaS. Dziś obsługuje klientów w Europie, Azji i Ameryce Północnej, wspierając ich w digitalizacji procesów flotowych, automatyzacji pracy zespołów oraz optymalizacji kosztów operacyjnych. Ecologic.io zbudował silną pozycję lidera wśród polskich dostawców oprogramowania flotowego, regularnie pojawia się na konferencjach branżowych i w mediach flotowych oraz wyznacza kierunek rozwoju nowoczesnych narzędzi telematycznych.

Wstępne wymagania

Klient zgłosił się z potrzebą stworzenia platformy która osiągnęłaby poziom elastyczności porównywalny z SalesForce, Microsoft Dynamics lub Trello. Oczekiwał systemu umożliwiającego dynamiczne budowanie struktury danych w sposób konfigurowalny, z możliwością definiowania relacji pomiędzy obiektami, ustawiania walidacji oraz tworzenia reguł zachowań uruchamianych w reakcji na zdarzenia. Kluczowe było aby wszystkie te elementy mogły być modyfikowane bez ingerencji programistycznej i aby system automatycznie prezentował dane w formie tabel, wykresów i map. Klient oczekiwał narzędzia które stanie się fundamentem dla jego przyszłych produktów i będzie w stanie obsłużyć rosnącą złożoność procesów flotowych i operacyjnych.

Wyzwanie

Zaprojektowanie platformy o tak wysokiej elastyczności wymagało stworzenia silnika, który potrafi interpretować dynamicznie definiowane modele danych, ich relacje i walidacje, a to zadanie o dużej złożoności architektonicznej. System musiał umożliwiać zaawansowaną konfigurację po stronie użytkownika końcowego, jednocześnie zachowując bezpieczeństwo oraz integralność danych, co wymagało odpowiedniej abstrakcji logiki i warstwy prezentacji.

Kolejnym wyzwaniem było opracowanie środowiska reguł reaktywnych działających w modelu event-driven, które można konfigurować bez udziału programistów. Taki mechanizm musi korzystać z trwałego, odpornego na błędy silnika workflow, zapewniającego przewidywalność nawet przy dużej liczbie wyjątków i niestandardowych procesów.

Dynamicznie budowane modele danych generują trudność w renderowaniu interfejsów ponieważ system powinien samodzielnie decydować o odpowiedniej formie prezentacji. Automatyczne tworzenie tabel, wykresów i map na podstawie zmiennych struktur wymagało zaawansowanego generatora UI i logiki dopasowującej typ wizualizacji do rodzaju danych.

Rosnąca liczba konfiguracji oraz obciążenie generowane przez operacje na danych wymagały odpowiedniego podejścia do skalowania i zarządzania infrastrukturą aby system pozostawał stabilny w sytuacji dużej dynamiki zmian.

Platforma miała stać się fundamentem przyszłego ekosystemu produktowego Klienta, dlatego architektura musiała wspierać długofalowy rozwój, stabilność API oraz możliwość wdrażania kolejnych modułów bez ryzyka zaburzenia działania istniejących funkcji. Wyzwaniem było również dopasowanie poziomu elastyczności do umiejętności użytkowników, ponieważ zaawansowane możliwości konfiguracji mogły prowadzić do błędów wynikających z nieprzewidzianych kombinacji ustawień.

Kluczowe było także stworzenie przejrzystego modelu uprawnień, bezpieczeństwa i wersjonowania konfiguracji który zapewni kontrolę nad zmianami i ochronę danych pomimo ciągłej ewolucji systemu.

Cele projektu

Pierwszym etapem projektu było przygotowanie POC, które miało potwierdzić wykonalność architektury pozwalającej na pełną elastyczność modeli danych, procesów i reguł biznesowych. Aby to osiągnąć zdefiniowaliśmy zestaw kryteriów które pozwoliły rzetelnie ocenić możliwości i ograniczenia rozwiązania.

Cele obejmowały:

  • przygotowanie scenariuszy testowych które sprawdzą czy dynamiczne modele danych, relacje i walidacje mogą działać stabilnie i spójnie
  • wyznaczenie punktów swobody które zweryfikują jak daleko sięga elastyczność systemu bez konieczności modyfikacji programistycznych
  • ocenę potencjalnej wydajności architektury przy znacznym obciążeniu charakterystycznym dla flot liczących setki lub tysiące pojazdów

Na tej podstawie wskazaliśmy kluczowe scenariusze operacyjne typowe dla dużych flot:

  • obsługa administracyjna pojazdów, umów, kosztów i dostawców
  • procesy księgowe obejmujące rozliczenia i dekretacje
  • rejestrowanie i obsługa zdarzeń flotowych oraz zgłoszeń użytkowników

W ramach automatyzacji zdefiniowaliśmy zestaw funkcji które POC musiał obsłużyć:

  • automatyczne generowanie dokumentów i protokołów
  • budowanie reguł rozliczania kosztów
  • wysyłanie przypomnień o serwisach i przeglądach
  • działania uruchamiane w reakcji na zdarzenia takie jak mandat, zgłoszenie, aktywacja usługi

Celem nadrzędnym było potwierdzenie że system będzie w stanie odzwierciedlać złożone procesy flotowe oraz skalować się wraz ze wzrostem organizacji.

Opis rozwiązania

Zaprojektowaliśmy platformę w oparciu o modułową architekturę pozwalającą interpretować dynamicznie definiowane modele danych, procesy oraz reguły biznesowe. Fundament technologiczny opiera się na połączeniu .NET jako warstwy serwerowej, MongoDB jako elastycznej bazy dokumentowej oraz Vue.js jako responsywnego interfejsu użytkownika. Taka kombinacja pozwala tworzyć konfiguracje które natychmiast odzwierciedlają się w systemie i nie wymagają zmian programistycznych.

Stworzyliśmy silnik modelujący który umożliwia definiowanie obiektów, relacji, pól i walidacji oraz silnik reguł reaktywnych który obsługuje działania uruchamiane w reakcji na zdarzenia operacyjne. Mechanizmy te działają w środowisku workflow zapewniając przewidywalność oraz odporność na błędne konfiguracje. Logika interpretacji modeli została oddzielona od warstwy prezentacji dzięki czemu interfejs tworzy się automatycznie na podstawie konfiguracji.

Platforma generuje widoki danych w sposób automatyczny ponieważ posiada wbudowany generator tabel, wykresów i map który dopasowuje prezentację do rodzaju danych i relacji pomiędzy nimi. Dzięki temu użytkownicy otrzymują pełną wizualizację procesów oraz zdarzeń flotowych bez konieczności budowania dedykowanych ekranów.

Architektura systemu została zaplanowana tak aby obsługiwać duże obciążenia typowe dla flot operujących setkami lub tysiącami pojazdów. Wprowadziliśmy mechanizmy indeksowania, kolejkowania zdarzeń oraz skalowania horyzontalnego które zapewniają stabilność przy dużej liczbie operacji. System umożliwia także integrację z telematyką, księgowością i narzędziami kosztowymi a moduł API został zaprojektowany tak aby wspierać długofalowy rozwój produktów Ecologic.io.

Całość tworzy platformę która może rosnąć wraz z organizacją i stanowi fundament pod przyszłe moduły i produkty klienta.

Rezultaty biznesowe

Najważniejsze efekty biznesowe obejmują

  • zdecydowane skrócenie czasu wdrożeń dla klientów flotowych dzięki możliwości tworzenia procesów i modeli danych bez konieczności budowania ich w kodzie
  • elastyczność która umożliwia odwzorowanie dowolnych workflow ponieważ system nie jest ograniczony do jednego narzuconego procesu flotowego tylko pozwala dopasować strukturę operacji do specyfiki pracy każdego przedsiębiorstwa
  • możliwość obsługi procesów uzupełniających takich jak niestandardowe ścieżki akceptacji, procesy kosztowe, obiegi dokumentów czy działania związane z kontraktami co zwiększa dopasowanie do potrzeb organizacji i wzmacnia przewagę konkurencyjną Ecologic.io
  • automatyczne generowanie tabel, map i wykresów na podstawie dowolnych konfiguracji co umożliwia natychmiastową wizualizację procesów bez tworzenia dedykowanych ekranów

W efekcie klient zyskał fundament technologiczny który przyspiesza rozwój produktów, zwiększa jakość wdrożeń i pozwala dostosować system do unikalnych sposobów pracy każdego odbiorcy.

Opinia klienta

Największą wartością tej współpracy było to że zespół zrozumiał nasze ambicje technologiczne i potrafił zbudować rozwiązanie które może stać się fundamentem całego przyszłego ekosystemu produktowego. Czuję że możemy dalej rozwijać tę platformę bez obaw o skalowalność czy stabilność architektury. To była jedna z najbardziej produktywnych i partnerskich współprac jakie realizowaliśmy.

Kamil Fuss

Head of Business Developments

Zarezerwuj bezpłatną konsultację

Jeśli zmagasz się z wyzwaniami informatycznymi, skontaktuj się z nami, aby dowiedzieć się, jak możemy Ci pomóc.