Loading repository data…
Loading repository data…
marty-suzuki / repository
I had began learning Android App development since Aug 2021. This is my first Android app project for practice development.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This is my first android practice project, using Flow, Suspend Function, AAC ViewModel, Dagger Hilt and so on.
root/
┣ app
┃ ┣ App.kt
┃ ┣ MainActivity.kt
┃ ┣ nav_graph.xml
┃ ┗ HiltInjectionModules
┣ UiComponent
┃ ┣ MovieDetailFragment.kt
┃ ┣ fragment_movie_detail.xml
┃ ┣ MovieSearchFragment.kt
┃ ┗ fragment_movie_search.xml
┣ ViewModel
┃ ┣ AnyViewModel.kt
┃ ┣ MovieDetailViewModel.kt
┃ ┗ MovieSearchViewModel.kt
┣ Router
┃ ┣ MovieDetailRouter.kt (interface)
┃ ┗ MovieSearchRouter.kt (interface)
┣ UiLogic
┃ ┣ main
┃ ┃ ┣ MovieDetailUiLogicImpl.kt
┃ ┃ ┗ MovieSearchUiLogicImpl.kt
┃ ┗ test
┃ ┣ MovieDetailUiLogicImplTest.kt
┃ ┗ MovieSearchUiLogicImplTest.kt
┣ UiLogicInterface
┃ ┣ UiLogic.kt (interface)
┃ ┣ UiLogicFactory.kt (interface)
┃ ┣ MovieDetailUiLogic.kt (interface)
┃ ┗ MovieSearchUiLogic.kt (interface)
┣ Repository
┃ ┣ main
┃ ┃ ┗ MovieRepositoryImpl.kt
┃ ┗ test
┃ ┗ MovieRepositoryImplTest.kt
┣ RepositoryInterface
┃ ┗ MovieRepository.kt (interface)
┣ RemoteDataSource
┃ ┗ TheMovieDatabaseService.kt
┗ RemoteDataSourceInterface
┗ TheMovieDatabaseService.kt (interface)

UI Layer Data Structure corresponds to View Composition, therefore be able to test view patterns via unit testing. (e.g. MovieDetailUiLogicImplTest.kt)
To run this application, The Movie Database API Key and Access Token are needed.
Set those required strings to app/gradle.properties like below.
TMDB_API_KEY=xxxx
TMDB_ACCESS_TOKEN=xxxx