{"id":13494398,"url":"https://github.com/michaelbel/movies","last_synced_at":"2026-03-08T13:03:49.235Z","repository":{"id":27878930,"uuid":"115437864","full_name":"michaelbel/movies","owner":"michaelbel","description":"Discover movies app illustrating Kotlin Multiplatform development best practices","archived":false,"fork":false,"pushed_at":"2025-04-10T10:40:59.000Z","size":304939,"stargazers_count":300,"open_issues_count":10,"forks_count":39,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2025-04-12T12:54:16.400Z","etag":null,"topics":["android","android-app","android-application","cinema","compose","films","googleplay","kotlin","material-components","material-ui","material3","mobile","mobile-app","movie-collection","movie-database","movies","mvvm","tmdb","tmdb-api","tv"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=org.michaelbel.moviemade","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelbel.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"license.txt","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/codeowners","security":"security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["boosty.to/michaelbel"]}},"created_at":"2017-12-26T16:27:58.000Z","updated_at":"2025-04-11T03:07:44.000Z","dependencies_parsed_at":"2024-03-31T17:31:39.060Z","dependency_job_id":"7d322572-eef1-4be9-a030-64c5488a2721","html_url":"https://github.com/michaelbel/movies","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelbel%2Fmovies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelbel%2Fmovies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelbel%2Fmovies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelbel%2Fmovies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelbel","download_url":"https://codeload.github.com/michaelbel/movies/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254544146,"owners_count":22088807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","android-application","cinema","compose","films","googleplay","kotlin","material-components","material-ui","material3","mobile","mobile-app","movie-collection","movie-database","movies","mvvm","tmdb","tmdb-api","tv"],"created_at":"2024-07-31T19:01:24.668Z","updated_at":"2026-03-08T13:03:49.221Z","avatar_url":"https://github.com/michaelbel.png","language":"Kotlin","funding_links":["boosty.to/michaelbel"],"categories":["Kotlin","🎬 Media \u0026 Entertainment"],"sub_categories":["📑 Tracking Services"],"readme":"[\u003cimg align=\"left\" src=\".github/pics/play_store_app_icon_512x512_rounded.png\" width=\"150\" height=\"150\"\u003e]()\n\u003cdiv align=\"right\"\u003e\n    \u003ca href=\"https://github.com/michaelbel/movies/blob/develop/readme.md\"\u003e\u003cb\u003een\u003c/b\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/michaelbel/movies/blob/develop/readme.ru.md\"\u003eru\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\nMovies\n=\n\n[![](https://img.shields.io/badge/android-2F2F2F.svg?style=for-the-badge\u0026logo=android)](https://github.com/michaelbel/movies)\n[![](https://img.shields.io/badge/ios-2F2F2F.svg?style=for-the-badge\u0026logo=apple)](https://github.com/michaelbel/movies)\n[![](https://img.shields.io/badge/macOS-2F2F2F.svg?style=for-the-badge\u0026logo=macos)](https://github.com/michaelbel/movies)\n[![](https://img.shields.io/badge/Windows-2F2F2F.svg?style=for-the-badge\u0026logo=windows)](https://github.com/michaelbel/movies)\n[![](https://img.shields.io/badge/jvm_desktop-2F2F2F.svg?style=for-the-badge\u0026logo=pcgamingwiki)](https://github.com/michaelbel/movies)\n\u003c!--\n[![](https://img.shields.io/badge/Linux-000000.svg?style=for-the-badge\u0026logo=linux)](https://github.com/michaelbel/movies)\n[![](https://img.shields.io/badge/Web-000000.svg?style=for-the-badge\u0026logo=google-chrome)](https://github.com/michaelbel/movies)\n--\u003e\n\n[![workflow-status](https://img.shields.io/github/actions/workflow/status/michaelbel/movies/ci.yml?style=for-the-badge\u0026logo=github\u0026label=Check%20PR\u0026labelColor=3F464F)](https://github.com/michaelbel/movies/actions)\n[![last-commit](https://img.shields.io/github/last-commit/michaelbel/movies?style=for-the-badge\u0026logo=github\u0026labelColor=3F464F)](https://github.com/michaelbel/movies/commits)\n\nMovies - easy way to discover popular movies. This is a simple TMDb client.\n\nThe 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.\n\nThe app is currently in development. Android app is already available.\n\nGet interactive AI-powered documentation for the repository on [DeepWiki](https://deepwiki.com/michaelbel/movies).\n\n\n## Screenshots\n\n**Android**\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\".github/pics/android/android1.png\" alt=\"Android Image 1\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android2.png\" alt=\"Android Image 2\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android3.png\" alt=\"Android Image 3\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android4.png\" alt=\"Android Image 4\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android7.gif\" alt=\"Android Image 7\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android8.gif\" alt=\"Android Image 8\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android9.gif\" alt=\"Android Image 9\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android10.gif\" alt=\"Android Image 10\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/android/android5.png\" alt=\"Android Image 5\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/android/android6.png\" alt=\"Android Image 6\" width=\"49%\"\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n**iOS**\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\".github/pics/ios/ios1.png\" alt=\"iOS Image 1\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/ios/ios2.png\" alt=\"iOS Image 2\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/ios/ios3.png\" alt=\"iOS Image 3\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/ios/ios4.png\" alt=\"iOS Image 4\" width=\"24%\"\u003e\n    \u003cimg src=\".github/pics/ios/ios5.png\" alt=\"iOS Image 5\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/ios/ios6.png\" alt=\"iOS Image 6\" width=\"49%\"\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n**macOS**\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\".github/pics/macos/macos1.png\" alt=\"macOS Image 1\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/macos/macos2.png\" alt=\"macOS Image 2\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/macos/macos3.png\" alt=\"macOS Image 3\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/macos/macos4.png\" alt=\"macOS Image 4\" width=\"49%\"\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n**Windows**\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\".github/pics/windows/windows1.png\" alt=\"Windows Image 1\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/windows/windows2.png\" alt=\"Windows Image 2\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/windows/windows3.png\" alt=\"Windows Image 3\" width=\"49%\"\u003e\n    \u003cimg src=\".github/pics/windows/windows4.png\" alt=\"Windows Image 4\" width=\"49%\"\u003e\n\u003c/div\u003e\n\n\n## Requirements\nTake a look at \u003cb\u003e`local.properties`\u003c/b\u003e and fill it with [your own](https://developers.themoviedb.org/3/getting-started/introduction) \u003cb\u003eTMDB API key\u003c/b\u003e like this:\n```gradle\nTMDB_API_KEY=your_own_tmdb_api_key\n ```\nThe app is still usable without an API key. In this case functionality will be limited.\n\n\n## Build\nChoose a run configuration for an appropriate target in Android Studio and run it.\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cimg src=\".github/pics/run-configurations.png\" width=\"30%\"\u003e\n\n- Clone this repository using [latest version](https://d.android.com/studio) of Android Studio\n- Run the app on your Device or Emulator\n    - For Android, run `androidApp` configuration. \n    - For iOS, run `iosApp` configuration.\n    - For Desktop, run `desktopApp` configuration.\n\n- Android Flavors\n    - Android with Google Mobile Services:\n      ```gradle\n      ./gradlew :androidApp:installGmsDebug\n      ```\n    - Android with Huawei Mobile Services:\n      ```gradle\n      ./gradlew :androidApp:installHmsDebug\n      ```\n    - Android Free and Open Source Software:\n      ```gradle\n      ./gradlew :androidApp:installFossDebug\n      ```\n\n- Desktop Run\n    ```gradle\n      ./gradlew :desktopApp:run\n    ```\n\n\n## Download\n[![](https://PlayBadges.pavi2410.me/badge/downloads?id=org.michaelbel.moviemade)](https://play.google.com/store/apps/details?id=org.michaelbel.moviemade)\n[![](https://img.shields.io/github/downloads/michaelbel/movies/total?logo=github\u0026label=Downloads\u0026labelColor=212133\u0026color=34CC2C)](https://github.com/michaelbel/movies/releases)\n\n[\u003cimg src=\".github/pics/badges/badge-googleplay.svg\" alt=\"\" height=\"80\"\u003e](https://play.google.com/store/apps/details?id=org.michaelbel.moviemade)\n[\u003cimg src=\".github/pics/badges/badge-appgallery.svg\" alt=\"\" height=\"80\"\u003e](https://appgallery.cloud.huawei.com/ag/n/app/C109677247)\n[\u003cimg src=\".github/pics/badges/badge-github.svg\" alt=\"\" height=\"80\"\u003e](https://nightly.link/michaelbel/movies/workflows/ci/develop/artifact.zip)\n[\u003cimg src=\".github/pics/badges/badge-obtainium.svg\" alt=\"\" height=\"80\"\u003e](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/michaelbel/movies)\n[\u003cimg src=\".github/pics/badges/badge-openapk.svg\" alt=\"\" height=\"80\"\u003e](https://www.openapk.net/movies/org.michaelbel.movies/)\n[\u003cimg src=\".github/pics/badges/badge-android-freeware.svg\" alt=\"\" height=\"80\"\u003e](https://www.androidfreeware.net/download-movies-apk.html)\n\n\n## Technologies\n[![Git](https://img.shields.io/badge/GIT-E44C30?style=for-the-badge\u0026logo=git\u0026logoColor=white)](https://git-scm.com)\n[![Kotlin](https://img.shields.io/badge/kotlin-7f52ff.svg?style=for-the-badge\u0026logo=kotlin\u0026logoColor=white)](https://d.android.com/kotlin)\n[![KMP](https://img.shields.io/badge/KMP-7F52FF?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMzcuNjA0OFYwLjEzOTIxOUwzNy40NjU3IDM3LjYwNDhIMFpNMCA0Mi4zOTUzVjgwSDAuMDk1NDI4TDM3LjcwMDIgNDIuMzk1M0gwWk00My4zMTc3IDM2LjY4MjNMODAgMEg2LjYzNTQ3TDQzLjMxNzcgMzYuNjgyM1pNNDMuMzY1NSA0My41MDQ3TDYuODcwMTcgODBINzkuODYwN0w0My4zNjU1IDQzLjUwNDdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K\u0026logoColor=white)](https://www.jetbrains.com/kotlin-multiplatform)\n[![Ktor](https://img.shields.io/badge/Ktor-7f52ff?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4Ij4KICA8ZGVmcyBmaWxsPSIjN2Y1MmZmIj4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjI0Ljk0MSIgeDI9IjUyLjMwNiIgeTE9IjI0Ljk0MSIgeTI9IjUyLjMwNiIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSguMTA0KSBzY2FsZSgxLjIxOTA1KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGZpbGw9IiM3ZjUyZmYiPgogICAgICA8c3RvcCBvZmZzZXQ9Ii4yOTYiIHN0b3AtY29sb3I9IiNmZmZmZmYiIGZpbGw9IiM3ZjUyZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNjk0IiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBmaWxsPSIjN2Y1MmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgZmlsbD0iIzdmNTJmZiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjUzLjE1MSIgeDI9Ijc5LjAyMyIgeTE9IjUzLjE1MSIgeTI9Ijc5LjAyMyIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSguMTA0KSBzY2FsZSgxLjIxOTA1KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGZpbGw9IiM3ZjUyZmYiPgogICAgICA8c3RvcCBvZmZzZXQ9Ii4xMDgiIHN0b3AtY29sb3I9IiNmZmZmZmYiIGZpbGw9IiM3ZjUyZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuMTczIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBmaWxsPSIjN2Y1MmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjQ5MiIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgZmlsbD0iIzdmNTJmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii43MTYiIHN0b3AtY29sb3I9IiNmZmZmZmYiIGZpbGw9IiM3ZjUyZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuODIzIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBmaWxsPSIjN2Y1MmZmIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNODAuNDU3IDQ3LjU0MyA0Ny41NDMgMTQuNjI5IDE0LjYyOSA0Ny41NDNsMzIuOTE0IDMyLjkxNFptMCAwIi8+CiAgPHBhdGggZmlsbD0idXJsKCNiKSIgZD0ibTQ3LjU0MyA4MC40NTcgMzIuOTE0IDMyLjkxNCAzMi45MTQtMzIuOTE0LTMyLjkxNC0zMi45MTRabTAgMCIvPgogIDxwYXRoIGQ9Ik04MC40NTcgNDcuNTQzSDQ3LjU0M3YzMi45MTRoMzIuOTE0Wm0wIDAiIGZpbGw9IiM3ZjUyZmYiLz4KPC9zdmc+\u0026logoColor=white)](https://ktor.io)\n[![Compose](https://img.shields.io/badge/compose-blue.svg?style=for-the-badge\u0026logo=jetpackcompose\u0026logoColor=white)](https://d.android.com/jetpack/compose)\n[![Material3](https://img.shields.io/badge/Material3-004A76?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8dGl0bGU+bWF0ZXJpYWxfZGVzaWduPC90aXRsZT4KICA8cmVjdCB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiLz4KICA8cGF0aCBkPSJNMjEsMTJhOSw5LDAsMCwwLTItNS42MlYxNy42M0E4Ljc4LDguNzgsMCwwLDAsMjEsMTJtLTMuMzcsN0g2LjM4YTkuNSw5LjUsMCwwLDAsMi42NywxLjQxQTguOTEsOC45MSwwLDAsMCwxMiwyMSw4Ljg2LDguODYsMCwwLDAsMTUsMjAuNDEsOS43Miw5LjcyLDAsMCwwLDE3LjYzLDE5TTExLDE3LDcsOXY4aDRtNi04LTQsOGg0VjltLTUsNS41M0wxNS43NSw3SDguMjVMMTIsMTQuNTNNMTcuNjMsNUE4LjkxLDguOTEsMCwwLDAsNi4zOCw1SDE3LjYzTTUsMTcuNjNWNi4zOEE5LDksMCwwLDAsMywxMmE4Ljc4LDguNzgsMCwwLDAsMiw1LjYzTTIzLDEyYTEwLjU3LDEwLjU3LDAsMCwxLTMuMjIsNy43OEExMC41NywxMC41NywwLDAsMSwxMiwyM2ExMC41OSwxMC41OSwwLDAsMS03Ljc4LTMuMjJBMTAuNTcsMTAuNTcsMCwwLDEsMSwxMiwxMC41OSwxMC41OSwwLDAsMSw0LjIyLDQuMjIsMTAuNTksMTAuNTksMCwwLDEsMTIsMWExMC41NywxMC41NywwLDAsMSw3Ljc4LDMuMjJBMTAuNTksMTAuNTksMCwwLDEsMjMsMTJaIiBmaWxsPSIjZmZmZmZmIi8+Cjwvc3ZnPg==\u0026logoColor=white)](https://m3.material.io)\n[![Gradle](https://img.shields.io/badge/Gradle-09A1CD.svg?style=for-the-badge\u0026logo=Gradle\u0026logoColor=white)](https://d.android.com/studio/releases/gradle-plugin)\n[![Android](https://img.shields.io/badge/Android%20SDK-50AE55?style=for-the-badge\u0026logo=android\u0026logoColor=F6F6F6)](https://d.android.com)\n[![Room](https://img.shields.io/badge/Room_Multiplatform-50AE55?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyLDNDNy41OCwzIDQsNC43OSA0LDdDNCw5LjIxIDcuNTgsMTEgMTIsMTFDMTYuNDIsMTEgMjAsOS4yMSAyMCw3QzIwLDQuNzkgMTYuNDIsMyAxMiwzTTQsOVYxMkM0LDE0LjIxIDcuNTgsMTYgMTIsMTZDMTYuNDIsMTYgMjAsMTQuMjEgMjAsMTJWOUMyMCwxMS4yMSAxNi40MiwxMyAxMiwxM0M3LjU4LDEzIDQsMTEuMjEgNCw5TTQsMTRWMTdDNCwxOS4yMSA3LjU4LDIxIDEyLDIxQzE2LjQyLDIxIDIwLDE5LjIxIDIwLDE3VjE0QzIwLDE2LjIxIDE2LjQyLDE4IDEyLDE4QzcuNTgsMTggNCwxNi4yMSA0LDE0WiIgZmlsbD0iI2ZmZmZmZiIvPjwvc3ZnPg==\u0026logoColor=white)](https://d.android.com/kotlin/multiplatform/room)\n[![Firebase](https://img.shields.io/badge/Firebase-E5B82C?style=for-the-badge\u0026logo=Firebase\u0026logoColor=333333)](https://firebase.google.com)\n[![Coil](https://img.shields.io/badge/Coil-3B6BB4?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjAwcHgiIGhlaWdodD0iMjAwcHgiIHZpZXdCb3g9IjMzMi41IDIwMCAxNDAgMTQwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8Zz4KCQk8cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMzkyLjcyOCwzMDMuMzgybC0zMi4zODQtMjQuMjQxbC0zLjI0MywyLjQzMWMtNS41MjMsNC4xMzEtNS41MjMsMTAuODM3LDAsMTQuOTdsMzUuNjI3LDI2LjY3MiAgICBjNS41MjUsNC4xMzIsMTQuNDc4LDQuMTMyLDIwLjAwMiwwbDM1LjYyNy0yNi42NzJjNS41MjYtNC4xMzMsNS41MjYtMTAuODM5LDAtMTQuOTdsLTMuMjQ2LTIuNDMxbC0zMi4zODEsMjQuMjQxICAgIEM0MDcuMjA2LDMwNy41MTUsMzk4LjI1MywzMDcuNTE1LDM5Mi43MjgsMzAzLjM4MnoiLz4KCQk8cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNNDQ4LjM1NywyNjEuNzQybC0zLjI0Ni0yLjQzbC0zMi4zODEsMjQuMjM4Yy01LjUyNSw0LjEzMy0xNC40NzgsNC4xMzMtMjAuMDAyLDBsLTMyLjM4NC0yNC4yMzggICAgbC0zLjI0MywyLjQzYy01LjUyMyw0LjEzMS01LjUyMywxMC44MzUsMCwxNC45NzFsMy4yNDMsMi40MjhsMzIuMzg0LDI0LjI0MWM1LjUyNSw0LjEzMywxNC40NzgsNC4xMzMsMjAuMDAyLDBsMzIuMzgxLTI0LjI0MSAgICBsMy4yNDYtMi40MjhDNDUzLjg4NCwyNzIuNTc3LDQ1My44ODQsMjY1Ljg3Myw0NDguMzU3LDI2MS43NDJ6Ii8+CgkJPHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTQxMi43MywyODMuNTUxbDMyLjM4MS0yNC4yMzhsMy4yNDYtMi40MzJjNS41MjYtNC4xMzEsNS41MjYtMTAuODM3LDAtMTQuOTcxbC0yLjk4My0yLjIzMiAgICBsLTM3LjMzOCwyNy44NDNjLTIuOTMyLDIuMTk2LTcuNjg1LDIuMTk2LTEwLjYxNSwwbC0xOC45MTEtMTQuMTVjLTIuOTMxLTIuMTk1LTIuOTMxLTUuNzUyLDAtNy45NDhsMzcuOTEtMjcuNDE5bC0zLjY4OS0yLjc2MSAgICBjLTUuNTI1LTQuMTM2LTE0LjQ3OC00LjEzNi0yMC4wMDIsMGwtMzUuNjI3LDI2LjY2OGMtNS41MjMsNC4xMzMtNS41MjMsMTAuODQsMCwxNC45NzFsMy4yNDMsMi40MzJsMzIuMzg0LDI0LjIzOCAgICBDMzk4LjI1MywyODcuNjg0LDQwNy4yMDYsMjg3LjY4NCw0MTIuNzMsMjgzLjU1MXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4=\u0026logoColor=white)](https://github.com/coil-kt/coil)\n[![Clean](https://img.shields.io/badge/Clean%20Architecture-4169E1.svg?style=for-the-badge\u0026logo=ccleaner\u0026logoColor=white)](https://d.android.com/topic/architecture)\n[![Dependabot](https://img.shields.io/badge/Dependabot-0366D6?\u0026style=for-the-badge\u0026logo=dependabot\u0026logoColor=white)](https://github.com/dependabot)\n[![Github](https://img.shields.io/badge/Github%20Actions-3F464F?\u0026style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/michaelbel/movies/tree/develop/.github/workflows)\n[![Codebeat](https://img.shields.io/badge/Codebeat-26A9E1?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAwIiBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTU3LjY5NyA4OS41NjFsMjcuOTIgNTguMjM4IDUxLjA0NS0xMTYuMjQ0IDU2LjMwNSAxMzguOTgzIDE3Ljk0My00MC4zNzJIMjU2VjEyOEMyNTYgNTcuMzEgMTk4LjY5IDAgMTI4IDBTMCA1Ny4zMSAwIDEyOHYyLjE2NmgzNi45N0w1Ny42OTYgODkuNTZ6TTE5Mi41OCAyMDMuMTc2TDEzNS44MTEgOTMuNDI4bC01MC41MDMgOTAuODc3LTI4LjA3NS02NC43MzUtMTMuNjkgMjYuOTE1SDEuMzE1QzEwLjI4NiAyMDguNDM1IDYzLjU3NSAyNTYgMTI4IDI1NmM2NC40MjUgMCAxMTcuNzktNDcuNjQyIDEyNi42ODUtMTA5LjU5M2gtMzUuMjY3bC0yNi44MzggNTYuNzY5eiIgZmlsbD0iI2ZmZmZmZiIvPjwvc3ZnPg==\u0026logoColor=white)](https://codebeat.co/projects/github-com-michaelbel-movies-develop)\n[![Tmdb](https://img.shields.io/badge/TMDB_API-073731?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmZmZmYiIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8cGF0aCBkPSJNMjUuOTkgMjkuMTk4YzIuODA3IDAgNC43MDgtMS44OTYgNC43MDgtNC43MDh2LTE5Ljc4MWMwLTIuODA3LTEuOTAxLTQuNzA4LTQuNzA4LTQuNzA4aC0xOS45NzljLTIuODA3IDAtNC43MDggMS45MDEtNC43MDggNC43MDh2MjcuMjkybDIuNDExLTIuODAydi0yNC40OWMwLjAwNS0xLjI2NiAxLjAzMS0yLjI5MiAyLjI5Ny0yLjI5MmgxOS45NzRjMS4yNjYgMCAyLjI5MiAxLjAyNiAyLjI5MiAyLjI5MnYxOS43ODFjMCAxLjI2Ni0xLjAyNiAyLjI5Mi0yLjI5MiAyLjI5MmgtMTYuNzU1bC0yLjQxNyAyLjQxNy0wLjAxNi0wLjAxNnpNMTEuNzE0IDE1LjI4NmgtMi4yNnY3LjU5OWgyLjI2YzUuMDU3IDAgNS4wNTctNy41OTkgMC03LjU5OXpNMTEuNzE0IDIxLjM2NWgtMC43MzR2LTQuNTU3aDAuNzM0YzIuOTU4IDAgMi45NTggNC41NTcgMCA0LjU1N3pNMTEuMjc2IDEzLjg1NGgxLjUxNnYtNi4wODNoMS44OTF2LTEuNTA1aC01LjMwMnYxLjUwNWgxLjg5NnpNMTguNzUgOS41OTlsLTIuNjI1LTMuMzMzaC0wLjQ5djcuNzE0aDEuNTQydi00LjI0bDEuNTczIDIuMDQyIDEuNTc4LTIuMDQyLTAuMDEwIDQuMjRoMS41NDJ2LTcuNzE0aC0wLjQ3OXpNMjEuMzEzIDE5LjA4OWMwLjQ3NC0wLjMzMyAwLjY3Ny0wLjkyMiAwLjY5OC0xLjUgMC4wMzEtMS4zMzktMC44MDctMi4zMDctMi4xNTYtMi4zMDdoLTMuMDA1djcuNjA5aDMuMDA1YzEuMjQtMC4wMTAgMi4yNDUtMS4wMjEgMi4yNDUtMi4yNnYtMC4wMzZjMC0wLjYyLTAuMzA3LTEuMTcyLTAuNzgxLTEuNXpNMTguMzcgMTYuODAyaDEuMzU0YzAuNDMyIDAgMC42OTggMC4zMzkgMC42OTggMC43NjYgMC4wMzEgMC40MDYtMC4yODYgMC43Ni0wLjY5OCAwLjc2aC0xLjM1NHpNMTkuNzI0IDIxLjM3aC0xLjM1NHYtMS41MTZoMS4zN2MwLjQxMSAwIDAuNzQ1IDAuMzMzIDAuNzQ1IDAuNzQ1djAuMDE2YzAgMC40MTctMC4zMzMgMC43NTUtMC43NSAwLjc1NXoiIGZpbGw9IiNmZmZmZmYiLz4KPC9zdmc+\u0026logoColor=white)](https://developers.themoviedb.org/3/getting-started)\n[![InAppReview](https://img.shields.io/badge/IN--APP_REVIEW-34A853?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMjAuNVYzLjVDMywyLjkxIDMuMzQsMi4zOSAzLjg0LDIuMTVMMTMuNjksMTJMMy44NCwyMS44NUMzLjM0LDIxLjYgMywyMS4wOSAzLDIwLjVNMTYuODEsMTUuMTJMNi4wNSwyMS4zNEwxNC41NCwxMi44NUwxNi44MSwxNS4xMk0yMC4xNiwxMC44MUMyMC41LDExLjA4IDIwLjc1LDExLjUgMjAuNzUsMTJDMjAuNzUsMTIuNSAyMC41MywxMi45IDIwLjE4LDEzLjE4TDE3Ljg5LDE0LjVMMTUuMzksMTJMMTcuODksOS41TDIwLjE2LDEwLjgxTTYuMDUsMi42NkwxNi44MSw4Ljg4TDE0LjU0LDExLjE1TDYuMDUsMi42NloiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4=\u0026logoColor=white)](https://d.android.com/guide/playcore/in-app-review)\n[![InAppUpdate](https://img.shields.io/badge/IN--APP_UPDATE-34A853?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMjAuNVYzLjVDMywyLjkxIDMuMzQsMi4zOSAzLjg0LDIuMTVMMTMuNjksMTJMMy44NCwyMS44NUMzLjM0LDIxLjYgMywyMS4wOSAzLDIwLjVNMTYuODEsMTUuMTJMNi4wNSwyMS4zNEwxNC41NCwxMi44NUwxNi44MSwxNS4xMk0yMC4xNiwxMC44MUMyMC41LDExLjA4IDIwLjc1LDExLjUgMjAuNzUsMTJDMjAuNzUsMTIuNSAyMC41MywxMi45IDIwLjE4LDEzLjE4TDE3Ljg5LDE0LjVMMTUuMzksMTJMMTcuODksOS41TDIwLjE2LDEwLjgxTTYuMDUsMi42NkwxNi44MSw4Ljg4TDE0LjU0LDExLjE1TDYuMDUsMi42NloiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4=\u0026logoColor=white)](https://d.android.com/guide/playcore/in-app-updates)\n\n- [x] [Modularization](https://d.android.com/topic/modularization)\n- [x] [MVVM](https://d.android.com/topic/architecture)\n- [x] [KTS Gradle Files](https://d.android.com/studio/build/migrate-to-kts)\n- [x] [KSP](https://d.android.com/studio/build/migrate-to-ksp)\n- [x] [Gradle Version Catalog](https://d.android.com/build/migrate-to-catalogs)\n- [x] [Build Variants](https://d.android.com/build/build-variants)\n- [x] [Product Flavors](https://d.android.com/build/build-variants#product-flavors)\n- [x] [Using buildSrc Directory](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#sec:build_sources)\n- [x] MinSDK 26\n- [x] TargetSDK 36\n- [x] CompileSDK 36\n- [x] [Dark Theme](https://d.android.com/develop/ui/views/theming/darktheme)\n- [x] Amoled Theme\n- [x] SecureTextField\n- [x] [SwipeToDismiss](https://d.android.com/develop/ui/compose/touch-input/user-interactions/swipe-to-dismiss)\n- [x] [Material You Dynamic Colors](https://d.android.com/develop/ui/views/theming/dynamic-colors)\n- [x] [Material3 Expressive](https://m3.material.io/blog/building-with-m3-expressive)\n- [x] [Themed App Icon](https://d.android.com/develop/ui/views/launch/icon_design_adaptive)\n- [x] [Palette Colors API](https://d.android.com/develop/ui/views/graphics/palette-colors)\n- [x] [Accompanist](https://github.com/google/accompanist)\n- [x] [Compose PreviewParameterProvider](https://d.android.com/jetpack/compose/tooling#previewparameter)\n- [x] [Downloadable Fonts](https://d.android.com/develop/ui/views/text-and-emoji/downloadable-fonts)\n- [x] [KotlinX Coroutines](https://github.com/Kotlin/kotlinx.coroutines)\n- [x] [KotlinX Serialization](https://github.com/Kotlin/kotlinx.serialization)\n- [x] [Appcompat](https://d.android.com/jetpack/androidx/releases/appcompat)\n- [x] [ViewModel](https://d.android.com/topic/libraries/architecture/viewmodel)\n- [x] [Lifecycle](https://d.android.com/topic/libraries/architecture/lifecycle)\n- [x] [WorkManager](https://d.android.com/topic/libraries/architecture/workmanager)\n- [x] [DataStore](https://d.android.com/datastore)\n- [x] [Startup](https://d.android.com/jetpack/androidx/releases/startup)\n- [x] [Navigation3](https://d.android.com/guide/navigation/navigation-3)\n- [x] [Paging3](https://d.android.com/topic/libraries/architecture/paging/v3-overview)\n- [x] [Browser](https://d.android.com/jetpack/androidx/releases/browser)\n- [x] [OkHttp](https://github.com/square/okhttp)\n- [x] [Chucker](https://github.com/ChuckerTeam/chucker)\n- [x] [Flaker](https://github.com/rotbolt/flaker)\n- [x] [Timber](https://github.com/JakeWharton/timber)\n- [x] [App Shortcuts](https://d.android.com/develop/ui/views/launch/shortcuts)\n- [x] [Github Releases](https://github.com/michaelbel/movies/releases)\n- [x] [Lint](https://d.android.com/studio/write/lint)\n- [x] [Detekt](https://github.com/detekt/detekt)\n- [x] [Spotless](https://github.com/diffplug/spotless)\n- [x] [Distribute App via Telegram Bot](https://github.com/appleboy/telegram-action)\n- [x] [Non-Transitive R classes](https://d.android.com/studio/build/optimize-your-build#use-non-transitive-r-classes)\n- [x] [SplashScreen API](https://d.android.com/develop/ui/views/launch/splash-screen)\n- [x] [Per-App Language Preferences](https://d.android.com/guide/topics/resources/app-languages)\n- [x] [Settings Panel](https://d.android.com/reference/android/provider/Settings.Panel)\n- [x] [Benchmark](https://d.android.com/topic/performance/benchmarking/benchmarking-overview)\n- [x] [Support Localization](https://d.android.com/guide/topics/resources/localization)\n- [x] [Notification Runtime Permission](https://d.android.com/develop/ui/views/notifications/notification-permission)\n- [x] [Changing Launcher App Icon](https://d.android.com/guide/topics/manifest/activity-alias-element)\n- [x] [Predictive Back Gesture](https://d.android.com/guide/navigation/custom-back/predictive-back-gesture)\n- [x] [Codacy Static Code Analysis](https://app.codacy.com/gh/michaelbel/movies/dashboard)\n- [x] [Display Content Edge-to-Edge](https://d.android.com/develop/ui/views/layout/edge-to-edge)\n- [x] [Support Landscape Orientation](https://d.android.com/guide/topics/large-screens/support-different-screen-sizes)\n- [x] [Support Display Cutouts](https://d.android.com/jetpack/compose/system/cutouts)\n- [x] [Voice Input](https://d.android.com/training/wearables/user-input/voice)\n- [x] [User Interactions](https://d.android.com/jetpack/compose/text/user-interactions)\n- [x] [Glance AppWidget](https://d.android.com/jetpack/compose/glance)\n- [x] [Tile Quick Settings](https://d.android.com/develop/ui/views/quicksettings-tiles)\n- [x] [Grammatical Gender](https://d.android.com/about/versions/14/features/grammatical-inflection)\n- [x] [Biometric Authentication Dialog](https://d.android.com/training/sign-in/biometric-auth)\n- [x] [LeakCanary](https://github.com/square/leakcanary)\n- [x] [Koin](https://github.com/InsertKoinIO/koin)\n- [x] [Screenshot Detection](https://d.android.com/about/versions/14/features/screenshot-detection)\n- [x] [Battery Optimization Request](https://d.android.com/training/monitoring-device-state/doze-standby.html)\n- [x] [BuildKonfig](https://github.com/yshrsmz/BuildKonfig)\n\n## Modules\n```mermaid\ngraph TD;\n    main--\u003eandroidApp\n    main--\u003eiosAppCompose\n    main--\u003edesktopApp\n    main--\u003ewebApp\n\n    account--\u003emain\n    auth--\u003emain\n    details--\u003emain\n    feed--\u003emain\n    gallery--\u003emain\n    notify--\u003emain\n    settings--\u003emain\n    debug--\u003emain\n    feed-web--\u003emain\n\n    core--\u003eaccount\n    core--\u003eauth\n    core--\u003edetails\n    core--\u003efeed\n    core--\u003egallery\n    core--\u003enotify\n    core--\u003esettings\n    core--\u003edebug\n    core--\u003efeed-web\n\n    ui--\u003ecore\n    ui-web--\u003ecore\n    common--\u003ecore\n    interactor--\u003ecore\n    notifications--\u003ecore\n    work--\u003ecore\n    widget--\u003ecore\n    platform-services--\u003ecore\n\n    analytics--\u003einteractor\n    repository--\u003einteractor\n\n    network--\u003erepository\n    persistence--\u003erepository\n```\n\n## Roadmap\n[Movies App Roadmap](https://github.com/users/michaelbel/projects/1/views/1)\n\n\n## Contributing\n[![](https://img.shields.io/github/issues-pr-closed-raw/michaelbel/movies?style=for-the-badge\u0026logo=github\u0026labelColor=3F464F\u0026color=green)](https://github.com/michaelbel/movies/pulls)\n\nAll contributions are welcome!\n\n⭐ Join [stargazers](https://github.com/michaelbel/movies/stargazers)  \n↗️ Submit your PR\n\n\n## Issues\n[![](https://img.shields.io/github/issues-closed-raw/michaelbel/movies?style=for-the-badge\u0026logo=github\u0026labelColor=3F464F\u0026color=green)](https://github.com/michaelbel/movies/issues)\n\nIf you find any problems or would like to suggest a feature, please feel free to file an [issue](https://github.com/michaelbel/movies/issues).\n\n\n## Contacts\n[![](https://img.shields.io/badge/Telegram-24A1DE?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDciIGhlaWdodD0iMzkiIHZpZXdCb3g9IjAgMCA0NyAzOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE3MjkyIDE2LjQ2NjRDMTUuNTYyNSAxMS4wNjg0IDIzLjgyNDIgNy41MDk3NSAyNy45NTggNS43OTAzOEMzOS43NjA3IDAuODgxMjMxIDQyLjIxMzIgMC4wMjg0NTkzIDQzLjgxMTcgMC4wMDAzMDAyMzhDNDQuMTYzMiAtMC4wMDU4OTMwMyA0NC45NDkzIDAuMDgxMjM3OSA0NS40NTg1IDAuNDk0NDJDNDUuODg4NSAwLjg0MzMwMyA0Ni4wMDY4IDEuMzE0NTkgNDYuMDYzNCAxLjY0NTM3QzQ2LjEyIDEuOTc2MTUgNDYuMTkwNSAyLjcyOTY4IDQ2LjEzNDUgMy4zMTg0NkM0NS40OTQ5IDEwLjAzODcgNDIuNzI3NCAyNi4zNDcgNDEuMzE5NCAzMy44NzM4QzQwLjcyMzcgMzcuMDU4NyAzOS41NTA2IDM4LjEyNjUgMzguNDE1IDM4LjIzMUMzNS45NDY5IDM4LjQ1ODIgMzQuMDcyOCAzNi42IDMxLjY4MjMgMzUuMDMzQzI3Ljk0MTggMzIuNTgxIDI1LjgyODYgMzEuMDU0NyAyMi4xOTc4IDI4LjY2MkMxOC4wMDE3IDI1Ljg5NjggMjAuNzIxOCAyNC4zNzcxIDIzLjExMzIgMjEuODkzM0MyMy43MzkgMjEuMjQzMyAzNC42MTMzIDExLjM1MjMgMzQuODIzOCAxMC40NTVDMzQuODUwMSAxMC4zNDI4IDM0Ljg3NDUgOS45MjQ1MSAzNC42MjYgOS43MDM2NEMzNC4zNzc1IDkuNDgyNzYgMzQuMDEwNyA5LjU1ODI5IDMzLjc0NjEgOS42MTgzNkMzMy4zNzA5IDkuNzAzNTEgMjcuMzk1MyAxMy42NTMxIDE1LjgxOTMgMjEuNDY3M0MxNC4xMjMyIDIyLjYzMiAxMi41ODY4IDIzLjE5OTUgMTEuMjEwNCAyMy4xNjk3QzkuNjkyODkgMjMuMTM2OSA2Ljc3Mzg4IDIyLjMxMTcgNC42MDM5MSAyMS42MDY0QzEuOTQyMzQgMjAuNzQxMiAtMC4xNzMwMTkgMjAuMjgzOCAwLjAxMTE4MTUgMTguODE0NEMwLjEwNzEyNCAxOC4wNDkxIDEuMTYxMDQgMTcuMjY2NCAzLjE3MjkyIDE2LjQ2NjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)](https://t.me/michaelbel)\n[![](https://img.shields.io/badge/LinkedIn-0077B5?\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03NSA3NUg1OS41ODk4VjQ4Ljc1MzFDNTkuNTg5OCA0MS41NTY5IDU2Ljg1NTUgMzcuNTM1NCA1MS4xNTk3IDM3LjUzNTRDNDQuOTYzNCAzNy41MzU0IDQxLjcyNjEgNDEuNzIwNCA0MS43MjYxIDQ4Ljc1MzFWNzVIMjYuODc1VjI1SDQxLjcyNjFWMzEuNzM1QzQxLjcyNjEgMzEuNzM1IDQ2LjE5MTQgMjMuNDcyNCA1Ni44MDE4IDIzLjQ3MjRDNjcuNDA3MiAyMy40NzI0IDc1IDI5Ljk0ODggNzUgNDMuMzQzMVY3NVpNOS4xNTc3MSAxOC40NTI5QzQuMDk5MTIgMTguNDUyOSAwIDE0LjMyMTYgMCA5LjIyNjQ1QzAgNC4xMzEyOCA0LjA5OTEyIDAgOS4xNTc3MSAwQzE0LjIxNjMgMCAxOC4zMTMgNC4xMzEyOCAxOC4zMTMgOS4yMjY0NUMxOC4zMTMgMTQuMzIxNiAxNC4yMTYzIDE4LjQ1MjkgOS4xNTc3MSAxOC40NTI5Wk0xLjQ4OTI2IDc1SDE2Ljk3NTFWMjVIMS40ODkyNlY3NVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=)](https://linkedin.com/in/michael-bel)\n[![](https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:michaelvel24865@gmail.com)\n[![](https://img.shields.io/badge/Instagram-E1306C?style=for-the-badge\u0026logo=instagram\u0026logoColor=white)](https://instagram.com/michael_bel)\n[![](https://img.shields.io/badge/Twitter-333333?style=for-the-badge\u0026logo=x\u0026logoColor=white)](https://x.com/michael_bely)\n[![](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge\u0026logo=youtube\u0026logoColor=white)](https://www.youtube.com/@michaelbely)\n\n\n## Star History\n\u003ca href=\"https://star-history.com/#michaelbel/movies\u0026Date\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=michaelbel/movies\u0026type=Date\u0026theme=dark\" /\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=michaelbel/movies\u0026type=Date\" /\u003e\n    \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=michaelbel/movies\u0026type=Date\" /\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n\n## License\n[![](https://img.shields.io/github/license/michaelbel/movies?style=for-the-badge\u0026logo=github\u0026labelColor=3F464F)](license.txt)\n\n\u003ca href=\"http://www.apache.org/licenses/LICENSE-2.0\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Apache License 2.0\" src=\".github/pics/apache.png\" height=\"110\"/\u003e\n\u003c/a\u003e\n\n    Copyright 2017 Michael Bely\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelbel%2Fmovies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelbel%2Fmovies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelbel%2Fmovies/lists"}