Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vladimirlogachov/MoviesPot
Movie navigator
https://github.com/vladimirlogachov/MoviesPot
android compose compose-multiplatform kotlin kotlin-coroutines kotlin-multiplatform material material3
Last synced: about 2 months ago
JSON representation
Movie navigator
- Host: GitHub
- URL: https://github.com/vladimirlogachov/MoviesPot
- Owner: vladimirlogachov
- Created: 2022-08-24T09:38:39.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-30T19:24:41.000Z (about 2 months ago)
- Last Synced: 2024-04-30T20:36:26.511Z (about 2 months ago)
- Topics: android, compose, compose-multiplatform, kotlin, kotlin-coroutines, kotlin-multiplatform, material, material3
- Language: Kotlin
- Homepage:
- Size: 35.7 MB
- Stars: 57
- Watchers: 3
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Lists
- awesome-list - vladimirlogachov/MoviesPot - Movie Explorer: Kotlin and Compose multiplatform project for discovering movies with ease. Features Jetpack Navigation, Paging library integration, adaptive icons and a Material3-based UI that supports dynamic theme. (Kotlin)
README
# Movies Pot [![Validation](https://github.com/vladimirlogachov/MoviesPot/actions/workflows/validation.yml/badge.svg?branch=master)](https://github.com/vladimirlogachov/MoviesPot/actions/workflows/validation.yml)
Browse through large database of movies to find one you'd like to get info about.
## Demo
![App Journey](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/app_journey.gif?raw=true)
## Screenshots
#### App icon
| Default | Themed (light) | Themed (dark) |
| :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------- |
| ![Default App Icon](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/default_app_icon.jpg?raw=true) | ![Themed App Icon (light)](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/dynamic_app_icon_light.jpg?raw=true) | ![Themed App Icon (dark)](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/dynamic_app_icon_dark.jpg?raw=true) |#### App Theme
| Default (light) | Default (dark) |
| :------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| ![Themed App Icon (light)](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/default_app_theme_light.jpg?raw=true) | ![Themed App Icon (dark)](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/default_app_theme_dark.jpg?raw=true) || Dynamic (light) | Dynamic (dark) |
| :------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| ![Themed App Icon (light)](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/dynamic_app_theme_light.jpg?raw=true) | ![Themed App Icon (dark)](https://github.com/vladimirlogachov/MoviesPot/blob/master/media/dynamic_app_theme_dark.jpg?raw=true) |## Features
- UI implemented using [Jetpack Compose](https://developer.android.com/jetpack/compose)
and [Material 3](https://m3.material.io/) design guidelines
- Supports [Dynamic Colors](https://m3.material.io/styles/color/dynamic-color/overview) schema
- Adaptive launcher [Themed Icon](https://developer.android.com/develop/ui/views/launch/icon_design_adaptive) (for Android 13+)
- Navigation based on [Compose Destinations](https://composedestinations.rafaelcosta.xyz/) library,
thanks to its author [Rafael Costa](https://github.com/raamcosta)
- Uses [TMDB](https://www.themoviedb.org) open API
- Infinite lists (pagination), using [Jetpack Paging](https://developer.android.com/topic/libraries/architecture/paging/v3-overview)
- Data flow implemented using [Kotlin Coroutines Flow](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/)## Tools
- [Kotlin for Android](https://kotlinlang.org/docs/android-overview.html)
- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines)
- [Jetpack Compose](https://developer.android.com/jetpack/compose)
- [Jetpack Paging](https://developer.android.com/topic/libraries/architecture/paging/v3-overview) for Compose
- [Accompaninst](https://google.github.io/accompanist/)
- [Compose Destinations](https://composedestinations.rafaelcosta.xyz/)
- [Retrofit](https://square.github.io/retrofit/)
- [OkHttp](https://square.github.io/okhttp/)
- [Coil](https://coil-kt.github.io/coil/)
- [Koin](https://insert-koin.io/)
- [JUnit](https://junit.org/junit4/)
- [Mockk](https://mockk.io/)
- [Truth](https://truth.dev/)
- [Turbine](https://github.com/google/turbine)
- [Detekt](https://detekt.dev/)