Fintech Payment Scheduler PoC (Kenya) to secure seed investment. Demonstrates B2C (expense) & B2B (payroll) scheduling with a virtual wallet. Built on .NET 8 (Modular Monolith), it **simulates all financial transactions** (no real M-Pesa/bank APIs) to prototype the core logic without cost or regulatory overhead.
# Dispense 💸
> **The Intelligent Payment Engine for Kenya.**
> *Automating financial workflows for individuals and businesses with bank-grade security.*
.NET 8.0
---
## 📖 Overview
**Dispense** is a fintech Proof of Concept (PoC) designed to solve the complexity of recurring payments in the Kenyan market. It acts as a scheduling and orchestration layer between users and payment rails (like M-Pesa or Banks).
* **For Individuals (B2C):** Schedule Rent, KPLC tokens (888880), and WiFi payments to execute automatically.
* **For Business (B2B):** A "God View" for treasury management. Bulk payroll disbursement and liquidity forecasting.
* **For Investors (Admin):** Real-time traction monitoring via an Executive Dashboard.
---
## 🚀 Key Features
### 👤 Consumer Module
* **Smart Wallets:** Personal virtual accounts.
* **Bill Automation:** Wizard-style setup with KPLC validation.
* **Modern Dashboard:** "Neobank" aesthetic (Blue/White theme).
### 🏢 Business Module
* **RBAC Security:** Strict separation of Personal vs. Company data.
* **Bulk Payroll:** Add employees and schedule salary disbursements.
* **Company Wallet:** Centralized fund management.
* **Executive Theme:** High-contrast "Dark/Gold" UI.
### ⚙️ The Engine
* **Atomic Transactions:** Prevents double-spending using strict database transaction scopes.
* **Background Worker:** `PaymentBackgroundService` runs every minute to process schedules.
* **Resilience:** Uses **Polly** to retry failed bank connections automatically.
* **Mock Rails:** Simulates external bank API latency (500-2000ms).
### 🛡️ Admin & Compliance
* **Mission Control:** Visualization of Total Volume and Transaction Velocity (Chart.js).
* **User Directory:** "Soft Delete" capabilities to suspend users.
* **DPA 2019 Compliant:** Consent capture, audit logging, and public legal pages.
---
## 💻 Local Development Setup
### Prerequisites
1. **.NET 8.0 SDK**
2. **SQL Server** (LocalDB or Docker)
3. **Node.js (LTS)** (For Tailwind CSS)
4. …