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 …