website
# M-Pesa Dashboard
## π¨ Confidentiality Notice
This project **does not use a database** to ensure the confidentiality of M-Pesa transaction data.
## ποΈ Project Overview
M-Pesa Dashboard is a **financial analytics and reporting system** designed to process, visualize, and analyze M-Pesa transactions in real-time. It is built using **FastAPI, Kafka, React, and Kubernetes**, with **OpenShift** handling container orchestration.
## π οΈ Technology Stack
- **Frontend:** Vite + React + TypeScript
- **Backend:** FastAPI + Python
- **Message Queue:** Kafka (for event-driven processing)
- **Containerization & Orchestration:** Docker, Kubernetes, OpenShift
- **Storage:** Persistent Volume Claims (PVC) for file storage
- **Reverse Proxy & Caching:** Nginx
## βοΈ System Architecture
1. **Frontend (React)**
- Provides a dashboard for users to view transaction analytics.
- Communicates with the backend via REST API.
2. **Backend (FastAPI)**
- Handles transaction processing and analytics.
- Uses **Kafka** for event-driven messaging.
- Exposes APIs for the frontend.
3. **Kafka**
- Enables high-performance, event-driven transaction processing.
- Ensures scalability for large volumes of transaction data.
4. **Nginx**
- Serves the frontend application.
- Acts as a reverse proxy for backend APIs.
5. **Kubernetes & OpenShift**
- The system is deployed using OpenShift.
- Uses **Pods, Deployments, Services, and Persistent Volumes** for efficient resource management.
---
## π Deployment Instructions
### π οΈ Clone the Repository
```sh
git clone
github.com
cd mpesa-dashboard
```
### π³ Run the Project Using Docker Compose
```sh
docker compose up -d
```
Once the containers are running, access the dashboard at:
```sh
localhost
```
### π Additional Setup Guides
- Frontend Setup Guide
- Backend Setup Guide
## Demo with Images
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)