Nowy standard. Twoje centrum tworzenia inteligentnego, szybkiego i zrównoważonego oprogramowania AI

Zobacz teraz
Logo Admyt

Aplikacja parkingowa B2C na web i urządzenia mobilne

Z powodzeniem zrefaktoryzowaliśmy aplikację webową legacy Admyt i zbudowaliśmy nową aplikację mobilną, zamieniając niestabilną platformę w wydajne rozwiązanie. Dzięki temu system parkingowy może sprawnie obsługiwać tysiące żądań i wchodzić na nowe rynki.

Mobilna aplikacja parkingowa Admyt

Firma i produkt

admyt to innowacyjny system parkingowy, który ma konkurować z tradycyjnymi rozwiązaniami opartymi na papierowych biletach.

Produkt pozwala użytkownikom uniknąć kolejek na parkingach przy lokalnych centrach handlowych w RPA i innych krajach, między innymi w The Zone w Johannesburgu, Centurion Mall w Pretorii i Blue Route Mall w Kapsztadzie.

Opinia klienta

admyt logo

Devon Beynon

COO w Admyt

Devon Beynon

Po prostu świetna współpraca

Jestem bardzo zadowolony ze współpracy z Monterail. Mieliśmy szczęście trafić na zespół, z którym od razu dobrze się współpracowało. Od ponad dwóch lat pracujemy z tym samym trzonem zespołu, a każda osoba zaangażowana w projekt bardzo szybko wdrażała się w pracę i miała duży wkład w nasz rozwój. Ogromną przyjemnością było obserwować, jak ten młody zespół łączy duże doświadczenie i wysoką jakość pracy z autentyczną radością z tego, co robi.

Zakres i najważniejsze informacje

15

CZŁONKÓW ZESPOŁU

2000

TESTÓW JEDNOSTKOWYCH

8

WDROŻEŃ MIESIĘCZNIE

15

CENTRÓW HANDLOWYCH

41k

UŻYTKOWNIKÓW

60k

samochodów

Wyzwanie

Zgłosili się do nas z dwuletnią aplikacją webową zbudowaną w Node.js i Reakcie, opartą na piętnastu serwerach.

Kod legacy opierał się na zbyt prostych założeniach, brakowało w nim porządnej architektury systemu i dokumentacji, a procesy testowe były słabo zorganizowane.

Projekt wymagał refaktoryzacji dużej części kodu legacy oraz zbudowania od podstaw wersji mobilnej.

Ze względu na charakter aplikacji, która obsługiwała setki żądań na minutę, nie było miejsca na błędy, bo w tym przypadku cofnięcie zmian w bazie danych nie wchodziło w grę.

Kluczowe wyzwania

1.
Brak odpowiedniej dokumentacji i niska stabilność aplikacji.
2.
Synchronizacja danych z 30 serwerów z główną aplikacją webową i optymalizacja wydajności serwerów.
3.
Obsługa żądań w czasie rzeczywistym w wielu strefach czasowych: w Polsce, USA i RPA.
1.
Brak odpowiedniej dokumentacji i niska stabilność aplikacji.
2.
Synchronizacja danych z 30 serwerów z główną aplikacją webową i optymalizacja wydajności serwerów.
3.
Obsługa żądań w czasie rzeczywistym w wielu strefach czasowych: w Polsce, USA i RPA.

Zrzut ekranu aplikacji Admyt

  • Mobilna aplikacja parkingowa Admyt
  • Aplikacja mobilna Admyt
  • Mobilna aplikacja Admyt

Proces

Gdy tylko uzyskaliśmy dostęp do różnych części systemu i bazy kodu, spotkaliśmy się na trzydniowych warsztatach discovery, żeby doprecyzować zakres projektu, zidentyfikować problemy i poddać weryfikacji pomysły biznesowe admyt.

Żeby usprawnić tworzenie oprogramowania i mieć pewność, że każdy element aplikacji działa poprawnie, napisaliśmy 2000 testów jednostkowych i wdrożyliśmy Cypress.io do automatyzacji testów, znacząco skracając czas potrzebny na testowanie funkcjonalności.

Dodaliśmy też Redis i BullJS po stronie backendu. Dzięki temu mogliśmy jednocześnie rozwijać nowe funkcje i refaktoryzować kod legacy w istniejących częściach aplikacji.

Na tym etapie skupialiśmy się przede wszystkim na:

  • Tworzeniu mobilnej wersji aplikacji w React Native

  • Integracji z zewnętrznymi platformami i podłączeniu dodatkowych bramek płatniczych (PayU)

  • Omawianiu dokumentacji, komunikacji na Slacku i codziennych wewnętrznych stand-upach

  • Przetwarzaniu danych w PostgreSQL na granicy możliwości

Głos zespołu

Monterail logo

Magdalena Poprawa

Tech Lead

Magdalena Poprawa

Godziny testów, refaktoryzacji i planowania się opłaciły

Przejęcie admyt było ogromnym wyzwaniem. Z jednej strony musieliśmy zmierzyć się z problemami z wydajnością oraz całą komunikacją server-to-server, którą trzeba było zoptymalizować i przepisać. Z drugiej strony mieliśmy już 30 tys. użytkowników, którzy korzystali z aplikacji niemal codziennie, więc nie mogliśmy po prostu zatrzymać jej działania i zacząć tworzenia oprogramowania od zera. Godziny testów, refaktoryzacji i planowania się opłaciły, mamy stabilną aplikację, którą łatwo testować, gotową obsłużyć jeszcze więcej nowych użytkowników i wejść na kolejne rynki.

Zrzuty ekranu aplikacji admyt

Efekty

Monterail wdrożył aplikację webową na rynek południowoafrykański w czerwcu 2018 roku.

Do tej pory zarejestrowało się w niej ponad 41 000 użytkowników, a platforma obsługuje obecnie około 60 000 samochodów.

Dzięki stabilnej wersji zbudowanej w Node.js i Reakcie aplikację łatwo utrzymywać i rozwijać o nowe funkcje. Nowym deweloperom znacznie łatwiej też szybko wdrożyć się w projekt.

Optymalizacja żądań między serwerami skróciła czas synchronizacji z 20-30 sekund do zaledwie 30 milisekund, dzięki czemu aplikację łatwo skalować. Zespół jednak nie zwalnia tempa i średnio wypuszcza około ośmiu wdrożeń miesięcznie.

Od początku naszej współpracy admyt rozszerzył działalność z centrów handlowych na retail, biura i nieruchomości mieszkaniowe. W Polsce firma zapewnia płynne parkowanie klientom Pasażu Grunwaldzkiego we Wrocławiu, Galerii Młociny w Warszawie i Galaxy w Szczecinie.

Platforma parkingowa admyt działa też w piętnastu topowych centrach handlowych w RPA i w kilku hotelach w Australii, a kolejne wdrożenia zaplanowano jeszcze na 2019 rok.

Aplikacja mobilna na polski rynek, zbudowana w React.js, jest dostępna na Androida i iOS.

O sukcesie tego projektu zdecydowały przede wszystkim:

  • Refaktoryzacja dużej części kodu legacy, ze szczególnym naciskiem na funkcje najważniejsze z biznesowego punktu widzenia.

  • Weryfikacja pomysłów i ścisła współpraca z klientem, połączone z wysoką skutecznością bardzo sprawnego zespołu.

  • Stworzenie dobrej dokumentacji i usprawnienie procesów testowych.

Grzegorz Hajdukiewicz | Chief Delivery Officer

Jestem tutaj, żeby zebrać twoje wymagania, odpowiedzieć na wszystkie pytania i jak najszybciej skierować twój pomysł do realizacji.

Grzegorz Hajdukiewicz | Chief Delivery Officer

Skontaktuj się