Logo Lanfrica

Morgan-Ngetich/mpesa-dashboard

Domain:

digital infrastructure

Record type:

software
Creator:
Mor
Host:
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)

Languages