All Projects → anoopmaddasseri → GithubTrendingRepos

anoopmaddasseri / GithubTrendingRepos

Licence: Apache-2.0 license
Android - MVVM with Clean Architecture Blueprint Written In Kotlin

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to GithubTrendingRepos

android-interview-questions
I'm contributing to help others!
Stars: ✭ 24 (-52%)
Mutual labels:  android-architecture, mvvm-architecture, mvvm-android
Einsen
🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.
Stars: ✭ 821 (+1542%)
Mutual labels:  android-architecture, kotlin-coroutines, mvvm-android
Trailers
An open source app that is refactored to demo MVVM architecture
Stars: ✭ 20 (-60%)
Mutual labels:  android-app, mvvm-architecture, mvvm-android
Notzz App
📝 A Simple Note-Taking App built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, State Flow, Hilt-Dependency Injection, Jetpack DataStore, Architecture Components, MVVM, Room, Material Design Components).
Stars: ✭ 158 (+216%)
Mutual labels:  android-architecture, android-app, kotlin-coroutines
Permissionsflow
A simple library to make it easy requesting permissions in Android using Kotlin Coroutines.
Stars: ✭ 49 (-2%)
Mutual labels:  android-architecture, android-app, kotlin-coroutines
Android-Kotlin-MVVM-Template
[In progress...] Chat APP | MVVM + Clean Architecture | Kotlin, LiveData, Koin, Databinding, Navigation Fragments, Rx, Room, Crashlytics, Circle CI config, commons classes for UI.
Stars: ✭ 314 (+528%)
Mutual labels:  android-app, mvvm-architecture, mvvm-android
WizardX
Fast build efficient Android: Fast building, high quality, and efficient Android App infrastructure scaffolding right out of the box(快速构建、高质量、高效率Android App应用开箱即用的基础脚手架)
Stars: ✭ 115 (+130%)
Mutual labels:  android-architecture, mvvm-architecture, mvvm-android
Android Mvp Mvvm Flytour
🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精…
Stars: ✭ 2,948 (+5796%)
Mutual labels:  android-architecture, mvvm-architecture, mvvm-android
Androidroom
Android example to show how to use Room to access SQLite database on device for reading and writing data. This example also shows how to use LiveData and ViewModel with Room to build reactive, well performing and easy to maintain applications.
Stars: ✭ 36 (-28%)
Mutual labels:  android-architecture, android-app, mvvm-architecture
Expenso
📊 A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture
Stars: ✭ 325 (+550%)
Mutual labels:  android-architecture, android-app, kotlin-coroutines
Android Inappbilling
A sample which uses Google's Play Billing Library and it does InApp Purchases and Subscriptions.
Stars: ✭ 114 (+128%)
Mutual labels:  android-architecture, android-app, mvvm-architecture
Cameraxdemo
A sample camera app with CameraX API from Android Jetpack
Stars: ✭ 112 (+124%)
Mutual labels:  android-architecture, android-app, kotlin-coroutines
android-kick-start-modular
Android Kick Start Project Template Framework FrogoBox || Admob, MVVM Archictecture || Clean Architecture Modularization
Stars: ✭ 16 (-68%)
Mutual labels:  android-architecture, mvvm-architecture, mvvm-android
Coolweather
Weather App that uses Android best practices. Android Jetpack, clean architecture. Written in Kotlin
Stars: ✭ 154 (+208%)
Mutual labels:  android-architecture, android-app
Droid Feed
Aggregated Android news, articles, podcasts and conferences about Android Development
Stars: ✭ 174 (+248%)
Mutual labels:  android-architecture, kotlin-coroutines
Modern Android Development
Modern Android Development tools & key points
Stars: ✭ 219 (+338%)
Mutual labels:  android-architecture, android-app
Android Developer Roadmap
Android Developer Roadmap - A complete roadmap to learn Android App Development
Stars: ✭ 2,170 (+4240%)
Mutual labels:  android-architecture, android-app
Eiffel
Redux-inspired Android architecture library leveraging Architecture Components and Kotlin Coroutines
Stars: ✭ 203 (+306%)
Mutual labels:  android-architecture, kotlin-coroutines
Android Mvvm Architecture
This repository contains a detailed sample app that implements MVVM architecture using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 2,720 (+5340%)
Mutual labels:  android-architecture, mvvm-architecture
Android Advanced Blueprint
Android进阶蓝图,各种新技术的体验demo,快速上手Data Binding,Data Binding Compiler V2,Android Architecture,Room等Android的黑科技
Stars: ✭ 148 (+196%)
Mutual labels:  android-architecture, android-app

Github Trending Repositories [mvvmclean]

An Android app consuming GitHub Trending API to display the current trending Github repositories. It has been built using kotlin with clean architecture principles, Repository Pattern and MVVM pattern as well as Architecture Components.

Min API Level Supported : 19

Prerequisite

Before running the project check your gradle version matches the required.

package-name: com.mvvmclean.trendingrepos
compileSdkVersion = 29
targetSdkVersion = 29
minSdkVersion = 19
buildToolsVersion = "29.0.2"

Development Environment

Android Studio 3.5
Build #AI-191.8026.42.35.5791312, built on August 9, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS Mojave 10.14

Table of Contents

Architecture

The Application is split into a three layer architecture inorder to provide clean separation of concerns - making the code easier to navigate and maintain.

  • Data - Layer that holds APIs, Database, Cache
  • Domain - Layer that holds Use Cases, and Model Objects. Business logic happens here.
  • Application - Layer that holds presentation, Android components, Viewmodels, Dagger components/modules handles Dependency Injection, etc. MVVM exists at this layer.

Data Flow Diagram

The three layered architectural approach is majorly guided by clean architecture which provides a clear separation of concerns with its Abstraction Principle.

Features

  • Trending Repository Listing
  • Repository sorting by stars and name
  • Take user to corresponding repository on long press
  • Pull to refresh repository
  • Offline Storage ( Scheduled repo remote controller syncing, App will sync with backend server in every 2hrs )

Testing

  • app/test/ - Unit tests - test -> Right click on package name(com.mvvmclean.trendingrepos) -> Run Test In 'com.mvvmclean.trendingrepos'
  • app/androidTest/ - Instrumentation tests - androidTest -> Right click on package name(com.mvvmclean.trendingrepos) -> Run Test In 'com.mvvmclean.trendingrepos'

Libraries

Following are the Libraries used:

Extras

Gradle Dependencies

  • dependencies.gradle - Centralized versioning of gradle dependencies in a global file
  • Version.properties - App version details

Resource Values

  • Fonts
  • Dimension & String Values
  • Themes & Styles
  • Network Config

Screenshots

  • Architecure

  • App Screens

Demo

Demo Video

License

  Copyright 2020 Anoop M Maddasseri

  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.
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].