A sample android app that uses TMDB to show movie list and details. Mainly build to experiment with various libraries/frameworks/technologies.
Project features:
- 100% Kotlin
- Android Jetpack libraries (ViewModel, Lifecycle, Navigation)
- Jetpack Compose (for now in experiment/jetpack-compose branch)
- Clean architecture (wiki)
- Multi-modular approach (wiki)
- Single activity (with Navigation component to navigate between fragments)
- MVI presentation pattern (AKA unidirectional data flow)
- Coroutines
- Dependency injection
- Unit and instrumentation (UI) tests
Libraries used in the app:
- Google + JetBrains
- Dependency injection
- Network + Image
- Tests
- Gradle
- Static analysis tools
- Continuous integration
git clone https://github.com/atabekm/moviessimo.git
cd moviessimo
The app uses TMDB to get movie lists and information, so you need to get your API key. Afterwards, append your API key to the bottom of local.properties, it should look something like:
api_key=<YOUR_API_KEY>
To build the app, just use the following gradle command:
./gradlew assembleDebug
To run unit tests, execute the following gradle command:
./gradlew test
To run UI tests, execute the following gradle command:
./gradlew connectedAndroidTest