Problem
Customers need a straightforward medicine-ordering flow while store operators need a separate, synchronized product-management experience.
Contribution
- Implemented the Java/Firebase application with role-specific product, cart, address, order, and administration flows.
- Applied Factory, Singleton, Observer, and Adapter patterns to concrete query, state, and list-rendering problems.
- Maintained JVM, UI, and CI coverage with JUnit, Mockito, Robolectric, Espresso, and GitHub Actions.
Case note 01
Two connected products
Customers browse, manage a cart, choose delivery details, and place orders. Administrators add, edit, and remove products with images; Firebase keeps the storefront synchronized.
Case note 02
Patterns with a reason
Patterns are tied to specific responsibilities: Factory builds product queries, Observer refreshes storefront state, Adapter renders collection views, and Singleton centralizes shared models.
Case note 03
Team context
This is collaborative coursework, not a solo commercial product. The portfolio keeps that context visible while linking to the shared repository and runnable emulator.