Giter Club home page Giter Club logo

garageapp's Introduction

Garage App

An Android app that demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Showcase


App Screens


Features

  • Local Authentication Feature using RoomDB with local validations
  • User Session Handling
  • Add Car with different Makes and Models

Technology used

App built with Kotlin and Android Jetpack Components.

  • Single activity with multiple fragments is used with MVVM architecture.
  • Jetpack libraries such as ViewModel, DataBinding, Navigation Component, LiveData.
  • Used RoomDB for local caching.
  • Used Hilt for Dependency Injection.
  • Coroutines and Flow for asynchronous.

Architecture

  • MVVM Architecture (Model - View - ViewModel)
  • Repository Pattern
  • It follows the Google's official architecture guidance.
  • The overall architecture of the app is composed of three layers; the UI layer, the data layer and the viewModel. Each layer has dedicated components and they have each different responsibilities.
  • Each layer follows unidirectional event/data flow; the UI layer emits user events to the data layer and the data in the viewModel is observed by the UI Layer.
  • The data layer is designed to work independently from other layers and must be pure, which means it doesn't have any dependencies on the other layers.
  • With this loosely coupled architecture, you can increase the reusability of components and scalability of your app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.