Android Clean Architecture💎 Base Project Android with Kotlin and MVVM applying clean architecture

Overview

Android Clean Architecture

Clean Architecture:

http://fernandocejas.com/2015/07/18/architecting-android-the-evolution/

Architectural Approach:

http://fernandocejas.com/2015/07/18/architecting-android-the-evolution/

Architectural reactive approach

http://fernandocejas.com/2015/07/18/architecting-android-the-evolution/

Architecture:

  • Following Clean Architecture.
  • MVVM Architecture.
  • Repository pattern.
  • Applying SOLID principles, each class has a single job with separation of concerns by making classes independent of each other and communicating with interfaces.
  • Using Kotlin-KTS & buildSrc to handle project dependencies.

Tech stack & Libraries:

  • Navigation component - navigation graph for navigating and replacing screens/fragments
  • ViewBinding - allows to more easily write code that interacts with views and replaces findViewById.
  • ViewModel - UI related data holder, lifecycle aware.
  • LiveData - Build data objects that notify views when the underlying database changes.
  • Dagger-Hilt for dependency injection. Object creation and scoping is handled by Hilt.
  • Kotlin Coroutines - for managing background threads with simplified code and reducing needs for callbacks
  • Retrofit2 & OkHttp3 - to make REST requests to the web service integrated.
  • Coil - for image loading.
  • Material Bottom Navigation - to handle bottom tabs with support for multiple backStack.

Project Structure:

  • Sample includes some basic features required in each project like :
    • Splash.
    • App Tutorial.
    • Login - (With Business Logic).
    • Sign Up - (Blank Screens).
    • Forgot Password -(Blanck Screens).
    • Home Screen - (Contains 3 Tabs with 3 NavGraphs).

Extra Modules:

  • You will find extra modules also developed by me like :
    • AppTutorial - (To handle onBoarding tutorial screens).
    • ActionChooser - (A customized pop up with recyclerView of single selection).
    • PrettyPopUp (A customized pop up to display message to user with two actions (positive & negative buttons)).
    • ImagesSlider (An images slider supports auto scrolling for images from url and support GIF images).

Code style

  • Following official kotlin code style

License

Copyright 2021 Fernando Cejas

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.
You might also like...
 A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture.
A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture.

CatSearchApp A simple Cat Search app, performed the search by cat breed name, using MVVM clean Architecture. The App is using the The Cat Api for sear

Image Search used MVVM with Clean Architecture

ImageSearchCleanArch Readme In this project I used MVVM with Clean Architecture. MVVM provides a clean separation of concerns between user interface a

Template for MVVM Architecture Clean Code.
Template for MVVM Architecture Clean Code.

Template for MVVM Architecture. This is basic template for android app follwing MVVM architecture and latest tech stack. You don't need to create and add basic code and depency for start project using MVVM architecture. Just use this template and boost your productivity.

MVVM RECIPE ANDROID APP Is an app where I show how to use MVVM, retrofit, dagger hilt, coroutine, liveData, Kotlin, navigation component, and so on...
MVVM RECIPE ANDROID APP Is an app where I show how to use MVVM, retrofit, dagger hilt, coroutine, liveData, Kotlin, navigation component, and so on...

MVVM RECIPE ANDROID APP Is an app where I show how to use MVVM, retrofit, dagger hilt, coroutine, liveData, kotlin, navigation component, and so on...

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

🎯 Einsen Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of

📊 A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture
📊 A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture

Expenso 📊 A Simple Expense Tracker App 📱 built to demonstrate the use of modern android architecture component with MVVM Architecture 🏗 . Made with

A sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern.

This repository contains a sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern

Basic-MVVM-Example - Basic Android Application MVVM
Basic-MVVM-Example - Basic Android Application MVVM

Android's MVVM Architecture in Kotlin Why a simple app ? Because it's easier to

MVVM + Clean + Hilt + Mockk

Android - MarvelApp What is this repository for? This repository is to show you my skills programming native Android. If you are interested in my prof

Comments
Owner
Mina Mikhail
I'm an Egyptian software engineer, mobile developer, ui/ux designer startups lover
Mina Mikhail
Chat App MVVM + Clean ArchitectureChat App MVVM + Clean Architecture

Chat App MVVM + Clean Architecture This Android application built using MVVM + Clean Architecture architecture approach and is written 100% in Kotlin.

null 4 Nov 29, 2022
JeTaxi is built on Clean Architecture-MVVM with Kotlin and follows modern android development trends.

JeTaxi is built on Clean Architecture-MVVM with Kotlin and follows modern android development trends. Also, It uses some of Jetpack and popular libraries. These are Kotlin Coroutine-Flow, kotlinx.serialization, Hilt, Compose, Accompanist, Retrofit2, OkHttp3, Chucker, MockWebServer, Truth.

Tolga Bolatcan 13 Nov 2, 2022
An android app built using Kotlin following Multi-Module Clean Architecture MVVM

RickyandMorty An android app built using Kotlin that consumes RickyadMorty API to display characters.It has been built following Clean Architecture Pr

Kibet 14 Sep 2, 2022
Clean Architecture - Kotlin, MVVM, Use cases

CleanArchitecture Is Clean Architecture only MVVM ? NO, MVVM is a part of clean architecture. MVVM includes Model, View and ViewModel and in addition

Deepanshi bajaj 25 Nov 29, 2022
MVVM Redux is a lightweight lib to help you apply the redux concepts in your project based in MVVM.

MVVM Redux is a lightweight lib to help you apply the redux concepts in your project based in MVVM.

Gabriel Brasileiro 36 Oct 16, 2022
Playground project built with MVVM with Clean Artchitect to try out new tech in Android 🌍

Clean-MVVM-Playground Playground project built with MVVM with Clean Artchitect to try out new tech in Android ?? Features ?? 100% Kotlin Following MVV

Somesh Kumar 8 Dec 9, 2022
An Android Template with MVVM and Clean Architecture

MVVMTemplate ??‍ A simple Android template that lets you create an Android project quickly. How to use ?? Just click on button to create a new repo st

Hossein Abbasi 561 Jan 8, 2023
Retrieve Data from an API using MVVM Clean Architecture and Jetpack Compose

MVVM Clean Architecture Demo Retrieve Data from an API using MVVM Clean Architecture and Jetpack Compose. It simply shows a list of movies fetched fro

Daniel Kago 2 Sep 16, 2022
Followed best practices, MVVM, clean architecture and coroutines.

GitHub Profiles Video Walktrough Using Github public API allows users to search Github profiles through the username. It shows the necessary informati

Vishal Sengar 2 Sep 6, 2022
AAC MVVM + Clean Architecture + Coroutine Flow

GithubBrowser MVVM Clean Architecture Sample AAC MVVM + Clean Architecture + Coroutine Flow 본 샘플 프로젝트는 https://github.com/omjoonkim/GitHubBrowserApp 을

Jeonguk-JayDev 18 May 25, 2022