This app demonstrates the following views and techniques:
- Retrofit to make API calls to an HTTP web service.
- Jetpack Compose Jetpack Compose is a modern toolkit for building native Android UI.
- MVVM A software architectural pattern that promotes separation of concerns and enhances maintainability, testability, and reusability of code.
- Dagger-Hilt Creates and manages dependencies.
The app demonstrates MVVM architecture with a modern UI toolkit, Jetpack Compose. Seat rendering/mapping is retrieved from RESTFul APIs. The sitting arrangements follow the data model structure. Shows available, booked, and selected seats. Theatre seating arrangement updates dynamically from the API calls.
Change baseUrl in the file path (\app\src\main\java\com\example\bookmyshowapp\di) to test.
[ { "movie":"Past Lives", "theatre":"PVR: Directors cut", "address":"Koramangala, Bangalore", "time":"2022-08-15 10:00 AM", "seatLayout":[ [ "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED" ], [ "EMPTY_ROW", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null", "null" ], [ "null", "null", "null", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED", "BOOKED" ] ] } ]