:octocat: A demo project based on MVVM architecture and material design & animations.

Overview

GithubFollows

license Build Status

A simple demo project based on MVVM clean architecture and material design & animations.

gif0 gif1

Architecture

architecture

Specs & Open-source libraries

  • Minimum SDK 16
  • Kotlin based, anko
  • MVVM Architecture
  • Architecture Components (Lifecycle, LiveData, ViewModel, Room Persistence)
  • DataBinding
  • Material Design & Animations
  • Github Api
  • Dagger2
  • Retrofit2 & Gson for constructing the REST API
  • PreferenceRoom for efficient managing SharedPreferences
  • Glide for loading images
  • LeakCanary for memory leak detection
  • AndroidSVG for transcoding SVG
  • AndroidVeil for implement skeletons and shimmer effect
  • PowerMenu for implementing material popup dialog
  • RecyclerViewPaginator for api paging
  • ripple animation, Circular revealed animation, Shared element transition
  • Mockito for Junit mock test

Posting

Medium - Android MVVM Architecture Components using Github API

Find this library useful? ❤️

Support it by joining stargazers for this repository.

Supports

If you feel like support me a coffee for my efforts, I would greatly appreciate it.

Buy Me A Coffee

License

The MIT License (MIT)

Copyright (c) 2018 skydoves

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Comments
  • Kotlin Runtime Version

    Kotlin Runtime Version

    I am very grateful for your awesome project template. It is very useful.

    This issue is only a warning that I have tried to solve too many times and perhaps it does not depend on this project, but sincerelly I am so lost now... :-(

    Your version of Kotlin runtime in 'kotlin-stdlib-1.1.51' library is 1.1.51, while plugin version is 1.2.41-release-Studio3.1-1. Moreover, I do not find 1.1.51 in any place on the project.

    Any idea?

    opened by soygabimoreno 4
  • Refactor Code

    Refactor Code

    https://github.com/skydoves/GithubFollows/blob/966f1a36ca70b3bbdc4a49916ba49a66bb3f50d1/app/src/main/java/com/skydoves/githubfollows/ApplicationClazz.kt#L24

    Here you are calling

    DaggerAppComponent.builder()
                    .application(this)
                    .build()
                    .inject(this)
    

    and then you are returning

    override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
            return DaggerAppComponent.builder().application(this).build()
        }
    

    can't you just make a var for DaggerAppComponent.builder().application(this).build() and then just call inject on that above.

    opened by devKshitijJain 4
  • Android 'P'VERSION 대응코드 수정

    Android 'P'VERSION 대응코드 수정

    Android 'P'Version HTTPS No defense code was fixed.

    • I've added the code below.

     android:usesCleartextTraffic="true"
    

    Please correct any failures before requesting a review.

    opened by mkw8263 1
  • Fixed bug that search wasn't working if username was written in lower…

    Fixed bug that search wasn't working if username was written in lower…

    …case. Github ignores case when searching by users. But request to the database required username to be typed exactly. So when case didn't matched app wasn't working and thrown no error message.

    opened by GaidamakUA 0
  • General Refactoring of Application Class and AppModule

    General Refactoring of Application Class and AppModule

    Generally, to name Application class we should follow the convention as AppName+Application. In AppModule we can use [] instead of arrayOf Extract the following code to a variable to use at multiple places

    DaggerAppComponent.builder()
               .application(this)
               .build()
    
    opened by devKshitijJain 0
Owner
Jaewoong Eum
Android software engineer. Digital Nomad. Open Source Contributor. ❤️ Love coffee, music, magic tricks and writing poems. Coffee Driven Development.
Jaewoong Eum
:octocat: Navigation toolbar is a slide-modeled UI navigation controller made by @Ramotion

NAVIGATION TOOLBAR Navigation toolbar is a Kotlin slide-modeled UI navigation controller. We specialize in the designing and coding of custom UI for M

Ramotion 804 Dec 9, 2022
Skeleton project for show the architecture of Android project using MVVM, Clean Architecture and Kotlin coroutine Flow

ClearScoreDemo Skeleton project for showing the architecture of Android project using MVVM, Clean architecture and Kotlin coroutine Flow App Architect

Plabon Modak 1 Mar 6, 2022
Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVVM clean architecture.

Delish Screens Tech stack & Open-source libraries 100% Kotlin based + Coroutines + Flow for asynchronous. Dagger Hilt 2.37 Accompanist JetPack Jetpack

Mohamed Elbehiry 305 Dec 12, 2022
Educational App made with Retrofit, Coroutines, Navigation Component, Room, Dagger Hilt, Flow & Material Motion Animations.

TechHub TechHub is a sample educational app that provides courses for people who want to learn new skills in mostly tech-related areas. The goal of th

Jon Areas 32 Dec 20, 2022
FaceTimeClone app that implements Coroutines , mvvm architecture , clean architecture , navigation component , hilt , etc.... using kotlin language

This repository contains a FaceTimeClone app that implements Coroutines , mvvm architecture , clean architecture , navigation component , hilt , etc.... using kotlin language

null 17 Dec 13, 2022
Pokemon App is a sample Pokemon application based on MVVM architecture.

Pokemon App Pokemon App is an Application based on Modern Android tech-stacks and MVVM Architecture. Techs Used ?? 100% Kotlin based Coroutines + Flow

Rohit Sharma 2 Oct 25, 2022
🪐 Modern Android development with Hilt, Coroutines, Flow, JetPack(ViewModel) based on MVVM architecture.

Ceres ?? Modern Android development with Hilt, Coroutines, Flow, JetPack(ViewModel) based on MVVM architecture. Download Gradle Add the dependency bel

Teodor G. 21 Jan 11, 2023
Android project setup files when developing apps from scratch. The codebase uses lates jetpack libraries and MVVM repository architecture for setting up high performance apps

Android architecture app Includes the following Android Respository architecture MVVM Jepack libraries Carousel view Kotlin Kotlin Flow and Livedata P

null 2 Mar 31, 2022
Filmesflix - Project made during the NTT DATA Android Developer bootcamp. Developing knowledge in MVVM and Clear Architecture

FilmesFlix Projeto criado para o módulo de MVVM e Clean Architecture no Bootcamp

Italo Bruno 0 Feb 12, 2022
Multi module architecture Android template project using MVVM, Dagger-Hilt, and Navigation Components

ModularAppTemplate An Android template project following a multi module approach with clean architecture. It has been built following Clean Architectu

Mbuodile Obiosio 7 May 23, 2022
Example Multi module architecture Android project using MVVM, Dynamic Features, Dagger-Hilt, Coroutines and Navigation Components

ModularDynamicFeatureHilt An Android template project following a multi module approach with clean architecture. It has been built following Clean Arc

Mbuodile Obiosio 25 Nov 23, 2022
A personal project made using Jetpack Compose, Clean-MVVM architecture and other jetpack libraries

A basic CRUD for recording your personal credit and debit transactions. Made using Jetpack Compose, Clean-MVVM and other Jetpack libraries, incorporated with Unit Tests.

Shoaib Ahmed 3 Dec 6, 2022
Cleanarchitecture MVVM Hilt base - Android Clean Architecture example project

Android Clean Architecture example project Note: This is project based on MVVM c

Mohsin Javed 4 Aug 30, 2022
This Project for how to use MVVM , state flow, Retrofit, dagger hit, coroutine , use cases with Clean architecture.

Clean-architecture This Project for how to use MVVM , state flow, Retrofit, dagger hit, coroutine , use cases with Clean architecture. Why i should us

Kareem Aboelatta 10 Dec 13, 2022
CryptoMovies is a small app that show modern Android developement: with Hilt, Coroutines, Flow, Jetpack and Material Design 3

CryptoMovies is a small app that show modern Android developement: with Hilt, Coroutines, Flow, Jetpack and Material Design 3.

Leonardo Pirro 7 Sep 2, 2022
Same as an Outlined text fields presented in Material Design page but with some dynamic changes

README SSCustomEditTextOutlineBorder Getting Started SSCustomEditTextOutLineBorder is a small kotlin library for android to support outlined (stroked)

Simform Solutions 194 Dec 30, 2022
NoteApp - Simple Note app using Room database and MVVM design pattern

General Used Room Database and Followed MVVM Architecture Pattern to build the a

Nasim Mahamud Shameem 1 Jun 29, 2022
Bego Chat is chat application in Kotlin and Firebase with the following features: last seen , user status like typing ,online and last seen with MVVM pattern and clean architecture

Compose ChatApp(Bego Chat) Bego Chat is Compose chat application in Kotlin and Firebase with the following features: sending all file types and abilit

Ahmed EL Bagory 5 Dec 20, 2022