Opis projektu

Wielojęzyczna platforma sprzedaży wycieczek w Laravel – projekt NDA

Laravel / Livewire / PHP / JavaScript / MySQL / REST API / integracje płatności / integracje systemów rezerwacyjnych

Rozbudowana, działająca produkcyjnie platforma internetowa do prezentacji, sprzedaży i obsługi rezerwacji wycieczek. Aplikację stworzyłem od podstaw w oparciu o Laravel i Livewire, przygotowując zarówno część dostępną dla klientów, jak i własny panel administracyjny.

System obsługuje wiele wersji językowych i walut, a także rozbudowaną strukturę ofert. Poszczególne wycieczki mogą posiadać własne warianty, opcje, konfiguracje cenowe oraz zasady dostępności. Wymagało to zaprojektowania odpowiedniej struktury danych i logiki biznesowej pozwalającej obsługiwać różne modele sprzedaży w ramach jednej aplikacji.

Platforma oferuje również standardowe funkcje charakterystyczne dla systemów e-commerce. Użytkownicy mogą zakładać konta, logować się, odzyskiwać hasło, dodawać wycieczki do koszyka i przechodzić przez proces zamówienia oraz płatności. System posiada także wyszukiwarkę z filtrami, mechanizmy obsługi kont klientów oraz rozbudowane wiadomości transakcyjne wysyłane automatycznie na poszczególnych etapach rezerwacji.

Wycieczki mogą być zarządzane bezpośrednio w platformie lub opcjonalnie powiązane z ofertą znajdującą się w zewnętrznym systemie rezerwacyjnym. W drugim przypadku aplikacja komunikuje się z nim poprzez REST API, pobierając m.in. informacje o dostępności i kalendarzu rezerwacji. Dane z zewnętrznego systemu są następnie łączone z lokalną konfiguracją wycieczki, jej wariantami, cenami i pozostałymi ustawieniami przechowywanymi w aplikacji.

Zaimplementowałem również obsługę płatności internetowych. System zarządza statusem płatności i rezerwacji oraz obsługuje sytuacje wyjątkowe związane ze zmianą lub anulowaniem zamówienia. W określonych przypadkach, np. po anulowaniu wycieczki, aplikacja może również automatycznie inicjować zwrot środków do klienta.

Dużą częścią systemu jest obsługa wielojęzycznych treści. Platforma posiada mechanizmy przechowywania i zarządzania tłumaczeniami oraz integrację z zewnętrzną usługą tłumaczeniową. Pozwala to obsługiwać dużą liczbę treści w różnych wersjach językowych bez konieczności budowania osobnych stron czy aplikacji dla każdego rynku.

Panel administracyjny został wykonany w Livewire i pozwala zarządzać m.in. ofertą, wariantami, cenami, dostępnością, treściami oraz danymi związanymi z funkcjonowaniem platformy. W trakcie rozwoju projektu powstawały również dodatkowe mechanizmy administracyjne, eksporty danych oraz narzędzia wspierające codzienną obsługę systemu.

Projekt wymagał pracy zarówno nad architekturą aplikacji i bazą danych, jak i interfejsem użytkownika, logiką biznesową, integracjami API, płatnościami oraz diagnostyką problemów występujących w środowisku produkcyjnym. Ze względu na jego skalę jest to projekt rozwijany etapami i rozszerzany o kolejne funkcjonalności wraz z potrzebami biznesowymi.

Projekt komercyjny objęty NDA – ze względu na poufność nie prezentuję nazwy klienta, adresu aplikacji ani szczegółów interfejsu i wewnętrznych procesów biznesowych.