Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/hieuwu/android-groceries-store

A Groceries Store app with basic order flow. 🍕 Help you learn modern Android development skills in real production environment. ❤️
https://github.com/hieuwu/android-groceries-store

android-architecture-components android-development android-jetpack-compose androidx hacktoberfest jetpack-compose mvvm-architecture supabase supabase-client

Last synced: 3 months ago
JSON representation

A Groceries Store app with basic order flow. 🍕 Help you learn modern Android development skills in real production environment. ❤️

Lists

README

        

🚀 Groceries Store

[![Android CI](https://github.com/hieuwu/android-groceries-store/actions/workflows/app-build.yml/badge.svg?branch=main)](https://github.com/hieuwu/android-groceries-store/actions/workflows/app-build.yml)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=hieuwu_android-groceries-store&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=hieuwu_android-groceries-store)

![Groceries Store](https://user-images.githubusercontent.com/43868345/233767546-ba25566b-7926-4140-82fe-12346a1f357e.png)

[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-black.svg)](https://sonarcloud.io/summary/new_code?id=ARK-Builders_arklib-android)

[Download on Google Play Store](https://play.google.com/store/apps/details?id=com.hieuwu.groceriesstore)

## About
Groceries Store is a project to help people order grocery online. The main purpose of this project is to demonstrate modern Android development skills in real production environment, reduce the learning curve when jump into Android development world.

## UI Design & Architecture

**Design**
- [Groceries Store Design](https://www.figma.com/file/exhlJtkLIcHvfxd8SDja3T/Online-Groceries-App-UI-(Community)?node-id=1%3A2)
- Background vector created by freepik - www.freepik.com
- Food vector created by terdpongvector - www.freepik.com

**Architecture**
- [Use Case](https://proandroiddev.com/why-you-need-use-cases-interactors-142e8a6fe576)
- [Clean Architecture](https://medium.com/@dmilicic/a-detailed-guide-on-developing-android-apps-using-the-clean-architecture-pattern-d38d71e94029)
- [MVVM Architecture](https://medium.com/swlh/understanding-mvvm-architecture-in-android-aa66f7e1a70b)

## Libraries
- [Glide](https://github.com/bumptech/glide) - Loading images.
- [Timber](https://github.com/JakeWharton/timber) - Logging.
- [Retrofit2](https://github.com/square/retrofit) - Construct the REST APIs and paging network data.
- [Moshi](https://github.com/square/moshi/) - A modern JSON library for Kotlin and Java.
- [Hilt](https://dagger.dev/hilt/) for dependency injection.
- JetPack
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Room Persistence - construct a database using the abstract layer.

## Setup

#### Android Studio
Android Studio Bumblebee or later
SDK 23 or later

#### Supabase
See [Supabase Wiki](https://github.com/hieuwu/android-groceries-store/wiki) to keep track the process
Database Schema:

**categories**
id | image | name | _id |
--- | --- | --- | --- |

**line_items**
id | lineItemId | productid | quantity | subtotal|orderId|
--- | --- | --- | --- | --- | --- |

**orders**
orderId | status |
--- | --- |

**products**
_id | name | description | price | image|category|nutrition|productid
--- | --- | --- | --- | --- | --- | --- | --- |

**users**
id | name | email | phone | isOrderCreatedNotiEnabled|isPromotionNotiEnabled|isDataRefreshedEnabled|address
--- | --- | --- | --- | --- | --- | --- | --- |

## Find this repository useful? :heart:
Support it by joining __[stargazers](https://github.com/hieuwu/android-groceries-store/stargazers)__ for this repository. :star:

Also, __[follow me](https://github.com/hieuwu)__ on GitHub for my next creations! 🤩

## Contributors ✨

[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors-)

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Saurabh Patel
Saurabh Patel

💻
Aditya Gupta
Aditya Gupta

🎨 💻 💡
Dmitriy
Dmitriy

💻
Devendra Varma
Devendra Varma

💻
Amartya
Amartya

🎨
NLC
NLC

🎨 💻
Fredrik Henricsson
Fredrik Henricsson

💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!