All Projects → theapache64 → Topcorn

theapache64 / Topcorn

Licence: apache-2.0
A minimalistic movie listing app to browse IMDB's top 250 movies, built to demonstrate MVVM with latest hot-trending Android development tools.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Topcorn

Ktarmor Mvvm
👻 Android快速开发框架, KtArmor 寓意着 为Android 赋予战斗装甲, 方便开发者快速进行Android 开发。
Stars: ✭ 148 (+12.98%)
Mutual labels:  coroutines, mvvm, retrofit
Stackzy
💻 A cross-platform desktop application to identify libraries used inside an android application. Made possible by Compose Desktop ⚡
Stars: ✭ 307 (+134.35%)
Mutual labels:  coroutines, dagger2, mvvm
Beaver
Android MVVM + Dagger 2 (Hilt) + JetPack project template
Stars: ✭ 144 (+9.92%)
Mutual labels:  dagger2, mvvm, retrofit
Pokedex
🗡️ Android Pokedex using Hilt, Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.
Stars: ✭ 4,882 (+3626.72%)
Mutual labels:  coroutines, dagger2, mvvm
Awesome Android Kotlin Apps
👓 A curated list of awesome android kotlin apps by open-source contributors.
Stars: ✭ 1,058 (+707.63%)
Mutual labels:  coroutines, mvvm, retrofit
Sample Code Movies
This repository contains sample code. Its purpose being, to quickly demonstrate Android and software development in general, clean code, best practices, testing and all those other must know goodies.
Stars: ✭ 81 (-38.17%)
Mutual labels:  coroutines, mvvm, retrofit
Askme
Social media app to ask and answer user questions and interact with users
Stars: ✭ 16 (-87.79%)
Mutual labels:  retrofit, mvvm, dagger2
Plainupnp
PlainUPnP is an upnp control point application for android.
Stars: ✭ 33 (-74.81%)
Mutual labels:  coroutines, dagger2, mvvm
Modular App Core
Core implementations for a modular Android App
Stars: ✭ 127 (-3.05%)
Mutual labels:  coroutines, dagger2, mvvm
Pinboard Kotlin
Unofficial Pinboard android app, developed as a playground to study many topics related to Android. Kotlin + Coroutines + MVVM
Stars: ✭ 60 (-54.2%)
Mutual labels:  coroutines, dagger2, mvvm
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (-6.11%)
Mutual labels:  coroutines, dagger2, mvvm
Playa
玩Android(http://www.wanandroid.com/) APP(MVP + RxJava2 + Retrofit2 + Dagger2)
Stars: ✭ 93 (-29.01%)
Mutual labels:  dagger2, retrofit
Android Architecture Sample
Sample app using Kotlin, Coroutines, Architecture Components and more. With Unit and Instrumentation tests.
Stars: ✭ 94 (-28.24%)
Mutual labels:  coroutines, retrofit
Jd Test
仿京东app 全新组件化架构升级
Stars: ✭ 1,346 (+927.48%)
Mutual labels:  dagger2, retrofit
Kotlin Architecture Components Notes Demo
Example of Android Architecture Components which implements MVVM Pattern and written in Kotlin
Stars: ✭ 103 (-21.37%)
Mutual labels:  dagger2, mvvm
Alfonz
Mr. Alfonz is here to help you build your Android app, make the development process easier and avoid boilerplate code.
Stars: ✭ 90 (-31.3%)
Mutual labels:  mvvm, retrofit
Refactored Umbrella
Example of Flow + LiveData w/ Room as single source of truth for data in an MVVM architecture
Stars: ✭ 100 (-23.66%)
Mutual labels:  coroutines, mvvm
Brick
【此git仓库已停止更新,其中的若干个模块将被拆分为多个仓库,详情请点开本人的仓库列表查看。】使用Kotlin Coroutine和ViewModel、LiveData等Android Jetpack组件搭建而成的MVP、MVVM架构框架。实现了业务代码的高复用性的核心特点,并且使用简单、代码简洁。 如果使用Retrofit作为网络请求工具,可以为Model层自动注入Retrofit Api实例,进一步精简代码。同样的,也可以注入Room数据库框架的Dao层接口。注:配合http模块食用,风味更佳!
Stars: ✭ 109 (-16.79%)
Mutual labels:  mvvm, retrofit
Aachulk
️🔥️🔥️🔥AACHulk是以Google的ViewModel+DataBinding+LiveData+Lifecycles框架为基础, 结合Okhttp+Retrofit+BaseRecyclerViewAdapterHelper+SmartRefreshLayout+ARouter打造的一款快速MVVM开发框架
Stars: ✭ 109 (-16.79%)
Mutual labels:  mvvm, retrofit
Cocktailapp
Cocktails Android App with Clean Architecture, MVVM , Retrofit, Coroutines, Navigation Components , Room, Dagger Hilt, Cache Strategy and Coroutines Flow
Stars: ✭ 128 (-2.29%)
Mutual labels:  coroutines, mvvm

title GitHub issues GitHub forks GitHub stars GitHub license Twitter

light_screenshots

TopCorn 🍿

A minimalistic movie listing app to browse IMDB's top 250 movies, built to demonstrate MVVM with latest hot-trending Android development tools.

Dark Mode Available 🌙

dark_screenshots

Download 📥

  • Download latest APK from here

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Room - SQLite object mapping library.
  • Dagger 2 - Dependency Injection Framework
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Moshi - A modern JSON library for Kotlin and Java.
  • Moshi Converter - A Converter which uses Moshi for serialization to and from JSON.
  • Glide - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • TwinKill - A simple library, a collection of utility classes wrapped around JetPack components
  • MaterialColors - Android material color palettes

Architecture 🗼

This project follows the famous MVVM architecture and best practices from Google's GithubBrowserSample

Project Structure 📂

.
├── App.kt
├── data
│   ├── local
│   │   ├── AppDatabase.kt
│   │   ├── Converters.kt
│   │   ├── daos
│   │   │   └── MoviesDao.kt
│   │   └── entities
│   ├── remote
│   │   ├── ApiInterface.kt
│   │   └── Movie.kt
│   └── repositories
│       └── movies
│           └── MoviesRepo.kt
├── di
│   ├── components
│   │   └── AppComponent.kt
│   └── modules
│       ├── ActivitiesBuilderModule.kt
│       ├── AppModule.kt
│       ├── DatabaseModule.kt
│       ├── NetworkModule.kt
│       ├── RepoModule.kt
│       └── ViewModelModule.kt
├── models
│   └── FeedItem.kt
├── ui
│   ├── activities
│   │   ├── feed
│   │   │   ├── FeedActivity.kt
│   │   │   └── FeedViewModel.kt
│   │   ├── movie
│   │   │   ├── MovieActivity.kt
│   │   │   └── MovieViewModel.kt
│   │   ├── splash
│   │   │   ├── SplashActivity.kt
│   │   │   └── SplashViewModel.kt
│   └── adapters
│       ├── FeedAdapter.kt
│       └── MoviesAdapter.kt
└── utils
    ├── BindingAdapters.kt
    ├── NetworkBoundResource.kt
    ├── retrofit
    │   ├── FlowResourceCallAdapterFactory.kt
    │   └── FlowResourceCallAdapter.kt
    └── test
        ├── EspressoIdlingResource.kt
        └── OpenForTesting.kt

21 directories, 30 files

Credits 🤗

TODO 🗒️

  • [x] Improve algorithms and code review
  • [x] Add test cases
  • [ ] Integrate OMDB API to add search feature
  • [ ] Add favorites

Author ✍️

  • theapache64
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].