How djalooo/flight-booking works
Skyfare is a flight-search and booking application with a Next.js frontend and a NestJS backend. The main journey is searching flights, choosing an itinerary, submitting passenger details, and receiving a confirmation; an admin view also manages bookings. The sampled code confirms the frontend API proxy and controller-to-service calls, but not the internals of the flight and booking services or their provider/database operations, so those links are left out.
Main entry points: bookings.controller.ts Booking endpoints · SearchCapsule.tsx Flight search · route.ts Booking proxy · book.tsx Booking form
Components 18
Traveler experience
- Flight search
Frontend/src/components/SearchCapsule.tsx - Flight results
Frontend/src/components/FlightCard.tsx - Booking form
Frontend/src/app/book/book.tsx - Confirmation
Frontend/src/app/thank-you/thanks.tsx - Booking admin
Frontend/src/app/Admin/dashboard.tsx
Frontend API
- Search proxy
Frontend/src/app/api/search/route.ts - Booking proxy
Frontend/src/app/api/bookings/route.ts - Booking lookup
Frontend/src/app/api/bookings/[id]/route.ts - Admin proxy
Frontend/src/app/api/admin/bookings/route.ts - Airport lookup
Frontend/src/app/api/airports/route.ts
Backend services
- Flight endpoints
Backend/src/flights/flights.controller.ts - Flight search
Backend/src/flights/flights.service.ts - Booking endpoints
Backend/src/booking/bookings.controller.ts - Booking operations
Backend/src/booking/bookings.service.ts
External data
- Airport dataset
Frontend/public/airports.ts - Duffel integration
Backend/src/flights/lib/duffel.ts - PostgreSQL
Other components
- Traveler
Connections 17
- Traveler → Flight search: searches
- Flight search → Search proxy: requests search
- Search proxy → Flight endpoints: forwards query
- Flight endpoints → Flight search: calls search
- Flight search → Flight results: returns flights
- Traveler → Booking form: selects itinerary
- Booking form → Booking proxy: submits booking
- Booking proxy → Booking endpoints: forwards booking
- Booking endpoints → Booking operations: calls operations
- Booking proxy → Confirmation: returns booking
- Traveler → Booking admin: manages bookings
- Booking admin → Admin proxy: requests changes
- Admin proxy → Booking endpoints: forwards requests
- Traveler → Booking lookup: looks up booking
- Booking lookup → Booking endpoints: forwards lookup
- Flight search → Airport lookup: looks up airports
- Airport lookup → Airport dataset: filters dataset