Optymalizacja Wydajności i Dedykowane Oprogramowanie dla Qompana CRM
Branża
Technologie
Kraj

O Kliencie
Qompana to system CRM klasy enterprise stworzony w architekturze single-tenant, aby maksymalizować bezpieczeństwo danych, wydajność oraz personalizację. Zbudowana, by usprawnić operacje sprzedażowe i zarządzanie relacjami z klientami, Qompana daje zespołom sprzedażowym w różnych branżach narzędzia, których ich praca naprawdę potrzebuje. Działając jako scentralizowana baza danych dla wszystkich istotnych informacji o klientach, codzienne upraszcza zadania dla przedstawicieli handlowych. Umożliwia efektywne zarządzania szansami sprzedażowymi i planowanie działań. Wspiera ulepszoną komunikację z klientami poprzez przypomnienia o follow-upach i planowanie interakcji. Oferuje również automatyzację zadań takich jak wysyłanie e-maili czy przypomnienia o spotkaniach. System funkcjonuje jako skuteczny planer codziennych, tygodniowych i miesięcznych zadań, zapewniając terminową realizację i efektywne zarządzanie zadaniami. Menedżerom sprzedaży Qompana daje dostęp do kalendarzy zespołów, widoku szans sprzedaży i raportów o metrykach sprzedażowych.
Potrzeby Klienta
Audyt Kodu
Optymalizacje i Poprawki Wydajności
Przeprojektowanie Frontendu
Skalowalna Architektura Backendowa
Qompana zwróciła się do nas z kilkoma kluczowymi wymaganiami dotyczącymi ich systemu CRM. Początkowym zadaniem było przeprowadzenie audytu istniejącej bazy kodu w celu zidentyfikowania i rozwiązania problemów z wydajnością, które powodowały długi czas ładowania i powolne działanie API. Głównymi celami były poprawa wydajności systemu i zapewnienie płynności działania. Oprócz usprawnień wydajnościowych, klient potrzebował bieżącego rozwoju systemu, aby sprostać ewoluującym potrzebom biznesowym. Kluczowym aspektem rozwoju była migracja systemu do architektury single-tenant w celu poprawy bezpieczeństwa danych i poprawy ogólnej wydajności. Ponadto klient chciał całkowitego przeprojektowania aplikacji frontendowej, aby zmodernizować interfejs użytkownika i poprawić użyteczność.
Dostarczone Usługi
Audyt Kodu: Przeprowadziliśmy szczegółowy audyt istniejącego kodu, aby zidentyfikować wąskie gardła i problemy wydajnościowe. Nasza szczegółowa analiza dostarczyła praktycznych wskazówek do poprawy jakości kodu i ogólnej wydajności systemu.
Aktualizacje Wydajności: Nasz zespół rozwiązał liczne problemy z frontendem, które powodowały wolne ładowanie, wprowadził cachowanie backendu, zrewidował indeksy bazy danych oraz refaktoryzował kod w celu poprawy wydajności. Te aktualizacje znacząco poprawiły responsywność systemu i jakość doświadczeń użytkowników.
Przeprojektowanie frontendu: Zbudowaliśmy nowe funkcje i przeprojektowaliśmy frontend, dając Qompanie nowoczesny interfejs, który nadąża za biznesem.
Rozwój backendu: Bieżący rozwój backendu, w tym nowe funkcje, jak system płatności i zarządzanie użytkownikami.
Migracja Architektury: Sukcesywnie przenieśliśmy całą aplikację do architektury single-tenant. Ta zmiana maksymalizowała bezpieczeństwo danych i personalizację, jednocześnie poprawiając wydajność systemu.
Zakres Prac
Przeprowadzono kompleksowy audyt kodu klienta w celu zidentyfikowania problemów wydajnościowych i przestarzałych technologii
Zaprojektowano i rozwinięto nowy interfejs użytkownika dla aplikacji frontendowej.
Zaimplementowano nowy UI, zapewniając nowoczesne i przyjazne dla użytkownika doświadczenie.
Zaktualizowano stos technologiczny dla całej platformy, w tym wersje Java, Spring i React.
Wprowadzono poprawki wydajnościowe we frontendzie w celu zmniejszenia czasu ładowania.
Refaktoryzacja i optymalizacja kodu backendowego w celu uzyskania znaczących popraw wydajności.
Dostarczono bieżące aktualizacje i wprowadzono nowe funkcje zgodnie z potrzebami klienta, takie jak system płatności i zarządzanie użytkownikami.
Migracja architektury backendu do architektury single-tenant w celu poprawy bezpieczeństwa i wydajności
Technologie
Java: Java była używana do rozwoju backendu ze względu na swoją skalowalność i szeroki zakres bibliotek oraz frameworków. Zapewniła niezbędną stabilność i wydajność do obsługi transakcji o dużej pojemności oraz skomplikowanej logiki biznesowej.
Spring: Framework Spring był wykorzystywany do budowy usług backendowych. Jego kompleksowe wsparcie infrastruktury dla aplikacji Java, w tym wstrzykiwanie zależności, programowanie aspektowe i zarządzanie transakcjami, ułatwiło stworzenie utrzymywalnej i skalowalnej architektury mikroserwisów.
Kubernetes: Orkiestracja kontenerów i architektura single-tenant. Zajął się zarządzaniem zasobami i skalowaniem usług Qompany, wdrażając i skalując komponenty w zależności od zapotrzebowania.
React: Framework frontendu, użyty do interaktywnych interfejsów do płynnego przeglądania raportów i pracy z nimi.
PostgreSQL: PostgreSQL został wybrany jako główna baza danych ze względu na swoją niezawodność, zaawansowane funkcje oraz wsparcie dla złożonych zapytań. Zapewnił solidne rozwiązania do przechowywania danych, gwarantując ich integralność i efektywne przetwarzanie transakcji dla platformy.
Współpraca
Rozpoczęliśmy współpracę od kompleksowego audytu kodu, a podczas serii warsztatów z klientem, przedstawiliśmy wyniki jako funkcjonalne działania. Po uzyskaniu zatwierdzenia, poświęciliśmy następne 1,5 miesiąca na refaktoryzację kodu, analizę zapytań do bazy danych oraz redukcję czasu ładowania. Klient był bardzo zadowolony z poprawek i poprosił o dalsze zaangażowanie w bieżące usprawnienia systemu oraz rozwój nowych funkcji. Aby zarządzać rozszerzonym zakresem prac, podzieliliśmy nasz zespół na dwie wyspecjalizowane grupy. Zespół zajmujący się frontendem, ściśle współpracując z projektantem, skoncentrował się na przekształceniu interfejsu użytkownika platformy. Tymczasem zespół zajmujący się backendem skoncentrował się na migracji systemu do architektury single-tenant oraz rozwijaniu dodatkowych funkcjonalności, takich jak nowy system płatności i zarządzania użytkownikami. Takie podejście zapewniło efektywne i zarządzanie projektem. Podczas całego procesu rozwoju utrzymywaliśmy bliską współpracę między naszym zespołem a zespołem klienta, co umożliwiło ciągłą wymianę opinii, dostosowywanie i zgodność z ewoluującymi wymaganiami projektu.
common.checkClutchWork