Connect. Pay. Browse — Seamlessly. This is a comprehensive WiFi billing system designed specifically for Kenya, featuring M-Pesa integration, MikroTik router control, and a modern web-based admin dashboard.
# DenisTec - Smart WiFi Billing System
**"Connect. Pay. Browse — Seamlessly."**
This is a comprehensive WiFi billing system designed specifically for Kenya, featuring M-Pesa integration, MikroTik router control, and a modern web-based admin dashboard.
## 🌟 Features
### 🧍♂️ Customer Features
- **Captive Portal**: Custom-branded login page with mobile-first design
- **M-Pesa Integration**: STK Push and Paybill payments via Daraja API
- **Multiple Plans**: Time-based, data-based, and subscription packages
- **Auto-Connect**: Automatic internet access after payment
- **Real-time Status**: Connection status and usage monitoring
- **Multi-language**: English and Swahili support
### 💼 Admin Features
- **Dashboard**: Real-time analytics and system monitoring
- **User Management**: Customer account management and activity tracking
- **Plan Management**: Create and manage internet packages
- **Session Control**: Monitor and terminate user sessions
- **Payment Tracking**: Complete payment history and reporting
- **Router Integration**: MikroTik API for bandwidth and access control
### 🔧 Technical Features
- **Modern Stack**: React 18 + TypeScript + Node.js + PostgreSQL
- **Security**: JWT authentication, HTTPS, rate limiting
- **Scalable**: Cloud-ready with Docker support
- **Notifications**: SMS alerts via Africa's Talking
- **API-First**: RESTful API with comprehensive documentation
## 🏗️ Architecture
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Customer │ │ Admin │ │ MikroTik │
│ Portal │ │ Dashboard │ │ Router │
│ (React) │ │ (React) │ │ (API) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────┐
│ Backend API │
│ (Node.js) │
└─────────────────┘
│
┌─────────────────┐
│ PostgreSQL │
│ Database …