Skip to content

michaelbel/movies

en ru




Movies

workflow-status last-commit

Movies - easy way to discover popular movies. This is a simple TMDb client.

The goal of this project is to implement an app that provides a consistent user experience on Android Phones, Android Tablets, Android Auto, Android Wear, Android TV, iOS, Desktop (MacOS, Windows, Linux) and Web. Used Material3, Compose, Kotlin and Multiplatform.

The app is currently in development. Android app is already available.

Screenshots

Android

Android Image 1 Android Image 2 Android Image 3 Android Image 4 Android Image 7 Android Image 8 Android Image 9 Android Image 10 Android Image 5 Android Image 6

iOS

iOS Image 1 iOS Image 2 iOS Image 3 iOS Image 4 iOS Image 5 iOS Image 6

macOS

macOS Image 1 macOS Image 2 macOS Image 3 macOS Image 4

Windows

Windows Image 1 Windows Image 2 Windows Image 3 Windows Image 4

Requirements

Take a look at local.properties and fill it with your own TMDB API key like this:

TMDB_API_KEY=your_own_tmdb_api_key

The app is still usable without an API key. In this case functionality will be limited.

Build

Choose a run configuration for an appropriate target in Android Studio and run it.

  • Clone this repository using latest version of Android Studio

  • Run the app on your Device or Emulator

    • For Android, run androidApp configuration.
    • For iOS, run iosApp configuration.
    • For Desktop, run desktopApp configuration.
  • Android Flavors

    • Android with Google Mobile Services:
      ./gradlew :androidApp:installGmsDebug
    • Android with Huawei Mobile Services:
      ./gradlew :androidApp:installHmsDebug
    • Android Free and Open Source Software:
      ./gradlew :androidApp:installFossDebug
  • Desktop Run

      ./gradlew :desktopApp:run

Download

Technologies

Git Kotlin Ktor Multiplatform Compose Material3 Gradle Android Room Firebase Coil Clean Dependabot Github Codebeat Tmdb InAppReview InAppUpdate

Modules

graph TD;
    main-impl-->androidApp
    main-impl-->iosComposeApp
    main-impl-->desktopApp

    account-->main-impl
    auth-->main-impl
    details-->main-impl
    feed-->main-impl
    gallery-->main-impl
    search-->main-impl
    settings-->main-impl
    debug-->main-impl

    account-impl-->account
    auth-impl-->auth
    details-impl-->details
    feed-impl-->feed
    gallery-impl-->gallery
    search-impl-->search
    settings-impl-->settings
    debug-impl-->debug

    core-->account-impl
    core-->auth-impl
    core-->details-impl
    core-->feed-impl
    core-->gallery-impl
    core-->search-impl
    core-->settings-impl
    core-->debug-impl

    ui-->core
    common-->core
    interactor-->core
    notifications-->core
    work-->core
    widget-->core
    platform-services-->core

    analytics-->interactor
    repository-->interactor

    network-->repository
    persistence-->repository
Loading

Roadmap

Movies App Roadmap

Contributing

All contributions are welcome!

⭐ Join stargazers
↗️ Submit your PR

Issues

If you find any problems or would like to suggest a feature, please feel free to file an issue.

Contacts

Star History

Star History Chart

License

Apache License 2.0
Copyright 2017 Michael Bely

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.