This sample shopping app is a task from HNG11 stage 3 & 4.
A modification of Outlet project
- Shows list of products fetched from remote source
- Displays product details
- Explore products by category
- Requires internet connection
- Add to and remove from cart
- Handles error state properly
- Saves and displays order history in details
-
Shows a list of products/items remotely fetched from the Timbu API.
-
Clean and Simple Material UI
-
This project was built with Clean Architecture and MVVM pattern.
There are four modules in this project:
app
- The main module serving as the user interface/communication layerdomain
- Houses the entities and use-caseslocalDataSource
- Stores and fetches stored data (like cart items, wishlist, order history), from local source using persistence frameworksremoteDataSource
- Fetches data from internet and manipulates it
Explore the virtualized demonstration of the release apk version here
Or you can install the apk from below 👇🏽
You can build the app via Android Studio, or by running the following command in your directory:
./gradlew <assembleDebug | assembleRelease>
You can then find the apk file in DeStore/app/build/outputs/apk
- Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI.
- Coil-kt - Image loading for Android and Compose Multiplatform.
- Koin - Reduces boilerplate of doing manual dependency injection in your project.
- Material3 - Google's latest design system with adaptable components and tools that support the best practices of user interface design for building beautiful apps.
- Kotlin Coroutine - For executing tasks asynchronously.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Retrofit - A type-safe HTTP client for Android and Java.
- Moshi - A modern JSON library for Kotlin and Java.
- OkHttp - An efficient HTTP & HTTP/2 client for Android and Java.
- Room Database - A persistent local data storage library.