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.

Get interactive AI-powered documentation for the repository on DeepWiki.

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 KMP Ktor Compose Material3 Gradle Android Room Firebase Coil Clean Dependabot Github Codebeat Tmdb InAppReview InAppUpdate

Modules

graph TD;
    main-->androidApp
    main-->iosAppCompose
    main-->desktopApp
    main-->webApp

    account-->main
    auth-->main
    details-->main
    feed-->main
    gallery-->main
    notify-->main
    settings-->main
    debug-->main
    feed-web-->main

    core-->account
    core-->auth
    core-->details
    core-->feed
    core-->gallery
    core-->notify
    core-->settings
    core-->debug
    core-->feed-web

    ui-->core
    ui-web-->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.