Logo Lanfrica

steve-ongera/mpesa_system_application

Domain:

digital infrastructure

Record type:

software
Creator:
ste
Host:
A comprehensive full-stack mobile money system built with Django REST Framework and React, featuring phone number authentication, money transfers, deposits, withdrawals, and real-time transaction management. # πŸ’° M-Pesa System - Full Stack Mobile Money Application A comprehensive full-stack mobile money system built with Django REST Framework and React, featuring phone number authentication, money transfers, deposits, withdrawals, and real-time transaction management. Features β€’ Tech Stack β€’ Installation β€’ API Documentation β€’ Project Structure β€’ Screenshots --- ## πŸ“‹ Table of Contents - Overview - Features - Tech Stack - System Architecture - Detailed Project Structure - Installation - API Documentation - Database Schema - Authentication Flow - Transaction Flow - Usage Examples - Testing - Deployment - Contributing - License --- ## 🎯 Overview The M-Pesa System is a production-ready mobile money platform that replicates the core functionality of popular mobile money services. Built with modern technologies and best practices, it demonstrates mastery of: - **RESTful API Design** - Clean, versioned API architecture - **Authentication & Authorization** - JWT-based secure authentication - **Transaction Management** - ACID-compliant financial transactions - **State Management** - Efficient client-side state with Zustand - **Real-time Updates** - Live balance and notification updates - **Security** - PIN hashing, token refresh, database locking ### πŸŽ“ Learning Objectives This project is designed to master: - Django REST Framework ViewSets and Serializers - Custom user authentication with phone numbers - Financial transaction handling with database locks - JWT authentication with token refresh - React state management and API integration - Full-stack application architecture --- ## ✨ Features ### πŸ” Authentication & Security - βœ… **Phone Number Authentication** - Login with phone number + 4-digit PIN - βœ… **JWT Tokens** - Secure token-based authentication with auto-refresh - βœ… **PIN Security** - Hashed PINs using Django's password hashers - βœ… **User Verification** - Account verification system - βœ… **Session Management** - Secure logout with token blacklisting …