Rapid Toolkit, czyli jak przyspieszyć development aplikacji

Wyzwanie

Czy jest możliwe stworzenie rozwiązania, które znacznie przyspieszyłoby development aplikacji?

Zespół Digital& w PwC Polska stanął przed wyzwaniem znalezienia usprawnienia, które umożliwiłoby elementy powtarzalne – takie jak np. struktura aplikacji, wielojęzyczność, notyfikacje czy też logowanie – dostarczać w formie reużywalnych modułów, gotowych do wykorzystania w innych aplikacjach.

Dzięki takiemu rozwiązaniu zespół projektowy mógłby w codziennej pracy skupiać się na tworzeniu elementów specyficznych dla danej aplikacji, a elementy powtarzalne każdorazowo powielać – bez zmian lub z drobną modyfikacją – w ramach reużywalnych modułów, tym samym przyspieszając realizację projektu.

Rozwiązanie

Rozwiązaniem okazała się architektura rozproszona, w której zbudowane zostało, zarówno po stronie backendu (mikroserwisy) jak i frontendu (mikrofrontendy), narzędzie Rapid Toolkit. Narzędzie to możemy traktować jako menu, z którego zespół pracujący nad nowym projektem wybiera interesujące go elementy, składając je w aplikację. 

Dzięki wybranej architekturze nie ogranicza nas technologia ani dostępność specjalistów w danej dziedzinie. Poszczególne mikrofrontendy czy mikroserwisy mogą być realizowane w dowolnych frameworkach czy językach. Korzystamy więc z gotowych modułów, jednocześnie rozwijając nowe, specyficzne dla konkretnego projektu, w wybranej dla siebie technologii. 

Dowiedz się, jak pomagamy wdrażać AI

Jakie moduły posiada na ten moment Rapid Toolkit?

Elementy powtarzalne w layoucie niemal każdej aplikacji:

Moduł nagłówka (Header module)

  • Wraz z predefiniowanymi ustawieniami co do motywu, kolorów, tłumaczeń, itd. Spięty z modułem notyfikacji, informuje nas o nowych zdarzeniach w aplikacji. Spięty z modułem translacji umożliwia zmianę języka w aplikacji. Posiada wbudowany panel ustawień użytkownika, umożliwiający ustawienie motywu, kolorów czy też wspomnianego języka. 

Moduł stopki (Footer module)

  • Z informacjami typowymi dla tego elementu, wraz z linkami do polityki prywatności, regulaminów, itd.

Moduł bocznego menu nawigacyjnego (Sidebar module)

Moduł uwierzytelniania (Auth module)

  • Ponownie będący elementem niemal każdej aplikacji. Zapewnia możliwość rejestracji, logowania czy też odzyskania hasła. Spięty zarówno z Keycloakiem dla celów developerskich, jak i z PwC Identity – umożliwia logowanie przez SSO.

Moduł tłumaczeń (Internationalization module)

  • Zapewniający mechanizm umożliwiający obsługiwanie wielu języków w aplikacji. Tłumaczenia ponownie mogą być wprowadzane z wykorzystaniem wygodnego interfejsu.

Moduł chatu (Chat module)

  • Klasyczny czat pomiędzy dwoma użytkownikami.

CKEditor

  • Moduł zapewniający dostęp do edytora tekstowego.

Moduł komentarzy (Comments module)

  • Umożliwiający dodawanie komentarzy, odpowiadanie na istniejące, możliwy do wykorzystania z modułem Reakcji (Reaction module) celem dodania możliwości reagowania na komentarze.

Co więcej, w połączeniu z ustawieniami w module Nagłówka istnieje możliwość predefiniowania dostępnych reakcji.

File Storage

  • Moduł obsługujący ładowanie plików do naszej aplikacji

Moduł notyfikacji (Notifications module)

  • Obsługa powiadomień w aplikacji.

Video Player

  • Klasyczny odtwarzacz video.

Moduł konfiguracji (Configuration module)

  • Generator obiektów JSON’owych. Przyjazny interfejs wprowadzania konfiguracji.

Utility module

  • Zbiór narzędzi współdzielonych przez poszczególne moduły.

Social Wall

  • Popularny model prezentowania treści jako karteczek na tablicy. W połączeniu z modułem komentarzy i reakcji możemy stworzyć przyjemny sposób prezentacji informacji.

Menedżer zadań (Task Manager module)

  • Moduł służący zarządzaniu zadaniami twojego zespołu. 

Rezultaty

Aby sprawdzić, czy Rapid Toolkit spełnia swoje zadanie i przynosi zamierzone efekty, warto przyjrzeć się projektowi Tax Connector – jednej z aplikacji, która powstała na bazie Rapid Toolkit.

Celem projektu Tax Connector, realizowanego na potrzeby jednego z zespołów PwC Polska, było stworzenie narzędzia ułatwiającego komunikację klientom zespołu. Ważnym aspektem projektu było również zebranie rozproszonej wiedzy (komentarzy, newsletterów, webinarów, artykułów, itp.) w jednym miejscu.

Na potrzeby aplikacji Tax Connector wykorzystanych zostało siedem modułów Rapid Toolkit:

Wybrane moduły Rapid Toolkit przy tworzeniu aplikacji Tax Connector wykorzystano na dwa sposoby:

  1. Bez zmian – jako gotowe, reużywalne moduły.

  2. Z modyfikacją – jako bazę do rozwinięcia danego modułu zgodnie ze specyfiką aplikacji Tax Connector.

Dzięki skorzystaniu z rozwiązań oferowanych przez Rapid Toolkit, szacunkowo czas developmentu (a zarazem koszt) aplikacji Tax Connector spadł o ok. 27%, co pozwala wysnuć wniosek, że Rapid Toolkit spełnia swoją rolą i pomaga uwolnić czas zespołu.

rafal rybak

Dla mnie, jako dla architekta, najciekawszą częścią projektu była implementacja mikrofrontendów oraz zespołowe burze mózgów, podczas których omawialiśmy coraz to nowe pomysły na kolejne moduły w ramach Rapid Toolkit. Cały team bawił się możliwościami jakie one dają. Wszyscy mieliśmy świadomość, że tworzymy projekt o tyle wyjątkowy, o ile ma on służyć przede wszystkim nam samym, ułatwiając codzienną pracę zespołu – stąd też atmosfera pracy była pełna entuzjazmu i motywacji do działania.
Nie obeszło się jednak bez wyzwań. Największym z nich było wyciągnięcie esencji z lawiny naszych pomysłów na to, jak dokładnie ma wyglądać dany moduł. Przeanalizowanie podobnych rozwiązań, wykorzystywanych już na innych projektach, i wyciągnięcie wspólnego mianownika w postaci uniwersalnego i reużywalnego modułu dla danej funkcjonalności okazało się dla nas wymagającym procesem.

- Rafał Rybak, Architekt Rozwiązań, PwC Polska

Dla mnie, jako dla architekta, najciekawszą częścią projektu była implementacja mikrofrontendów oraz zespołowe burze mózgów, podczas których omawialiśmy coraz to nowe pomysły na kolejne moduły w ramach Rapid Toolkit. Cały team bawił się możliwościami jakie one dają. Wszyscy mieliśmy świadomość, że tworzymy projekt o tyle wyjątkowy, o ile ma on służyć przede wszystkim nam samym, ułatwiając codzienną pracę zespołu – stąd też atmosfera pracy była pełna entuzjazmu i motywacji do działania.
Nie obeszło się jednak bez wyzwań. Największym z nich było wyciągnięcie esencji z lawiny naszych pomysłów na to, jak dokładnie ma wyglądać dany moduł. Przeanalizowanie podobnych rozwiązań, wykorzystywanych już na innych projektach, i wyciągnięcie wspólnego mianownika w postaci uniwersalnego i reużywalnego modułu dla danej funkcjonalności okazało się dla nas wymagającym procesem.

- Rafał Rybak, Architekt Rozwiązań, PwC Polska


Autorka artykułu:

Żaneta Jażdżyk
Senior Developer, PwC Polska

Sprawdź, jakie możliwości kariery czekają na Ciebie w PwC!

Obserwuj nas