A modern, feature-rich Movie & TV Show tracking application showcasing Android development best practices using Jetpack Compose and Kotlin.
- Browse popular, top-rated, and upcoming movies & TV shows.
- Search for your favorite movies & shows.
- Track movies & TV shows you've watched or want to watch.
- User Profiles to manage watchlists and favorites.
- Dark Mode for night time browsing.
- ... and much more!
- Kotlin - First class and official programming language for Android development.
- Jetpack Compose - Android’s modern toolkit for building native UI.
- Coroutines - For asynchronous and more..
- Koin - For dependency injection.
- Retrofit - A type-safe HTTP client for Android and Java.
And more!
This app follows the MVVM architectural pattern.
- Clone the repository:
git clone https://github.com/moallemi/Film-Time.git
- Open the project in Android Studio.
- Sync the Gradle files and run the app!
First off, you require the latest Android Studio Flamingo (or newer) to be able to build the app.
This project uses ktlint, provided via the spotless gradle plugin, and the bundled project IntelliJ codestyle.
If you find that one of your pull reviews does not pass the CI server check due to a code style conflict, you can
easily fix it by running: ./gradlew spotlessApply
.
You need to supply API / client keys for the various services the app uses:
You can find information about how to gain access here.
Add this to your system environment variables:
# Get this from TMDb
FILM_TIME_TMDB_API_KEY=<insert>
# Get these from Trakt
FILM_TIME_TRAKT_CLIENT_ID=<insert>
FILM_TIME_TRAKT_CLIENT_SECRET=<insert>
Do not forget to restart Android Studio to apply changes to your environment.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE.md file for details.