🚀
Groceries Store
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
- Background vector created by freepik - www.freepik.com
- Food vector created by terdpongvector - www.freepik.com
Architecture
MAD Scorecard:
Libraries
- Glide - Loading images.
- Timber - Logging.
- Retrofit2 - Construct the REST APIs and paging network data.
- Moshi - A modern JSON library for Kotlin and Java.
- 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
Firestore
- Create your Firebase account and setup your own Google service following instruction from Firebase
- Update the properties in each collection as below
-
products
category
: reference (to specific category)description
: stringid
: stringimage
: stringname
: stringnutrition
: stringprice
: number
-
orders
address
: stringlineItems
: arraytotal
: number
-
categories
description
: stringimage
: stringname
: string
-
users
address
: stringemail
: stringname
: stringphone
: string
- If you have any changes in the Firestore collections, feel free to update the
FirebaseStoreConstant.kt
file
❤️
Find this repository useful? Support it by joining stargazers for this repository.
Also, follow me on GitHub for my next creations!