Cestovný ruch
CK DAKA – PWA s režimom Trip Mode
Webová PWA pre klientov CK DAKA – katalóg, rezervácia a „Trip Mode“ počas zájazdu
WebServer/API
O projekte
Rozsiahla Next.js PWA, ktorá pokrýva celú cestu klienta CK DAKA: katalóg zájazdov synchronizovaný z XML feedu, detail s termínmi a nástupnými miestami, rezervačný formulár a po odchode „Trip Mode“ so skupinovým chatom, oznamami sprievodcu, voucherom a praktickými nástrojmi na cestu. Obsahuje aj rozhranie pre sprievodcov, jednoduchý admin pre rezervácie a zákazníkov a vernostný program s odznakmi. Ide o samostatný projekt odlišný od Capacitor appky CK-DAKA-app; prihlásenie je zatiaľ len pripravené (demo režim podľa e-mailu).
Čo aplikácia vie
- Import ponuky z XML feedu CK DAKA streamovacím SAX parserom (zájazdy, termíny, kapacity, nástupné miesta s príplatkami, kategórie), ručne aj cez cron endpoint
- Katalóg s filtrami (destinácia, typ, doprava, cena, nástupné miesto), mapa destinácií v Leaflete, porovnanie zájazdov, obľúbené a kurátorské kolekcie
- Detail zájazdu s termínmi, zľavami, voľnou kapacitou, mapou sedadiel v autobuse, predpoveďou počasia a heuristickým vízovým/dokladovým checkerom
- Rezervácia s údajmi cestujúcich a nástupným miestom, odoslanie e-mailu do CK a potvrdenia klientovi cez Resend, export termínu do .ics
- Trip Mode (/trip/[termín]) podľa fázy zájazdu: voucher s QR, skupinový chat s reakciami, pripnutím a hlasovými správami, oznamy sprievodcu, SOS, program, mapa, ankety, fotky, spoločné výdavky, straty a nálezy
- Rozhranie sprievodcu (oznamy, itinerár, SOS hlásenia) a admin stránky pre rezervácie, zákazníkov, SOS a export
- Tabuľa odchodov v štýle letiska s automatickou obnovou a kalendár odchodov
- Vernostný program: body, úrovne Bronze–Platinum, odznaky, vernostný shop, odporúčací kód s QR, narodeninové bonusy
- PDF výstupy cez pdfkit: denník zájazdu, ročenka, certifikát, batožinové visačky s QR, brožúra
- Kalkulačky a nástroje: kurzy mien, storno poplatky, splátkový kalendár, porovnanie poistení, darčekový poukaz; offline asistent na princípe intent matchingu (bez LLM)
Technicky zaujímavé
- Streamovací import ~10 MB XML feedu (SAX) s detekciou zmien cez hash a synchronizáciou zájazdov, termínov a nástupných miest
- Inštalovateľná PWA so service workerom (Serwist), offline stránkou a web push notifikáciami
- Veľký rozsah na jednom kóde: 110 stránok, 127 API endpointov a 101 dátových modelov pokrývajúcich celý životný cyklus klienta
V pláne
- Nasadenie na Vercel s databázou PostgreSQL
- Napojenie AI asistenta na Claude API