Skip to content

A Movie and TV shows tracking app illustrating Android development best practices with Jetpack Compose

License

Notifications You must be signed in to change notification settings

moallemi/Film-Time

Repository files navigation

Film Time 📺🎬 (Under Development)

A modern, feature-rich Movie & TV Show tracking application showcasing Android development best practices using Jetpack Compose and Kotlin.

Home Movies Detail Trakt
Home Movies Detail Trakt

Features 🌟

  • 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!

Tech Stack 🛠

  • 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..
  • Hilt - For dependency injection.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Room - For caching most used data

And more!

Architecture 🏛

This app follows the MVVM architectural pattern.

Getting Started 🚀

  1. Clone the repository:
   git clone https://github.com/moallemi/Film-Time.git
  1. Open the project in Android Studio.
  2. Sync the Gradle files and run the app!

Development setup

First off, you require the latest Android Studio Flamingo (or newer) to be able to build the app.

Code style

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.

API keys

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 ~/.gradle/gradle.properties file:

# 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.

Contributions 🙌

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License 📝

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

A Movie and TV shows tracking app illustrating Android development best practices with Jetpack Compose

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project