8000 GitHub - alexmprog/TheCocktails: TheCocktails is a sample Android application 📱 built to demonstrate use of Modern Android development tools: Kotlin, Coroutines/Flow, Compose, Jetpack, Clean Architecture + MVVM, Room, Retrofit, Hilt, Coil.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

TheCocktails is a sample Android application 📱 built to demonstrate use of Modern Android development tools: Kotlin, Coroutines/Flow, Compose, Jetpack, Clean Architecture + MVVM, Room, Retrofit, Hilt, Coil.

Notifications You must be signed in to change notification settings

alexmprog/TheCocktails

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheCocktails

GitHub Logo

About

It simply loads data from API and stores it in persistence storage (i.e. SQLite Database).

  • Use real TheCocktailDB api.
  • Clean and Simple Compose Material UI.
  • Use Gradle version catalog and convention plugins.
  • Clean architecture and MVVM.

Built With 🛠

Kotlin - First class and official programming language for Android development.
Kotlin Gradle DSL - Provides an alternative syntax to the traditional Groovy DSL for Gradle build system.
Coroutines - Kotlin Asynchronous or non-blocking programming.
Compose - The modern toolkit for building native Android UI.
ViewModel - Stores UI-related data that isn't destroyed on UI changes.
Jetpack Navigation - Component helps you implement navigation.
Datastore - Data storage solution that stores key-value pairs or complex typed objects.
Room - SQLite object mapping library.
Hilt - Easy way to incorporate Dagger dependency injection into an Android application.
Retrofit - A type-safe HTTP client for Android and Java.
Coil - An image loading library for Android.
Kotlin Serialization - A modern JSON library for Kotlin and Java.
Testing - App contains different kinds of tests: Local Unit, Integration, UI, End2End tests.

Module Graph

%%{
  init: {
    'theme': 'base',
    'themeVariables': {"primaryTextColor":"#F6F8FAff","primaryColor":"#5a4f7c","primaryBorderColor":"#5a4f7c","tertiaryColor":"#40375c","lineColor":"#f5a623","fontSize":"12px"}
  }
}%%

graph TB
  subgraph :core
    :core:common["common"]
    :core:domain["domain"]
    :core:ui["ui"]
    :core:testing["testing"]
    :core:data-test["data-test"]
    :core:data["data"]
    :core:database["database"]
    :core:datastore["datastore"]
    :core:network["network"]
  end
  subgraph :feature
    :feature:settings["settings"]
    :feature:glasses-list["glasses-list"]
    :feature:categories-list["categories-list"]
    :feature:cocktails-list["cocktails-list"]
    :feature:cocktail-details["cocktail-details"]
    :feature:ingredients-list["ingredients-list"]
    :feature:home["home"]
  end
  :feature:settings --> :core:common
  :feature:settings --> :core:domain
  :feature:settings --> :core:ui
  :feature:glasses-list --> :core:testing
  :feature:glasses-list --> :core:common
  :feature:glasses-list --> :core:domain
  :feature:glasses-list --> :core:ui
  :app --> :core:testing
  :app --> :core:data-test
  :app --> :core:data
  :app --> :core:domain
  :app --> :core:ui
  :app --> :feature:categories-list
  :app --> :feature:cocktails-list
  :app --> :feature:cocktail-details
  :app --> :feature:glasses-list
  :app --> :feature:ingredients-list
  :app --> :feature:home
  :app --> :feature:settings
  :core:testing --> :core:common
  :core:testing --> :core:domain
  :core:data --> :core:database
  :core:data --> :core:datastore
  :core:data --> :core:domain
  :core:data --> :core:common
  :core:data --> :core:network
  :core:network --> :core:common
  :feature:categories-list --> :core:testing
  :feature:categories-list --> :core:common
  :feature:categories-list --> :core:domain
  :feature:categories-list --> :core:ui
  :feature:cocktail-details --> :core:common
  :feature:cocktail-details --> :core:domain
  :feature:cocktail-details --> :core:ui
  :feature:home --> :core:testing
  :feature:home --> :core:common
  :feature:home --> :core:domain
  :feature:home --> :core:ui
  :feature:cocktails-list --> :core:common
  :feature:cocktails-list --> :core:domain
  :feature:cocktails-list --> :core:ui
  :core:domain --> :core:common
  :core:datastore --> :core:common
  :core:data-test --> :core:common
  :core:data-test --> :core:network
  :core:data-test --> :core:database
  :core:data-test --> :core:data
  :core:data-test --> :core:domain
  :feature:ingredients-list --> :core:common
  :feature:ingredients-list --> :core:domain
  :feature:ingredients-list --> :core:ui

classDef android-library fill:#3BD482,stroke:#fff,stroke-width:2px,color:#fff;
classDef kotlin-jvm fill:#2C4162,stroke:#fff,stroke-width:2px,color:#fff;
classDef android-application fill:#2C4162,stroke:#fff,stroke-width:2px,color:#fff;
class :feature:settings android-library
class :core:common kotlin-jvm
class :core:domain android-library
class :core:ui android-library
class :feature:glasses-list android-library
class :core:testing android-library
class :app android-application
class :core:data-test android-library
class :core:data android-library
class :feature:categories-list android-library
class :feature:cocktails-list android-library
class :feature:cocktail-details android-library
class :feature:ingredients-list android-library
class :feature:home android-library
class :core:database android-library
class :core:datastore android-library
class :core:network android-library

Loading

Architecture

This repository uses recommended Android App architecture. Image of Clean Architecture

About

TheCocktails is a sample Android application 📱 built to demonstrate use of Modern Android development tools: Kotlin, Coroutines/Flow, Compose, Jetpack, Clean Architecture + MVVM, Room, Retrofit, Hilt, Coil.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0