All projects

Eways

Multi-module e-payment super-app — bill payments, mobile top-up, wallet, and an in-app store.

2019 – 2020HafHashtad · Tehran, Iran
Kotlin · Java · Multi-module

A consumer e-payment super-app for the Iranian market — utility and phone bill payments, mobile top-up, a wallet, and an integrated store — built within a team at HafHashtad. My work centred on rewriting the single-module app into a modular architecture that several engineers could build in parallel.

What it does

  • Bill inquiry / payment / archive, mobile charging, wallet deposits, and an in-app store (catalog, filtering, cart, orders)
  • A separately-branded B2B2C storefront that reuses the same shared core against the same backend
  • Card and bank payments handled through an integrated third-party PEC gateway

Architecture & testing

  • MVVM with LiveData and a repository pattern, split into remote (Retrofit + RxJava 2) and local (Room) sources
  • Multi-module: a host app, a shared library holding the base classes and feature core, and a second app consuming it
  • A swappable real/mock local layer selected by Gradle flavors, plus a dedicated unit-testing setup — a custom RxJava 2 scheduler rule and ~19 Robolectric-based ViewModel tests — to catch regressions before release
All projectsWork with meWritten from the repository, not the résumé.