: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
🎬 A demo project using The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies2 A simple project using The Movie DB based on Kotlin MVVM architecture and material designs & animations. How to build on your environment A

Jaewoong Eum 450 Jan 2, 2023
🛡️ Android security (camera/microphone dots indicators) app using Hilt, Animations, Coroutines, Material, StateFlow, Jetpack based on MVVM architecture.

??️ Android security app using Hilt, Animations, Coroutines, Material, StateFlow, Jetpack (Room, ViewModel, Paging, Security, Biometrics, Start-up) based on MVVM architecture.

null 639 Jan 6, 2023
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture

PokedexApp Pokedex A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture. Te

Steven Adriano 0 Apr 12, 2022
Android Demo App for League of legends's Champions based on MVVM design pattern

?? LOL-Champs If this project is useful, please give it a star ⭐ A Android Sample App with champion information of the League of Legends(LOL) using An

JunBi Kim 69 Dec 19, 2022
☀️ Wheater is a small demo application based on modern Android tech-stacks and MVVM architecture. ⛅

Wheater is a small demo application based on modern Android tech-stacks and MVVM architecture. Tech stack & Open-source libraries Minimum SDK level 19

null 2 Jan 17, 2022
Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Dheeraj Gupta 5 Dec 24, 2022
A simple material design app intro with cool animations and a fluent API.

material-intro A simple material design app intro with cool animations and a fluent API. Very inspired by Google's app intros. Demo: A demo app is ava

Jan Heinrich Reimer 1.7k Jan 7, 2023
📱 Android Library to implement Rich, Beautiful, Stylish 😍 Material Navigation View for your project with Material Design Guidelines. Easy to use.

Material NavigationView for Android ?? ?? Android Library to implement Rich, Beautiful Material Navigation View for your project with Material Design

Shreyas Patil 198 Dec 17, 2022
Simple Notes app demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Simple Notes app demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Aravind Chowdary 2 Sep 3, 2022
NewsSpac-MVVM-CleanArch-TDD - The App uses MVVM architecture together with Clean architecture

Aplicativo NewsSpace Arquitetura O App utiliza a arquitetura MVVM em conjunto co

null 1 Feb 11, 2022
A demo of the power menu with Reveal and other animations

MaterialPowerMenu A demo of the power menu with Reveal and other animations Some days ago, I saw a gif on Google+ demonstating a concept of Android Po

Naman Dwivedi 888 Oct 11, 2022
A sample demo app which has Clean Architecture with MVVM , UI built with Jetpack Compose

A sample demo app (two screen todo list app) which has Clean Architecture with MVVM , UI built with Jetpack Compose and includes Modern Android Development Best Practices with components

BHAVNA THACKER 21 Dec 13, 2022
NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture.

NewsApp NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture. This project is for focusing especially

null 1 Jan 14, 2022
Kotlin Based Project using MVVM Architecture

Cinema Operator Demo App Simple Cinema Operator Demo App for Android platform Code Design Architecture Code Design follows the following Design View T

null 2 Oct 2, 2021
PopularMovieApp - A simple project to Chiper challenge taken data from The Movie DB based on Kotlin MVVM clean architecture

A simple project to Chiper challenge taken data from The Movie DB based on Kotli

Jhonatan Alvarez Caicedo 0 Jan 4, 2022
Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

null 32 Feb 13, 2022