iOS System Design
How would you go about designing a flight booking app?
iOS Engineer
TikTok
Meta
Wayfair
DocuSign
Shopee
Transferwise
Answers
Anonymous
6 months ago
I'm going to assume that a flight booking app would have these user stories
- user filters through certain information to get the flight they want
- user clicks on the flight towards and return flights.
- user enters personal information as well as payment
- user then receives email confirmation on what they booked.
Then I'm also assuming that designers have designs ready to go.
I would first design the data model of the app, what models it needs, Flights, Destinations, Dates, and connect them in whatever way needed so that the domain layer is efficient and universal between different platforms.
Then I would start designing the UseCases on what we would need to fetch and post on the front end. This would then lead to planning out the endpoints needed to implement for the front end to consume, as well as the request body and response body.
At this point, assuming we don't have any design systems, i would implement the front end page and slowly integrate the endpoints, domain layer and data layer on the front end with the view layer. Iteratate as we go along, and update any needed changes or edge cases that we might've missed for the domain layer, and update the endpoints as needed.
for the payment section, we would probably need to do a spike/research on which payment app software we should utilize and how to implement on the front end, before deciding on which to implement.
Interview question asked to iOS Engineers interviewing at Meta, Strava, DocuSign and others: How would you go about designing a flight booking app?.