A Flask-based UPI payment simulation system that mimics core digital payment features.
- User Registration & Authentication
- Secure Password Hashing
- Money Transfer via UPI ID
- Balance Checking
- Transaction History
- MySQL Database Integration
-
Clone Repository
git clone <your-repo-url> cd upi_transaction_simulator
-
Install Dependencies
pip install -r requirements.txt
-
Setup MySQL Database
- Create database:
CREATE DATABASE upi_db;
- Run the SQL commands provided in the code comments
- Create database:
-
Configure Environment
- Copy
.env.example
to.env
- Update database credentials
- Copy
-
Run Application
python app.py
POST /api/auth/register
- User registrationPOST /api/auth/login
- User login
GET /api/wallet/balance/<upi_id>
- Check balancePOST /api/wallet/transfer
- Transfer moneyGET /api/wallet/history/<upi_id>
- Transaction history
- Backend: Flask (Python)
- Database: MySQL
- Password Security: flask-bcrypt
- Environment Management: python-dotenv
upi_transaction_simulator/
├── app.py # Main Flask application
├── db.py # Database connection
├── models/
│ ├── user.py # User model
│ └── transaction.py # Transaction model
├── routes/
│ ├── auth.py # Authentication routes
│ └── transaction.py # Transaction routes
├── utils/
│ └── helpers.py # Utility functions
├── .env # Environment variables
├── requirements.txt # Dependencies
└── README.md # Documentation
Import the sample API calls provided in the code comments to test all endpoints.
- JWT Authentication
- Rate Limiting
- Transaction Status Updates
- Payment Gateway Integration
- Frontend UI """