1. Wyzwanie
Klient – spółka z polskim kapitałem, specjalizująca się w handlu energią elektryczną. Jako jedyna w Polsce pozyskuje, a następnie odsprzedaje energię pochodzącą wyłącznie ze źródeł odnawialnych. W kolejnym etapie rozwoju, jej założyciele utworzyli w połowie 2020 roku Dom Maklerski działający przy Towarowej Giełdzie Energii.
Jesteśmy – DevOpsi sp. z o.o. – partnerem technologicznym tego przedsięwzięcia.
2. Zakres prac
- wsparcie Analizy Biznesowej;
- budowa Architektury Rozwiązania;
- projektowanie UX/UI;
- development aplikacji;
- testy aplikacji;
- zarządzanie projektem;
- DevOps – tworzenie i zarządzanie środowiskami.
3. Rozwiązanie
Stworzyliśmy – DevOpsi sp. z o.o. – aplikację webową w technologiach: Java, Spring Boot, PostgreSQL, Angular, Flux, Keycloak. Składa się ona z kilku komponentów:
- SSO – do przygotowania którego użylismy Keycloak’a;
- backend aplikacji – napisany w Java przy wykorzystaniu Spring Boot’a, Flux’a oraz bazy danych PostgreSQL;
- frontend aplikacji – napisany w Angular;
- serwis – komunikujący się z Towarową Giełdą Energii napisany we Flux’ie.
4. Wyzwania
Największym wyzwaniem w pierwszym etapie realizacji projektu było poznanie – ze wszystkimi złożonymi procesami i zależnościami – obszaru biznesowego, dla którego należało przygotować odpowiednio zwymiarowane i efektywne rozwiązanie w postaci aplikacji webowej. Ścisła współpraca z Klientem i jego wsparcie w tym zakresie wyposażyły pracowników DevOpsi sp. z o.o. w niezbędną wiedzę.
Kolejne wyzwania dotyczyły płaszczyzny technologicznej i obejmowały:
- zaprojektowanie i implementację jednolitego i spójnego modelu danych giełdowych, dzięki któremu w przyszłości można będzie w łatwy i szybki sposób zintegrować – z przygotowanym systemem – kolejne giełdy towarowe;
- uzyskanie jak najmniejszych opóźnień w wyświetlaniu notowań – tak aby Klienci aplikacji mogli jak najlepiej inwestować swoje środki. W realizacji tego wyzwania wykorzystaliśmy Flux’a i jego rekatywność, co w połączeniu z Angularem przyniosło oczekiwane, bardzo dobre wyniki. Końcowy efekt prac przedstawia poniższy obraz:
5. Podsumowanie
Stworzone przez nas rozwiązanie zdecydowanie spełniło potrzeby Klienta. Dzięki wyzwaniom technologicznym oddelegowany do tego projektu zespół mógł poszerzyć swoje kompetencje i doświadczenie w kilku obszarach i technologiach.
Od początku system realizowaliśmy w podejściu DDD – Domain Driven Design – czyli projektowaniu zorientowanym na domenę, której potrzeby tworzony system będzie realizował.
Uzupełnieniem tej koncepcji był Event Storming, dzięki któremu zespół projektowy DevOpsi sp. z o.o. bardzo szybko pozyskał niezbędną wiedzę biznesową, a Klient dostrzegł brakujące elementy we wcześniej przeprowadzanych analizach.