moviessimo
A sample android app that uses TMDB to show movie list and details. Mainly build to experiment with various libraries/frameworks/technologies.
Project specifications
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
Tech stack
Libraries used in the app:
- Google + JetBrains
- Dependency injection
- Network + Image
- Tests
- Gradle
- Static analysis tools
- Continuous integration
Building the app
Get the source code
git clone https://github.com/atabekm/moviessimo.git
cd moviessimo
Add your TMDB API key to local.properties file
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>
Compile the app
To build the app, just use the following gradle command:
./gradlew assembleDebug
Running tests
Unit tests
To run unit tests, execute the following gradle command:
./gradlew test
UI tests
To run UI tests, execute the following gradle command:
./gradlew connectedAndroidTest