Low Level System Design: MakeMyTrip Booking Management System with Arun Goel

preview_player
Показать описание
One of the most popular questions asked in interviews is "Design a booking management system".

We will be talking about how bookings are made, how notifications are sent and how vendors are informed about the booking.

Here are some similar questions:

2. Design IRCTC
3. Design BookMyShow
4. Design Skyscanner
5. Design GoIbibo

00:00 Intro
02:55 How to get started with LLD
15:00 Low level design of MakeMyTrip
15:51 Use case diagram
26:34 Class Diagram
1:00:19 QnA
1:12:46 Coding Objects and Classes
1:45:00 Design questions
1:55:00 InterviewReady Coupon - HELLOWORLD
Рекомендации по теме
Комментарии
Автор

If possible please keep the quality of video clearer.

GeniuslyTensai
Автор

Thanks Arun and Gaurav for this video. Arun explained his approach very precisely!

akshattuknait
Автор

Shouldn't Booking be a seperate class in itself? Will help us handle Booking related use cases in a cleaner way.

shikharshiromani
Автор

As per my understanding, we should not put the behavior in model classes. There should be separate controller and service classes to accommodate business logic. Is this correct? because what I have seen people doing in LLD is that they implement behavior also in model classes.

paragkanodia
Автор

Arun looks like an Indian Chess Grand Master !!

narendrayadav
Автор

Thank you Arun for sharing the concepts so clearly. Waiting for the next session 🤞

onlineshikshak
Автор

Seriously???? Customer having a fixTicket() function?? and you call this LLD??

amitpaliwal
Автор

I see a lot of people confuse external actor behavior as class methods just by copying use case diagram 1-1. In this context, the customer is an external actor that interacts with the system for cancelling or reserving the ticket.
Restricting to within the system, the customer class should not have a fix or cancel methods, instead these should go in a service/helper classes.

madhurbatra
Автор

Can we get code Link? may be github link of code.

jokhakararpan
Автор

Customer
1.See flights for given day for source and destination
2. cuaromer should be able to reserve flight
3. customer which searts are booked
4. customer should cancel the seat.

Admin
1 admin can add flight
2. admin can remove the flight

System
1. retrive flights
2. fix seats
3. cancel booking

seats. -> regular, premium

flights : list<flight>
fetchFlights(src, destination, date): list<Flight>
fixSeat(Aircraft, seat):bool
addFlight(Flight): bool
cancelFlight(Flight) : bool

NamanJain-djte
Автор

Singleton constructor should be private so that other classes can't use the public constructor to make objects.

subham.biswas
Автор

Gaurav roasting Arun for " I call it as use case diagram"

setiyakitchen
Автор

Booking object with list of seats, source, destination, personName and other details can be passed to fixSeat method.

canadacoupleconnection
Автор

This is ok for someone fairly new to coding, but such code in a real prod deployed application would become unmaintainable and expensive to extend pretty fast.
1. The customer having an instance of the system implies if the system changes, the customer needs to be updated.
2. Customer can be made generic to book an entity which can simply be a BookableEntity. Flight and Hotels are not bookable entities but Seats and Rooms are. I think the problem clearly stated to handle all types of bookings
3. Better yet, The responsibility to book a bookable entity can be delegated to a BookingManager that takes in a BookableEntity and a Customer who is doing the booking. All bookable entities are responsibile for the actual booking

ronakshah
Автор

Hi can you please make more videos for Mobile apps, system design for mobile apps

mohsinkhan
Автор

10:59 hi Gaurav, can you please post a link to this question in description?

marcusaureliusfanboy
Автор

Hi Gaurav & Arun, Thank you so much for this video. Just one question, in LLD interview do we need to follow TDD approach or need to write any test cases ? Please let me know. Thank you.

jyotisingh
Автор

Gaurav interrupting after every 5 seconds is irritating

devshot
Автор

great session, can you please post the code somewhere and share link

dgurgaon
Автор

Very well explained LLD. Thank you Arun for demonstrating the design in such an effortless manner. Keep it up!👏

aditigupta