Apache License 2.0

项目介绍

tolgaprm/Mova-MovieApp 是一个托管在 GitHub 上的开源项目,主要使用 Kotlin 编写,采用 Apache License 2.0 许可证,目前获得 115 个 Star、6 次 Fork。

仓库全名
tolgaprm/Mova-MovieApp
开源许可证
Apache License 2.0
Star 数
115
Fork 数
6

README 摘要

Mova-Movies App "A movie and TV show information app for teaching MVVM, Paging3, Flow-Coroutines with Clean Architecture With this app, you can easily find information about your favorite films and TV series. You can view the cast, plot summary, release date, and more. " Screenshots Light Version Other Screenshots Dark Version Other Screenshots Tech stack & Open-source libraries Minimum SDK level 24+ 100% Kotlin…

完整内容见 GitHub 原始 README 或本页 。

常见问题

Mova-MovieApp 用什么语言开发?

主要使用 Kotlin 编写,采用 Apache License 2.0 许可证,目前有 115 个 Star。

Mova-MovieApp 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 Mova-MovieApp 的源码?

可以直接克隆仓库:git clone https://github.com/tolgaprm/Mova-MovieApp.git,默认分支为 main;安装与运行步骤见仓库 README。

Mova-MovieApp 最近还在维护吗?

仓库最近一次更新为 2025年10月23日,当前没有未关闭的 Issue;Star 数为 115,可作为社区活跃度的参考。

关于

"A movie and TV show information app for teaching MVVM, Paging3, Flow-Coroutines with Clean Architecture. With this app, you can easily find information about your favorite films and TV series. You can view the cast, plot summary, release date, and more. "

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

语言占比

HTML
Kotlin

贡献者

README

Mova-Movies App

"A movie and TV show information app for teaching MVVM, Paging3, Flow-Coroutines with Clean Architecture With this app, you can easily find information about your favorite films and TV series. You can view the cast, plot summary, release date, and more. "

API

License

Screenshots

Light Version


Dark Version


Tech stack & Open-source libraries

  • Minimum SDK level 24+

  • 100% Kotlin based Coroutines Flow for asynchronous.

  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.

    • A single-activity architecture, using the Navigation to manage composable transactions.
    • Lifecycle - perform an action when lifecycle state change
    • ViewModel - Stores UI-related data that isn’t destroyed on UI changes.
    • UseCases - Located domain layer that sits between the UI layer and the data layer.
    • Repository - Located in data layer that contains application data and business logic
  • Hilt -Dependency Injection Library

  • Paging - The Paging library makes it easier for you to load data incrementally and gracefully within your app’s UI

  • Navigation - Manage transaction among the fragments

  • Room - Create, store, and manage persistent data backed by a SQLite database.

  • WorkManager - WorkManager is the recommended solution for persistent work. Work is persistent when it remains scheduled through app restarts and system reboots.

  • AlarmManager - AlarmManager is a class provides access to the system alarm services. These allow you to schedule your application to be run at some point in the future. My usage is to set a upcoming movie reminder.

  • Notification - A notification is a message that Android displays outside your app’s UI to provide the user with reminders, communication from other people, or other timely information from your app.

  • Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.

  • Moshi - A modern JSON library for Android, Java and Kotlin

  • Coil - An image loading library for Android backed by Kotlin Coroutines.

  • Testing

    • Flow Turbine - Turbine is a small testing library for kotlinx.coroutines Flow.
    • Truth - A library for performing assertions in tests

Modularization Structure

  • I used convention plugin for manage dependencies.
  • This app modularization guide is soon.
  • When I implement navigation for multiModule, I got help this article.

API Key 🔑

  • You will need to provide developer key to fetch the data from TMDB API.
  • Generate a new key (v3 auth) from here. Copy the key and go back to Android project.
  • Open the page is gradle/local.properties
  • Define a constant API_KEY, it looks like

API_KEY = PASTE_YOUR_API_KEY

Upcoming Features

  • CI Support
  • UI and Unit Tests

Find this repository useful?

Don’t forget give a star. ⭐

Licence

    Designed and developed by 2022 tolgaprm (Tolga Pirim)

   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.

评论

暂无评论