- Published on
The movie database application
- Authors
- Name
- Pruthvi Duvva
The movie DB
Requirements
- Search for a movie
- See details about movie
- My list / My favorites
- Reminders
Functinal requirements
- Search for a movie
- Details of movie
- Reminders
Non Functional requirements
- Fav list
- Now playing
- Popular movies/tv shows
- Persistance
Based on the requirements lets draw High level diagram.
Cache: Cache will act as SSOT (Single source of truth).
DI graph: Dependency Injection graph.
Navigator: Navigator module which handles navigation, backstack handling etc. SearchUseCase: Handles search movie feature. ReminderUseCase: Handles reminder to watch movie feature. DetailsUseCase: Handles Movie details. ExploreUserCase: Handles explore screen with popular and now playing movies.
Underlying architecture for application would be Clean architecture
Design mocks
Schema
{
id: String,
name: String,
image_url: String,
slug: String, // For more details about movie
rating:Int,
description:String,
genres: List<String>,
adult: Boolean,
language: String,
release_date: String
}