Single-Merchant Multi-Branch E-Commerce with Integrated Inventory Management

2 min read
Android Kotlin Clean Arch Koin RxJava MVVM
Table of Contents

Project Overview

Multi-branch e-commerce (retail and wholesale) application in Indonesia with an integrated inventory management system.

  • Role :Android Developer
  • Duration : Feb 2022 - May 2022
  • Tech Stack :Android , Kotlin, MVVM , Clean Arch, RxJava, Koin

User Interface Application

To see the UI, go directly to the application’s features section.

My Contribution

  • API Integration: Integrating REST API endpoints for the Authentication, Catalog, Product, Cart, Order, and Transaction modules.

  • Payment Gateway: Implementing Midtrans payments using consumable APIs from the backend team.

  • Custom UI/UX: Developing custom UI components (such as an integrated search field, wholesale/retail stock filters, and a cart UI) to comply with the design system guidelines.

  • Feature Development: Fully involved in the development of the application’s core modules (Home, Products, Cart, Payment, Orders and Profile).

Technical Implementation

  • Core Architecture: 100% Kotlin with MVVM and Clean Architecture patterns.

  • UI/UX & Performance: Uses XML (ConstraintLayout for complex UIs & LinearLayout for simple UIs) and Custom Views. Optimized with RecyclerView to prevent performance issues (jank).

  • Local Storage: Implements Room Database for local shopping cart state management (storing Product IDs as identifiers).

  • Network & Asynchronous: Utilizes Retrofit2 for network integration and RxJava/RxKotlin for reactive asynchronous process handling.

Feature Application

Disclaimer All product names, logos, and brands are anonymized due to NDA.

Auth System:

Login/Register via standard email

View Screenshots

Product List

Search for products using various search filters View product details, descriptions, and available stock at each store

View Screenshots
123

Cart

Enter a list of items from any store, including the quantity of each item, which can be checked out together or individually

View Screenshots

Order/Checkout

Checkout by selecting items already in your cart Address Selection Courier Selection based on location

View Screenshots
12

Transaction History and Current Transaction Tracking

View ongoing or completed transactions with various statuses

View Screenshots

Address List

Save multiple shipping addresses to calculate shipping costs and destinations.

View Screenshots
123

Payment

Select various payment methods from checkout transactions with step-by-step payment instructions.

View Screenshots

Conclusion

This project helps a store have its own ecosystem if people want to make purchases online and can check their stock in real time and measurably and helps buyers to see more detailed and complete products comfortably because they can do it via the application.


Other Projects

Multi-Platform Native SDK Project (Android, iOS, Flutter, React Native)

2 min read

End-to-end development of a secure, multi-platform SDK focused on file processing and manipulation, tailored for private B2B enterprise integration.

Android Kotlin iOS Swift +7

Smart Recycling & Eco-Rewards Project

3 min read

A mobile application that integrates Reverse Vending Machines (RVMs) to record recycling points in real time via QR code. Collected points can be redeemed for various attractive rewards at RVM…

Dart Fluttter Clean Architecture MVVM +4