Skip to content

Nnamodi/DeStore

Repository files navigation

DeStore

This sample shopping app is a task from HNG11 stage 3 & 4.

A modification of Outlet project

Screenshots

:::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::
Home screen Details screen List screen Cart screen Checkout screen Order History screen

Features

  • 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

About

  • 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 layer

    domain - Houses the entities and use-cases

    localDataSource - Stores and fetches stored data (like cart items, wishlist, order history), from local source using persistence frameworks

    remoteDataSource - 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 👇🏽

DeStore App

Build Instructions

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

Developed with

  • 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.