BookMyShow/MovieTicketBooking - Low Level Design | Coding Interview Series | The Code Mate
Low-Level Design Case Study: BookMyShow/Fandango
BookMyShow is an online ticketing service for cinemas, theaters, and sports. BookMyShow app helps users book movie tickets, concert tickets, sports tickets, and get access to events calendar, showtimes, movie reviews, and promotional offers, etc.
In this design round, We started from the requirement gathering and end up with designing the class diagram for the same, Also explored how can we write a sudo code from that. Below is the outline of the session/
1. Understanding of Problem Statement
2. Requirement Gathering.
3. Identifying the Actors and Creating a Usecase diagram
4. Understand complex execution flows with an Activity diagram
5. List down entities and the relationship between them to form a class diagram
6. Go through the class diagram
The Session will give you a brief insight into how to approach a Low-Level design for a given problem statement.
Please find the Sudo code repo and class diagram link.
💡 Sudo Code Link : github.com/naval41/Low-Level-...
🗺 Class Diagram Link : github.com/naval41/Low-Level-...
🎬 Low-Level Design Playlist: • Low Level Design | The...
🔥 DONT CLICK THIS: bit.ly/2BEDWYG
👍 Let's Connect on Facebook: bit.ly/31KPcgI
🔗 Share within your network: • BookMyShow/MovieTicket...
📲 Connect on Telegram: t.me/joinchat/Kc_ZkBsijqXJDWr...
#lld #llddesign #systemdesign #design #interviews
Пікірлер: 68
This playlist deserves more views. Thanks a lot.
Thanks sir for such a great explanaion. Please keep posting more videos on LLD and HLD as well as system design . Thanks a lot for your effort.
finally found someone who is sane enough to teach this subject
Just completed the LLD playlist. Very nicely done. Thanks a lot!
@thecodemate7048
2 жыл бұрын
You're very welcome!
Hi @TheCodeMate, Thank you for the insightful video on system design. However, I wanted to point out that BookMyShow primarily functions as an aggregator. Therefore, the actual seat availability and booking processes are likely managed by third parties or partners, such as Inox, who handle the ticket reservations. Could you consider creating a video explaining how such aggregators communicate with multiplexes or chains of multiplexes, how they display showtimes and seat availability in real-time, and how they facilitate real-time ticket bookings?
Recently i have started looking to learn system design and here i am !! . Glad i reach to this video that gives a detailed information about LLD. This video probably gives me some starting ground but if you can suggest what next could be really helpful . Thanks for this video .
Designing with Apis is always give lot more understanding and realistic approaches to freshers.
Missed your content for a long time dude ! Keep them coming !
@thecodemate7048
3 жыл бұрын
I am glad that the code mate has family member like you. I am working on more sessions.
very nice design brother! good content, keep it up. Such attention to detail and all cases.
thankyou so much, buddy. I watched each video of this course and it was so detailed and practiccal. thankyou so much.
Thank you so muchh! Was looking for days for low level design resources!
@thecodemate7048
3 жыл бұрын
Glad I could help!
Thanks for this thoughtful discussion. Had a question: Shouldn't be search API a part of Customer and FDO?
Informative Playlist, Thanks Nevneet!
Great video! How does db come into the picture? For eg, do we need to load up the data of 'cinemaHall' class from db ?
Never found in KZread before in depth of system design, thanks a lot bro, it is very informative, you rock
@thecodemate7048
Жыл бұрын
Glad to know that you liked it.
Very informative! It would be great if you could do a hands-on Java code walk down to follow this up, telling how these things are implemented in an industry standard way. Since most of the target audience is relatively new to these things, learning industry-level best practices would be very useful. Thanks again for the fantastic video. Keep it up! :)
@thecodemate7048
3 жыл бұрын
Great suggestion! Let me think through that.
@dhruvpahwa7602
3 жыл бұрын
@@thecodemate7048 Request you to please consider the above suggestion as it will really help the audience to build their dream projects
I have seen many videos on LLD but your's is best which is having class diagram in explanation. I am looking for more videos on LLD from your end so that we can get our concepts more clear. Sir please please please make more videos and add to the playlist.
This is one of the best videos of LLD. Just superb.
@thecodemate7048
Жыл бұрын
Thanks a lot.
Awesome Video. Please make videos on: 1: Amazon Locker 2: Online Chess 3: Design a Vending Machine 4: Parking Lot System 5: Car Rental Application like Zoomcar
@thecodemate7048
3 жыл бұрын
Thanks for the idea! Some of the definitions i am already working on.
Great video. Thanks. Can you please do more case studies?
This playlist is a gold mine
@thecodemate7048
Жыл бұрын
Thanks buddy!
Good content with perfect explanation.Thank you so much.
@thecodemate7048
3 жыл бұрын
Glad it was helpful!
Nice Video, but have few doubts 1. what is the relation between show and booking ,how it will know which show it has booked 2. how movie is associated with show?
32:09 If I am required to give the schema of the SQL tables of these classes, will I create a table for each of these classes and then connect their foreign keys as indicated by composition in the diag?
Good video, could you also post a video on examples like Netflix , Amazon
which notebook you are using to write on pen tab?
How do you handle multiple users booking the same ticket say the last one remaining without impacting scalability
Good explanation. Great job to cover all the details.
@thecodemate7048
Жыл бұрын
Thanks Mehul.
One quick question @thecodemate - database diagram is based on relational. how to choose directly relational instead of NoSQL?
@thecodemate7048
3 жыл бұрын
Hi Parth, Its a class diagram and not the database diagram. Adding to that selection of Database is highlevel design topic.
Complete and nice explanation.
@thecodemate7048
3 жыл бұрын
Glad it was helpful!
Nice video
Good Job Brother, I really liked you content. Just one suggestion, if in interviews, http rest api's are asked, then can you add them in further videos as well ? and Keep it up, thanks for such a good content.
@thecodemate7048
3 жыл бұрын
Thanks Vaibhav, let me see if your request can fit into current sessions.
Thanks 🤩
Bro can u create Notification alert for Movie ticket booking in Bookmyshow For particular movie date and theatre Sounds good right
In the use case diagram, the external system(actor) is a web service that is being called to push the notifications out to the users. Is it so?
@thecodemate7048
Жыл бұрын
It may be service or it may be some job processing which takes chunk of data and process and send the notifications.
This is excellent
@thecodemate7048
3 жыл бұрын
Thanks Gurtej Singh.
Nice
Great video very informative
@thecodemate7048
2 жыл бұрын
Glad that you like it
Its great Sir
@thecodemate7048
3 жыл бұрын
Glad to know that.
Sir please upload more videos and case studies, and also write code for classes which you have given in GitHub in live session atleast for 1 case study, thanks.
@thecodemate7048
Жыл бұрын
Will upload soon
Please make on parking lot problem also
@thecodemate7048
3 жыл бұрын
There is great material present for the parking lot, creating a more video on that will not add more value to the topic. Will try something else.
gedru kasta ede sir Scotland ge
Is it possible to give this many details in an interview?
@thecodemate7048
Жыл бұрын
Nope, I have detailed to explain in depth. Normally focus during interview is on class diagram and indepth implementation for one of feature.
25:00 that's not how single responsibility works
@devendarreddy9628
11 ай бұрын
yup, i feel makeBooking, getBooking, cancelBooking should sit in Booking entity
This is too much design for any interview
@thecodemate7048
3 жыл бұрын
For interview you are more focused on the class diagram and writing a sudo code. You might not need to explain whole design but its good to have this to come up with right entities.