Skip to content

Repository files navigation

Android Basic Project

Android Basic Project (case: Movie App) built with simple Clean Architecture that connects to TMDB API (themoviedb.org)

Libraries

Package Structure

Globally the project has the following top level packages:

  • core : Contains models, repositories and all the related data accessing and manipulating objects.
  • di : Dependency module (App Level) provided by Koin
  • presentation : Contains Views (Activity, Fragment), Adapter, ViewModel.
  • utils : Contains helper extension.

New Feature Guidance

  • If there’s new feature with new remote or local data source, create feature package inside presentation package.
  • Define new implementation of new Api inside ApiService and RemoteDataSource if any.
  • If there's new local data, create new Entity and Dao classes and then define new implementation inside LocalDataSource.
  • If there's new Repository, define singleton/factory object inside core/di/CoreModule.
  • Create Unit Test inside src/test and instrumented or UI test inside src/androidTest.

Tech debt

  • Modularization
  • Implement UseCase when the project is more complex
  • Better UI TestCase, especially for testing navigation

References

About

Android Basic Project (case: Movie App) with Clean Architecture

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages