ananth10 / MvvmKotlinSample

This is Kotlin Android App , Its build with MVVM pattern and basically it uses Github API to fetch user informations and display it on UI.

Home Page:https://github.com/ananth10/MvvmKotlinSample

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MvvmKotlinSample πŸ”₯

GitHub license Github Followers Twitter Follow

πŸ“œ Description

This is developed using MVVM and Kotlin

πŸ“Έ Screenshots

     

β›„ About

This app will fetch user related information such as profile, repos, gists, followers and following from the GitHub API and store it in the mobile local DB its called Room Database. So every time user opens app then all data will be retrieved from local database and displayed it in the UI and remote data will be synced with local database as well.

  • Clean Architecture
  • Offline Support
  • Lifecycle aware
  • Simple UI

🏠 Architecture

This application uses MVVM(https://developer.android.com/jetpack/docs/guide#recommended-app-arch) architecture.

πŸ• Components And Libraries πŸ”

  • Kotlin - A modern programming language that makes developers happier
  • Android Architecture Components - Android architecture components are a collection of libraries that help you design robust, testable, and maintainable apps
    • Navigation - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app
    • LiveData - LiveData to build data objects that notify views when the underlying database changes.
    • ViewModel - ViewModel stores UI-related data that isn't destroyed on app rotations.
    • ViewBinding - View binding is a feature that allows you to more easily write code that interacts with view. it generates a binding class for each XML layout file present in that module
    • Room - SQLite object mapping library.
    • ConstraintLayout - ConstraintLayout allows you to create large and complex layouts with a flat view hierarchy
  • Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously
  • Flow - A flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value
  • Koin - a smart Kotlin injection library to keep you focused on your app, not on your tools
  • Retrofit - A type-safe HTTP client for Android and Java
  • Moshi - Moshi is a modern JSON library for Android and Java. It makes it easy to parse JSON into Java objects
  • Coil - An image loading library for Android backed by Kotlin Coroutines

πŸ‘€ Contact Me

Need a help?, please send a πŸ“§ mail to ananthababu.v@gmail.com

License

MIT License

Copyright (c) 2020 Ananthababu

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.

About

This is Kotlin Android App , Its build with MVVM pattern and basically it uses Github API to fetch user informations and display it on UI.

https://github.com/ananth10/MvvmKotlinSample


Languages

Language:Kotlin 89.9%Language:Java 10.1%