A full-stack online pharmacy e-commerce platform for Thrive Pharmacy (Kenya) β React, Node.js, PostgreSQL, Prisma, M-Pesa
# π₯ Thrive Online Pharmacy
A full-stack online pharmacy e-commerce platform built for **Thrive Pharmacy Kenya**. Customers can browse medications, place orders, upload prescriptions, and pay via **M-Pesa STK Push**. Admins manage inventory, orders, and prescription approvals from a dedicated dashboard.
---
## β¨ Features
### Customer Storefront
- π **Homepage** β Featured products, category navigation, search bar
- π **Product Catalog** β Filter by category, price, prescription type; sort options
- π **Product Detail** β Description, dosage info, stock status, customer reviews
- π **Shopping Cart** β Add/remove items, update quantities, live subtotals
- π **Checkout** β Delivery address management, payment method selection
- π **Order Tracking** β Real-time order status timeline, prescription upload
- π€ **Customer Account** β Profile management, address book, order history
### Prescription Handling
- π€ Upload prescription images (JPEG, PNG, PDF) during checkout
- π¬ Admin/pharmacist review queue with approve/reject workflow
- π§ Email + SMS notifications on prescription status updates
### Admin Dashboard
- π **Analytics** β Revenue charts, order counts, customer stats, low-stock alerts
- π¦ **Product Management** β Add/edit/delete products, prescription flags, images via Cloudinary
- π **Order Management** β Status updates (Processing β Dispatched β Delivered), tracking numbers
- π **Prescription Queue** β View uploaded prescriptions, approve or reject with notes
- π₯ **Customer Management** β View all customers, activate/deactivate accounts
### Payments
- π± **M-Pesa STK Push** β Safaricom Daraja API integration with callback handler
- π΅ **Cash on Delivery** β Supported out of the box
- π³ **Card Payment** β Placeholder ready for Stripe/Flutterwave integration
### Notifications
- βοΈ Order confirmation emails (HTML template)
- π± SMS notifications via Africa's Talking (structure ready)
- π§ Order status update emails
---
## π οΈ Tech Stack
| Layer | Technology β¦