An E-Commerce Android application that consumes the Timbu API.
- 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.
- 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.
- 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.
- Clone the repository to your local machine.
git clone https://github.com/slowburn-404/HNGInternship.git
cd Malltiverse
- Open in Android Studio
- Open Android Studio
- Select
File
>Open...
- Retrieve an API Key for authentication.
- Create an account on Timbu Cloud.
- Follow this guide to retrieve your API Key and App ID.
- 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
- Build and run the app
- Ensure your Android device or emulator is set up.
- Click on the
Run
button or useShift + F10
.
This project is licensed under the Apache-2.0 License. See the LICENSE file for more details.