Zamiast ograniczać się do doraźnych poprawek, podjęliśmy się gruntownej modernizacji całego ekosystemu aplikacji. Celem było stworzenie jednolitego, nowoczesnego środowiska, które nie tylko ułatwi codzienną pracę użytkownikom końcowym, ale także umożliwi dynamiczny rozwój i integrację nowych technologii w przyszłości. Postawiliśmy na rozwiązania, które miały poprawić skalowalność systemu, zwiększyć jego wydajność oraz uprościć zarządzanie i utrzymanie aplikacji. Dzięki temu firma mogła skupić się na swojej kluczowej działalności, zamiast tracić czas na problemy technologiczne.
Fundamentem nowego ekosystemu technologicznego stało się Monorepo – rozwiązanie, które umożliwia współdzielenie komponentów, ujednolicenie kodu oraz łatwiejsze zarządzanie całością systemu. Zastosowanie wspólnych komponentów UI oraz spójnej logiki biznesowej pozwoliło na stworzenie jednolitego i przejrzystego środowiska, które znacząco przyspieszyło rozwój nowych funkcjonalności i uprościło utrzymanie systemu. Każda nowa aplikacja mogła być wdrażana szybciej, bez konieczności budowania jej od podstaw, a istniejące aplikacje mogły czerpać z gotowych rozwiązań, co zminimalizowało redundancję kodu i ograniczyło błędy wynikające z niespójności.
Jednym z kluczowych elementów modernizacji było wdrożenie centralnej aplikacji autoryzacyjnej opartej na technologii Okta. Dzięki temu użytkownicy mogli logować się do systemu raz i swobodnie przełączać się między różnymi aplikacjami bez konieczności ponownego uwierzytelniania. Takie podejście pozwoliło na utrzymanie niezależności poszczególnych aplikacji, a jednocześnie gwarantowało bezproblemową komunikację między nimi. Każda aplikacja działała w obrębie nowego ekosystemu w sposób spójny, ale jednocześnie zachowywała autonomię, co było kluczowe dla klienta.
Zmiany technologiczne były kluczowe, ale równie ważne było zadbanie o użytkowników, którzy na co dzień pracowali z systemem. Wiele dotychczasowych aplikacji miało przestarzałe interfejsy, które były nieintuicyjne i nie spełniały współczesnych standardów UX. Ujednolicenie wyglądu aplikacji i wprowadzenie nowoczesnych zasad projektowania interfejsów sprawia, że użytkownicy mogą łatwiej poruszać się po systemie, a ich praca jest się bardziej efektywna.
Dzięki wdrożeniu Reacta oraz TailwindCSS udało się stworzyć nowoczesne komponenty, które nie tylko zapewniły atrakcyjny wygląd, ale także usprawniają interakcję użytkowników z systemem. Uproszczone nawigacje, spójne elementy interfejsu oraz lepsza responsywność sprawiają, że użytkownicy mogą szybciej odnajdywać potrzebne informacje i wykonywać swoje zadania z mniejszym wysiłkiem. Zastosowanie najlepszych praktyk UX pozwala na wyeliminowanie zbędnych kroków i uproszczenie wielu procesów, co bezpośrednio wpływa na zwiększenie wydajności pracy w firmie.
Projekt nie był pozbawiony wyzwań. Jednym z pierwszych problemów, z którymi musieliśmy się zmierzyć, było zinwentaryzowanie i zrozumienie funkcjonalności wszystkich aplikacji, które miały zostać zintegrowane w nowym ekosystemie. Każda z nich była tworzona w innym okresie i opierała się na różnych technologiach, co sprawiało, że proces ujednolicenia był skomplikowany i wymagał strategicznego podejścia.
Na etapie MVP kluczowe było także unikanie nadmiarowych abstrakcji w kodzie. Postawiliśmy na pragmatyczne podejście, które pozwoliło na szybkie wdrażanie zmian bez konieczności przeprowadzania skomplikowanych refaktorów. Priorytetem było zachowanie czytelności kodu i elastyczności w przyszłym rozwoju aplikacji.
Dodatkowym wyzwaniem było zapewnienie skutecznego onboardingu dla nowych deweloperów oraz stażystów. Ponieważ w projekcie brały udział osoby o różnym poziomie doświadczenia, kluczowe stało się wprowadzenie solidnego systemu code review oraz mentoringu. Regularne spotkania, omawianie najlepszych praktyk oraz dbałość o jakość kodu pozwoliły na szybkie wdrożenie nowych członków zespołu w technologie i standardy obowiązujące w projekcie.
Obsługa stref czasowych również wymagała specjalnego podejścia. Niektóre aplikacje przechowywały daty w formatach, które nie obsługiwały różnych stref czasowych, co prowadziło do problemów z synchronizacją danych. Aby uniknąć tych trudności, zdecydowaliśmy się na przechowywanie dat jako tekstów oraz ich poprawne parsowanie na froncie, a w jednej z aplikacji, gdzie precyzja czasowa miała kluczowe znaczenie, wprowadziliśmy stałą strefę czasową America/New_York.
Modernizacja systemów przynosi firmie wymierne korzyści. Nowe aplikacje stają się spójne pod względem wizualnym i funkcjonalnym, co znacząco poprawia komfort pracy użytkowników. Wdrożenie monorepo i wspólnych komponentów pozwala na szybsze wdrażanie kolejnych funkcjonalności oraz ograniczenie problemów związanych z kompatybilnością. Nowa architektura umożliwia łatwą skalowalność i wprowadzanie nowych rozwiązań bez konieczności kosztownych refaktorów.
Największym sukcesem projektu jest nie tylko wdrożenie nowoczesnych technologii, ale także edukacja zespołu klienta. Deweloperzy zdobyli nowe umiejętności i narzędzia, które pozwolą im samodzielnie rozwijać system w przyszłości. Dzięki partnerskiej współpracy udało się wypracować rozwiązania dopasowane do rzeczywistych potrzeb biznesowych, co zapewniło klientowi solidny fundament do dalszego rozwoju.
WYSOKA JAKOŚĆ
Zrealizowaliśmy dziesiątki projektów i osiągnęliśmy wymierne rezultaty.
BIZNESOWE PODEJŚCIE
Technologia jest świetna, ale tylko wtedy, gdy przynosi wartość klientowi.
SZYBKOŚĆ WPROWADZANIA NA RYNEK
Jesteśmy zwinni, elastyczni i szybko iterujemy.
PRZEJRZYSTOŚĆ
Przez cały czas będziesz mógł obserwować nasze postępy.