A modern, role-based inventory management system built for BRALIRWA (Brasseries, Limonaderies et Agroalimentaires du Rwanda) distributors.
# BRALIRWA Distributor Inventory Management System
A modern, role-based inventory management system built for BRALIRWA (Brasseries, Limonaderies et Agroalimentaires du Rwanda) distributors.
## Tech Stack
- **Frontend:** React 19, Next.js 15, TypeScript, Tailwind CSS v3, shadcn/ui
- **Backend:** Supabase (PostgreSQL, Auth, RLS, Storage, Realtime, Edge Functions)
- **State:** Zustand, TanStack Query
- **UI:** Recharts, Framer Motion, Lucide Icons
- **Forms:** React Hook Form + Zod
- **PDF:** jsPDF + jspdf-autotable
## Features
- **5 User Roles:** Super Admin, Manager, Storekeeper, Salesperson, Accountant
- **22+ Database Tables:** Products, Customers, Suppliers, Warehouses, Purchases, Sales, Deliveries, Transfers, Users, Notifications, Audit Logs, etc.
- **Full CRUD** on all entities with modals (Add/Edit/View/Delete)
- **Dashboard** with real-time KPIs, charts (sales trends, top products, warehouse stock), and notifications
- **Global Search** (Cmd+K) across products, customers, suppliers
- **Dark/Light Mode** toggle
- **Role-Based Access Control** via Supabase RLS policies
- **Realtime Updates** via Supabase Realtime subscriptions
- **PDF Invoice Generation**
- **CSV/Excel Export**
- **Audit Trail Logging**
- **Materialized Views** for performance optimization
- **Full-Text Search** via PostgreSQL tsvector + GIN indexes
## Quick Start
```bash
# Install dependencies
npm install
# Set up environment
cp .env.example .env.local
# Edit .env.local with your Supabase credentials
# Run development server
npm run dev
```
Open
localhost
## Test Accounts
| Role | Email | Password |
|------|-------|----------|
| Super Admin | admin@bralirwa.rw | Admin@12345 |
| Manager | manager@bralirwa.rw | Manager@12345 |
| Storekeeper | storekeeper@bralirwa.rw | Keeper@12345 |
| Salesperson | salesperson@bralirwa.rw | Sales@12345 |
| Accountant | accountant@bralirwa.rw | Account@12345 |
## Database Setup
Run the SQL migrations in the Supabase Dashboard SQL Editor i …