Orders previously arrived as social media messages, with no record of what was ordered, what was in stock, or what had been fulfilled. This replaced that with a customer-facing storefront priced in Ethiopian Birr and an admin back office where the owner manages inventory and moves orders through their lifecycle.
Decision
There is no payment gateway. The admin confirms and records each order manually.
Why
That matches how the business already worked and holds at current volume.
Cost
The admin sits in the critical path of every sale.
This is the only project here with a paying client and real orders.
Stack
React: Boutique storefront interface.
TypeScript: Type safety across products, cart and order states.
Node: API runtime for catalogue and orders.
Express: Routing and order submission endpoints.
MongoDB: Document store for products and order records.