Skip to content

michaelbel/movies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 5, 2025
c56b084 · Feb 5, 2025
Jan 10, 2025
Oct 28, 2023
Jan 23, 2025
Jan 23, 2025
Sep 3, 2024
Sep 3, 2024
Dec 17, 2024
Jan 8, 2025
Jan 10, 2025
Feb 5, 2025
Feb 5, 2025
Dec 2, 2024
Dec 26, 2024
Dec 15, 2024
Dec 2, 2024
Sep 3, 2024
Jan 10, 2025
Oct 27, 2023
Feb 5, 2025
Oct 29, 2022
Dec 26, 2017
Oct 27, 2023
Jan 23, 2025
Jan 23, 2025
Oct 27, 2023
Dec 25, 2024

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


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

Loading
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

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.