B2B Pharmacy Inventory & Supply Chain Management System
A lightweight, focused inventory management platform built for pharmacy chains with multiple branches — solving real inventory visibility, expiry tracking, and supplier management problems without the complexity (or cost) of enterprise ERP systems.
🔗 Live Demo: pharma-chain-five.vercel.app
PharmaChain was designed around a real discovery conversation with a pharmacy chain owner managing 5 branches across Cairo and Giza, still relying on scattered Excel sheets and WhatsApp messages to track inventory. The system focuses on three core problems:
- Unified inventory visibility across all branches in one place
- Automated expiry date tracking to reduce financial loss and legal risk
- Centralized supplier account management
This is an MVP-focused build — a single developer's take on solving one problem well, rather than replicating a full ERP suite.
- 🔐 Authentication — Register/Login with role-based access (Admin, Store Employee, Purchasing Pharmacist)
- 📦 Inventory Control — Add, edit, delete, and search stock items with SKU/batch tracking, stock levels, and expiry dates
- 🗂 Category filtering & search across the inventory table
⚠️ Low stock indicators with visual status badges- ✅ Confirmation dialogs (SweetAlert2) for destructive actions like item deletion
- 🧭 Protected routes with client-side auth guarding
- Branches management page
- Suppliers & purchase orders
- Expiry tracking dashboard with color-coded alerts
- Reports (stock report, supplier balance)
- Pagination & dynamic categories
Frontend
- React (Vite)
- React Router
- Formik + Yup (form handling & validation)
- Tailwind CSS + DaisyUI
- SweetAlert2
- Axios
Backend
- Strapi (headless CMS / REST API)
- PostgreSQL (hosted on Supabase)
Infrastructure
- Frontend deployed on Vercel
- Backend deployed on Render
- Database on Supabase (PostgreSQL, session pooler)
- Node.js (v18+)
- npm or yarn
git clone https://github.com/Noor-Riyadh/PharmaChain.git
cd PharmaChain
npm installCreate a .env file in the root:
VITE_API_URL=your_strapi_backend_url
Run the dev server:
npm run devThe Strapi backend lives in a separate repository: pharmachain-backend
Noor Riyadh Graduation Project — EraaSoft
This project is under active development as part of a graduation project.