How satyam6203/airlink works
AirLink is an airline reservation platform organized as a React client and Spring Boot microservices. The principal traveler workflow is flight search, seat selection and pending booking, payment, then event-driven confirmation or cancellation and notification. Separate operational capabilities manage airline, airport, flight and schedule inventory, pricing, and ancillary products; authentication and gateway routing support the APIs. The README describes Search, Notification, Redis, and Saga behavior that is not represented in the supplied source excerpts, so those relationships are documented rather than verified in code.
Main entry points: ApiGatewayApplication.java API gateway · BookingServiceImpl.java Booking service · src React frontend · PaymentServiceImpl.java Payment service
Components 21
Client experience
- React frontend
airLink-frontend/src - Booking review
airLink-frontend/src/pages/traveler/BookingReview/BookingReview.jsx
Gateway and identity
- API gateway
Microservices/cloud/api-gateway/src/main/java/com/AirLine/ApiGatewayApplication.java - Authentication
Microservices/services/user-service/src/main/java/com/airlink/user_service/Service/AuthService.java - Service registry
Microservices/cloud/service-registry/src/main/java/com/AirLink/service_registry/ServiceRegistryApplication.java
Flight inventory
- Flight search
Microservices/services - Flight operations
Microservices/services/flight-ops-service/src/main/java/com/airlink/flight_ops_service/Model/Flight.java - Airline management
Microservices/services/airline-core-service/src/main/java/com/airlink/airline_core_service/Model/Airline.java - Airport and city
Microservices/services/location-service/src/main/java/com/airline/Model/Airport.java
Booking and commerce
- Fare and baggage
Microservices/services/pricing-service/src/main/java/com/airlink/pricing_service/Model/Fare.java - Booking service
Microservices/services/booking-service/src/main/java/com/AirLink/booking_service/Service/Impl/BookingServiceImpl.java - Seat inventory
Microservices/services/seat-service/src/main/java/com/arilink/seat_service/Service/FlightInstanceService.java - Ancillary products
Microservices/services/ancillary-service/src/main/java/com/airline/ancillary_service/Controller/InsuranceCoverageController.java - Payment service
Microservices/services/payment-service/src/main/java/com/AirLink/payment_service/Service/Impl/PaymentServiceImpl.java
Shared platform
- Kafka events
- Notifications
Microservices/services - Search cache
Microservices/services - Shared contracts
Microservices/common-lib/src/main/java - Service databases
Other components
- Traveler
- Payment gateway
Connections 28
- Traveler → React frontend: uses
README.md - React frontend → API gateway: sends requests
README.md - API gateway → Authentication: routes credentials
README.md - Authentication → Traveler: issues JWT
README.md - API gateway → Flight search: routes search
README.md - Flight search → Search cache: queries cache
README.md - React frontend → Booking review: opens review
airLink-frontend/src/App.jsx - Booking review → Booking service: creates booking
airLink-frontend/src/pages/traveler/BookingReview/BookingReview.jsx - Booking service → Seat inventory: reserves seat
- Booking service → Payment service: requests payment
README.md - Payment service → Payment gateway: processes charge
README.md - Payment service → Kafka events: publishes outcome
README.md - Kafka events → Booking service: delivers payment event
README.md - Booking service → Kafka events: publishes booking event
README.md - Kafka events → Notifications: delivers booking event
README.md - Notifications → Traveler: sends confirmation
README.md - API gateway → Airline management: routes admin APIs
README.md - API gateway → Airport and city: routes admin APIs
README.md - API gateway → Flight operations: routes flight APIs
README.md - Flight operations → Kafka events: publishes inventory changes
- Kafka events → Flight search: updates index
- API gateway → Fare and baggage: routes fare APIs
- API gateway → Ancillary products: routes coverage APIs
- React frontend → Service registry: discovers services
- Authentication → Service databases: stores identity data
- Booking service → Service databases: stores bookings
- Payment service → Service databases: stores payments
- Booking service → Shared contracts: uses contracts