SBA MSMEs Online Database Portal - Liberia PAYEI/YEIB Program | Cloud Run + Cloud SQL
# SBA MSMEs Online Database and Reporting Portal
> **Bureau of Small Business Administration (SBA)**
> Ministry of Commerce and Industry — Republic of Liberia
> PAYEI Program — Sub-Project A: Youth Entrepreneurship and Investment Bank (YEIB)
---
## Overview
A production-ready, government-grade national inventory system for **Micro, Small, and Medium Enterprises (MSMEs)** and **Business Development Service Providers (BDSPs)** across all 15 counties of Liberia. Built for policy decisions, financial inclusion, youth/women entrepreneurship monitoring, and donor reporting.
## Key Features
| Feature | Description |
|---|---|
| 📊 Executive Dashboard | Real-time KPIs, charts by county/sector/category, data quality gauge |
| 🏢 MSME Registry | 5-step registration wizard, workflow approval pipeline, GPS capture |
| 👥 BDSP Directory | Service provider registry with availability status and service matching |
| 🗺️ GIS Map | Leaflet-based interactive map with MSME + BDSP layers and county filters |
| 📄 Report Engine | Configurable national/county/sector/inclusion reports with CSV export |
| 📥 Bulk Import | Drag-and-drop CSV/Excel upload with dedup, validation, and rollback |
| 📴 Offline PWA | IndexedDB-backed offline field data collection + sync status |
| 🔐 RBAC Security | 10 user roles, permission-based UI, JWT + refresh tokens, audit log |
| 🔔 Notifications | In-app notification system with real-time unread count |
| 🛡️ Audit Trail | Full audit log of all system actions with user, entity, IP tracking |
## Tech Stack
### Backend
- **Runtime**: Node.js 20 + TypeScript
- **Framework**: Express.js
- **ORM**: Prisma + PostgreSQL 16
- **Auth**: JWT (access + refresh), bcrypt, RBAC middleware
- **Validation**: Zod
- **File Upload**: Multer (max 10MB)
- **API Docs**: Swagger UI at `/api/docs`
### Frontend
- **Framework**: Vite + React 18 + TypeScript
- **Styling**: Tailwind CSS 3 (custom Liberian government palette)
- **State**: TanStack Query (React Query) v5
- **Forms**: Rea …