Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moallemi/film-time
A Movie and TV shows tracking app illustrating Android development best practices with Jetpack Compose
https://github.com/moallemi/film-time
android android-app jetpack-compose kotlin kotlin-android
Last synced: about 11 hours ago
JSON representation
A Movie and TV shows tracking app illustrating Android development best practices with Jetpack Compose
- Host: GitHub
- URL: https://github.com/moallemi/film-time
- Owner: moallemi
- License: mit
- Created: 2023-04-26T23:06:53.000Z (over 1 year ago)
- Default Branch: dev
- Last Pushed: 2024-09-17T16:43:06.000Z (about 2 months ago)
- Last Synced: 2024-09-17T20:55:57.531Z (about 2 months ago)
- Topics: android, android-app, jetpack-compose, kotlin, kotlin-android
- Language: Kotlin
- Homepage:
- Size: 8.42 MB
- Stars: 85
- Watchers: 7
- Forks: 13
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 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](.github/assets/home.png) | ![Movies](.github/assets/movies.png) | ![Detail](.github/assets/detail.png) | ![Trakt](.github/assets/trakt.png) |## 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:
```shell
git clone https://github.com/moallemi/Film-Time.git
```
2. Open the project in **Android Studio**.
3. Sync the Gradle files and run the app!## Development setup
First off, you require the latest [Android Studio Flamingo](https://developer.android.com/studio/preview) (or newer) to be able to build the app.
### Code style
This project uses [ktlint](https://github.com/pinterest/ktlint), provided via
the [spotless](https://github.com/diffplug/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:- [TMDb](https://developers.themoviedb.org)
- [Trakt](https://trakt.tv/oauth/applications)You can find information about how to gain access [here](docs/API-Keys.md).
Add this to your `~/.gradle/gradle.properties` file:
```shell
# Get this from TMDb
FILM_TIME_TMDB_API_KEY=
# Get these from Trakt
FILM_TIME_TRAKT_CLIENT_ID=
FILM_TIME_TRAKT_CLIENT_SECRET=
```Do not forget to restart Android Studio to apply changes to your environment.
## Contributions π
Please read [CONTRIBUTING.md](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](LICENSE) file for details.