How krishna-mittall/makemytrip works
MakeMyTour is a travel-booking application with a Next.js frontend and Spring Boot/MongoDB backend. Users search flights and hotels, inspect prices and availability, select seats or rooms, and book; additional workflows cover cancellations/refunds, reviews, flight tracking, and personalized recommendations. The README documents the frontend/backend feature pairings and SSE updates. Source excerpts are partial, so internal connections not shown in excerpts or explicitly documented are omitted rather than inferred.
Main entry points: BookingService.java Booking service · PricingService.java Dynamic pricing · index.tsx Flight booking · BookingController.java Booking API
Components 24
Travel frontend
- Travel pages
makemytour/src/pages/index.tsx - Flight booking
makemytour/src/pages/book-flight/[id]/index.tsx - Hotel booking
makemytour/src/pages/book-hotel/[id]/index.tsx - Seat selection
makemytour/src/components/booking/SeatMap.tsx - Room selection
makemytour/src/components/booking/RoomPicker.tsx - Price insights
makemytour/src/components/booking/PriceInsight.tsx - Cancellation interface
makemytour/src/components/cancellation/CancelDialog.tsx - Review interface
makemytour/src/components/reviews/ReviewSection.tsx - Flight status page
makemytour/src/pages/flight-status/index.tsx - Recommendation cards
makemytour/src/components/recommendations/Recommendations.tsx
Booking services
- Booking API
src/main/java/com/makemytrip/makemytrip/controllers/BookingController.java - Booking service
src/main/java/com/makemytrip/makemytrip/services/BookingService.java - Seat service
src/main/java/com/makemytrip/makemytrip/services/SeatService.java - Room service
src/main/java/com/makemytrip/makemytrip/services/RoomService.java - Flight and hotel data
src/main/java/com/makemytrip/makemytrip/models/Flight.java
Travel features
- Dynamic pricing
src/main/java/com/makemytrip/makemytrip/services/PricingService.java - Cancellation and refunds
src/main/java/com/makemytrip/makemytrip/services/CancellationService.java - Reviews and ratings
src/main/java/com/makemytrip/makemytrip/services/ReviewService.java - Flight tracking
src/main/java/com/makemytrip/makemytrip/services/FlightStatusService.java - Recommendations
src/main/java/com/makemytrip/makemytrip/services/RecommendationService.java
Shared platform
- Live event hub
src/main/java/com/makemytrip/makemytrip/services/EventHub.java - Live update hook
makemytour/src/hooks/useEvents.ts
Other components
- Traveler
- MongoDB
Connections 18
- Traveler → Travel pages: searches
- Traveler → Flight booking: books flight
- Traveler → Hotel booking: books hotel
- Flight booking → Booking API: submits booking
- Booking API → Booking service: handles booking
- Booking service → Seat service: allocates seats
- Seat selection → Seat service: selects seats
- Room selection → Room service: selects rooms
- Price insights → Dynamic pricing: shows pricing
- Cancellation interface → Cancellation and refunds: requests cancellation
- Review interface → Reviews and ratings: submits reviews
- Flight status page → Flight tracking: tracks flights
- Recommendation cards → Recommendations: shows suggestions
- Live event hub → Live update hook: pushes updates
- Booking service → MongoDB: persists bookings
- Dynamic pricing → Flight and hotel data: enriches prices
src/main/java/com/makemytrip/makemytrip/services/PricingService.java - Recommendations → Dynamic pricing: enriches candidates
src/main/java/com/makemytrip/makemytrip/services/RecommendationService.java - Reviews and ratings → MongoDB: stores reviews