Skip to content

E-Commerce android application built with Jetpack Compose.

License

Notifications You must be signed in to change notification settings

slowburn-404/Malltiverse

Repository files navigation

Malltiverse

An E-Commerce Android application that consumes the Timbu API.

Wireframes

Demo

Features

  • List products by category.
  • Favourite/add to wishlist.
  • Add/remove products to/from carts.
  • Local data persistence of wishlist.
  • Save completed orders locally.
  • Simulated payment flow.

Architecture Overview

  • The application utilizes the Model-View-ViewModel (MVVM) architecture pattern. The Model (Data layer) is responsible for data retrieval from the API and SQLite Database and uses the repository pattern. It uses a mapper to transform data layer objects to domain layer objects.
  • The Domain contains objects used it the Presentation layer. It also uses a mapper to transform the objects to data layer objects.
  • The Presentation layer wraps the View, which consists of Activities made up of UI elements called Composables, and the ViewModel, holds the state for the screen (View) and data retrieved from the Model.
MVVM Architecture

Technology Stack

  • Kotlin: The official programming language for developing Android applications.
  • Jetpack Compose: A modern UI toolkit for building Android applications in Kotlin.
  • Retrofit: A HTTP client for Android used to make network calls to the Timbu API.
  • Coil: A lightweight image loading library.
  • Coroutines: A concurrency design pattern in Kotlin used to make asynchronous network calls (on a background thread).
  • Gson: A library used to convert Kotlin objects to and from JSON objects (serialization and deserialization).
  • OkHttp: A HTTP client library for Android and Java applications used to make network requests.
  • OkHttp Logging Interceptor: Used for logging HTTP request and response data.
  • ViewModel: A lifecycle-aware Android Architecture Component for holding state.
  • Room Persistence Library: Android Jetpack Library for local data caching.

Screenshots

Products' List Cart Checkout Payment Payment Complete Order history Single Order Wishlist

Setup Instructions

  1. Clone the repository to your local machine.
git clone https://github.com/slowburn-404/HNGInternship.git

cd Malltiverse
  1. Open in Android Studio
  • Open Android Studio
  • Select File > Open...
  1. Retrieve an API Key for authentication.
  • Create an account on Timbu Cloud.
  • Follow this guide to retrieve your API Key and App ID.
  1. Retrieve the organization_id
  • On your Timbu Dashboard, navigate to Settings > Advanced and you will find your Organization ID.
  • In the root directory of your project, add the API Key, App ID, and the Organization ID to the local.properties file.
apiKey=YOUR_API_KEY
orgID=YOUR_ORGANIZATION_ID
appID=YOUR_APP_ID
  1. Build and run the app
  • Ensure your Android device or emulator is set up.
  • Click on the Run button or use Shift + F10.

License

This project is licensed under the Apache-2.0 License. See the LICENSE file for more details.

About

E-Commerce android application built with Jetpack Compose.

Resources

License

Stars

Watchers

Forks

Languages