< CASE STUDY >

Aplikacja do obsługi ruchu turystycznego

Aplikacja do obsługi ruchu turystycznego
240 tys.Użytkowników
260 tys.Rezerwacji
6 tys.Produktów
370 tys.Zleceń

Klient

Mr. Shuttle, touroperator branży turystycznej, specjalizuje się w profesjonalnych usługach transportowych dla turystów oraz podróżujących służbowo, oferując między innymi transfery lotniskowe, transfery międzymiastowe, a także wycieczki jednodniowe.

React

Biblioteka JavaScript stworzona przez Facebooka, służąca do budowania interfejsów użytkownika, zwłaszcza dla aplikacji jednostronicowych (SPA).

TypeScript

Rozszerzenie języka JavaScript, dodające statyczne typowanie. Ułatwia pisanie i utrzymanie kodu, a także zwiększa jego czytelność.

React Query

Biblioteka do zarządzania stanem aplikacji, zaprojektowana z myślą o aplikacjach korzystających z REST API.

Spring Boot

Framework do tworzenia aplikacji w języku Java. Zapewnia szereg gotowych rozwiązań, ułatwiających tworzenie aplikacji webowych.

PostgreSQL

Open-source'owa relacyjna baza danych. Jest jedną z najpopularniejszych baz danych na świecie. Zapewnia wysoką wydajność, skalowalność i niezawodność.

JPA

Standard Java, służący do mapowania obiektowo-relacyjnego. Umożliwia tworzenie obiektów, które są automatycznie mapowane na rekordy w bazie danych.

Wyzwanie

Firma obsługująca wycieczki turystyczne, zatrudniająca kilkudziesięciu pracowników i obsługująca tysiące klientów rocznie, zdecydowała się stworzyć nowy system do obsługi swoich procesów biznesowych. Zakres potrzeb rozciągał się od zarządzania rezerwacjami przychodzącymi z zewnętrznych systemów, poprzez dystrybucję zadań potrzebnych do realizacji usługi, po finalne rozliczenia z pracownikami i podwykonawcami. Pracownicy do tej pory wykonywali część pracy ręcznie, co było nie tylko czasochłonne, ale i podatne na błędy.

Dotychczasowy system pracy zespołu był połączeniem użycia kilku zewnętrznych programów oraz starego dedykowanego rozwiązania opartego na przestarzałych technologiach, które obarczone było dużym długiem technicznym, uniemożliwiającym efektywne dodawanie nowych funkcjonalności. Dotychczasowe wyzwania obejmowały:

Przestarzała technologia

Istniejący system był oparty na technologiach, które nie były aktualizowane od lat. Ta przestarzała infrastruktura wprowadzała znaczne ograniczenia funkcjonalne oraz problemy z wydajnością oraz bezpieczeństwem danych.

Duży dług techniczny

System obciążony był dużym długiem technicznym, skutkującym częstymi awariami i trudnościami w implementacji nowych funkcjonalności, co znacząco hamowało rozwój firmy. Skutkiem była powolna migracja do tymczasowych rozwiązań typu Excel.

Brak skalowalności

Stary system nie był przystosowany do efektywnej obsługi rosnącej liczby użytkowników, co stanowiło barierę dla dynamicznie rozwijającej się działalności klienta.

Ograniczona dostępność

Dostęp do systemu był możliwy tylko z określonych rodzajów urządzeń, co stanowiło poważne ograniczenie, zwłaszcza dla pracowników potrzebujących dostępu do systemu w podróży lub w domu.

Trudność w integracji

System nie posiadał możliwości łatwej integracji z innymi systemami i aplikacjami, co było kluczowe ze względu na potrzebę współpracy z zewnętrznymi partnerami oraz integracji z nowoczesnymi narzędziami wspierającymi turystykę.

Klient podjął decyzję o stworzeniu nowego dedykowanego systemu, wykorzystującego możliwości aktualnych technologii. W wymaganiach znalazły się między innymi: możliwość pracy online z dowolnego miejsca na świecie, skalowalność pod względem liczby użytkowników oraz możliwość łatwego rozwoju w przyszłości. Aplikacja powinna również umożliwiać integrację z aplikacjami firm trzecich poprzez interfejs API.

Jednym z najważniejszych wyzwań było przeprowadzenie bezpiecznej migracji danych ze starego systemu do nowego oraz zapewnienie okresu przejściowego, w którym obie aplikacje będą funkcjonować równolegle, synchronizując dane między sobą.

Dodatkowym elementem projektu był iteracyjny rozwój obszaru UX/UI aplikacji, bazując na materiałach dostarczonych przez klienta w formie dokumentacji oraz wstępnych makiet. Iteracyjne podejście pozwoliło na stopniowe adaptowanie systemu tak, aby odpowiadał nowo identyfikowanym potrzebom użytkowników i możliwościom techinicznym.

Rozwiązanie

Rozwiązanie zostało oparte o architekturę klient-serwer. Aplikacja kliencka została napisana w technologii React, a serwerowa w Kotlinie z wykorzystaniem Spring Boot. Aplikacja backendowa została zintegrowana z bazą danych PostgreSQL. Rozwiązanie zostało oparte o architekturę heksagonalną, co pozwoliło na konsekwentne oddzielenie warstwy biznesowej od szczegółów implementacyjnych.

Do komunikacji między klientem a serwerem wykorzystano REST API. Wyraźny podział na część backend i frontend umożliwia pracę zespołom niezależnie od siebie oraz pozostawia możliwość wymiany jednej z części systemu bez konieczności ingerencji w drugą lub dodanie kolejnego komponentu w przyszłości np. aplikacji mobilnej.

Aplikacja została zaprojektowana z myślą o łatwym rozwoju w przyszłości, dzięki zastosowaniu modularnej architektury obiektowej (object-oriented programming), wstrzykiwania zależności (dependency injection) oraz testów jednostkowych.

Dzięki przemyślanej budowie bazy danych, cyklicznym migratorom oraz współpracy z zespołem deweloperskim utrzymującym stare rozwiązanie firmy możliwe było przeprowadzenie bezpiecznego przejścia ze starego systemu na nowy, bez konieczności wstrzymywania żadnych procesów biznesowych klienta.

Aplikacja została wdrożona na platformie AWS, co zapewniło skalowalność i niezawodność. Dane klientów zostały zabezpieczone z wykorzystaniem protokołu HTTPS. Dzięki wdrożeniu systemu CI/CD udało się zautomatyzować proces wdrażania nowych wersji systemu, co znacząco przyspieszyło iteracje rozwojowe. Wdrożenie na AWS w połączeniu z zaletami aplikacji webowych umożliwiło łatwy dostęp do systemu z dowolnego miejsca na świecie.

W aplikacji zostały zaimplementowane integracje m. in. z:

  • GYG (Get Your Guide) - platforma oferująca wycieczki turystyczne
  • Viator - platforma oferująca wycieczki turystyczne
  • Booking - wiodąca platforma oferująca rezerwacje noclegów
  • Comarch Optima - system księgowy oraz CRM
  • NBP Web API - serwis udostępniający historię kursów walut

Różne kategorie użytkowników (pracownicy, dyspozytorzy, klienci, sprzedawcy) mają dostosowany dostęp do funkcjonalności aplikacji, co pozwala na efektywne zarządzanie dostępem do danych. Poszczególne grupy użytkowników mają dostęp do dedykowanych funkcjonalności, takich jak widok mobilny dla kierowców, czy widok dla dyspozytorów.

W Blues Brackets zajmujemy się rozwiązywaniem prawdziwych problemów za pomocą najnowszych technologii.

Porozmawiajmy

<mail>hello@bluesbrackets.com
<phone>+48 535 462 678

Spotkajmy się

Kraków, PolandWrocław, PolandWarszawa, Poland

Kontakt

Blues Brackets sp. z o. o.NIP 8842824071REGON 527681035

Agile Software Development PolskaUsługi tworzenia oprogramowania metodą AgileUsługi Tworzenia Chatbotów AIAnimowane Strony Internetowe | Profesjonalne UsługiEksperci w Embedded Android i BluetoothAplikacje webowe vs desktopowe | bluesBracketsAplikacje webowe czy mobilne? Fullstack & UX/UIEkspercka firma tworząca aplikacje iOS w PolsceTworzenie oprogramowania medycznegoAplikacje mobilne dla biznesu | bluesBracketsPolski Software House | UI/UX, Fullstack, Mobile, IoTAutomatyczne testy regresji i kompleksowy developmentDedykowane oprogramowanie na zamówienieBody leasing React Native i embeddedRozwój aplikacji cross-platform (wieloplatformowych)Nowoczesny software house: Dyrektor IT jako usługa (CTO as a Service), DevOps, UX/UIDevOps jako Usługa | Doradztwo AWS CloudPolski Software House: Agile & UI/UXTworzenie oprogramowania zgodnego z EAAEdge Computer Vision i Embedded | bluesBracketsSkalowalne aplikacje desktopowe i embedded – bluesBracketsFirma konsultingowa DevOps | bluesBracketsRozwiązania AI szyte na miarę dla biznesuMigracje Data Center i IT – Bezpieczne UsługiKonsulting migracji do chmury – bluesBracketsTworzenie aplikacji Flutter | bluesBracketsUsługi Rozwoju Aplikacji FlutterOutsourcing IT i AI dla branży medycznejUsługi tworzenia aplikacji hybrydowychIntegracje systemów i wdrożenia ChatGPTBezpieczne testy systemowe i integracjaUsługi integracji systemów ITOprogramowanie IoT i Smart City | bluesBracketsUsługi inżynierii oprogramowania embedded | bluesBracketsTworzenie oprogramowania IoT dla przemysłuIoT MQTT Dashboardy i rozwiązania embeddedIIoT i Przemysł 4.0 – oprogramowanie na miaręPolski Software House | Rozwiązania IoT i EmbeddedTworzenie produktów IoT | Embedded & Fullstack Software HouseRozwój IoT i Wearable | bluesBracketsOprogramowanie IoT dla handlu, wearables, nieruchomościPlatforma zarządzania IoT i dedykowane rozwiązaniaUsługi backend i JavaScript | bluesBracketsKonsultacje Machine Learning i Rozwój Oprogramowania | UI/UX, Fullstack, Mobile, EmbeddedKoszty wdrożenia i rozwoju sklepu onlineEksperckie rozwiązania embedded i mikrokontrolerówEkspercka migracja oprogramowania | bluesBracketsMikroserwisy czy Monolit: Ekspercka ArchitekturaModernizacja aplikacji legacy dla firmUsługi rozwoju MVP | Firma tworząca MVP dla startupówDedykowane MVP i oprogramowanie szyte na miaręTworzenie MVP oprogramowania | Wdrażanie MVP i POCEksperci IoT i Embedded | bluesBracketsNB-IoT, systemy wbudowane i zwinne ITIT Nearshoring i rozwój oprogramowania PolskaUsługi Next.js i WordPressDedykowane CMS i oprogramowanie na miaręTworzenie dedykowanych aplikacji webowych | bluesBracketsAplikacje webowe & AI szyte na miaręSystemy Zarządzania i Oprogramowanie AINode.js, React i Next.js Polska – bluesBracketsFirma Node.js – zaufane usługi i rozwójRozliczenie ryczałtowe czy T&M – co wybrać?Business Intelligence dla firm | bluesBracketsTworzenie oprogramowania dla branży turystycznejTworzenie oprogramowania dla nieruchomościProfesjonalne prototypowanie oprogramowaniaDedykowane rozwiązania IT dla firm i startupówOutsourcing inżynierii oprogramowania PolskaOutsourcing Python – Polska firma offshoreFirma outsourcingowa IT — PolskaPolska firma outsourcingu ITEksperci embedded i bare metal | bluesBracketsZaufana firma offshore software development w PolsceEkspercka firma projektowa sprzętu | Własna elektronikaUsługi Proof of Concept i Proof of PrincipleProof of Concept a Prototyp – Agile SoftwareTworzenie aplikacji webowych ReactJSRozszerzanie zespołów IT dla startupów i firmKompleksowe rozwiązania IT | Software House PolskaJęzyki i usługi tworzenia aplikacji mobilnychTworzenie aplikacji mobilnych na Androida i iOSUsługi Rozwoju Aplikacji ReactRozwój produktów IoT i dedykowane oprogramowanieOprogramowanie Embedded i IoT | bluesBracketsAgencja wdrożeń LLM | bluesBracketsTworzenie progresywnych aplikacji webowych | bluesBrackets PolskaEksperckie usługi hardware | bluesBracketsUsługi rozwoju systemów wbudowanychRozwiązania embedded z RTOSRozwój oprogramowania SaaS: chmura zgodna z RODOSkalowanie aplikacji dla startupów — rozwiązania skalowalneOprogramowanie SLA & usługi zarządzane PolskaFirmy programistyczne | Rozwiązania na miaręSoftware House Polska | Tworzenie Aplikacji i Systemów WbudowanychExpert Software Migration Services | bluesBracketsSpecjalistyczne usługi inżynierii oprogramowaniaRozwój aplikacji dla sportu i ochrony zdrowiaStaff Augmentation | Rozszerzenie zespołu ITModernizacja systemów IT i dedykowane oprogramowanieRozwiązania IT dla magazynowania energii i IoTUsługi testowania jakości | bluesBracketsTesty i integracja systemów IT end-to-endTworzenie aplikacji PWA | iOS i AndroidTworzenie PWA na iOS – Aplikacje mobilneUczenie maszynowe w analizie predykcyjnejRozwiązania ML dla łańcucha dostawDedykowane usługi IT i outsourcing w PolsceRozwiązania AI Chatbot dla FirmUsługi inżynierii danych i wizualizacjiDedykowane usługi IT na żądanie | bluesBracketsRozwój aplikacji chmurowych | Polska firma ITUsługi rozwoju IoT | Internet rzeczy IoTUsługi rozwoju oprogramowania | bluesBracketsUsługi tworzenia oprogramowania na zamówienie — bluesBracketsZdalne wsparcie IT i utrzymanie aplikacjiUtrzymanie oprogramowania i modernizacja | bluesBracketsProfesjonalne usługi UX/UI designStaff augmentation czy usługi zarządzane?Warsztaty Product Discovery dla startupów i firmUsługi chmury i transformacji cyfrowejUsługi tworzenia aplikacji webowych od bluesBracketsEksperci white label dla aplikacji i IoTDedykowane systemy do zarządzania projektamiLiderzy Java w Polsce – zatrudnij ekspertówZatrudnij dedykowany zespół IT w PolsceZatrudnij dedykowany zespół IT w PolsceDedykowane zespoły programistyczne w Europie