Digital Wallet Simulator is a console-based financial management application developed in Python. The system simulates the core functionalities of a modern digital wallet, allowing users to securely manage funds, perform transactions, track spending activity, and maintain savings goals through a menu-driven interface.
The application uses JSON-based storage to maintain persistent user data, ensuring that account information, balances, and transaction records remain available across multiple program executions.
- User Registration
- Secure PIN-Based Login
- User Authentication
- PIN Change Functionality
- Deposit Funds
- Withdraw Funds
- Balance Inquiry
- Real-Time Balance Updates
- Transfer Funds Between Registered Users
- Recipient Validation
- Automatic Balance Synchronization
- Complete Transaction History
- Deposit Records
- Withdrawal Records
- Transfer Records
- Bill Payment Records
- Timestamp-Based Logging
- Create Savings Goals
- Track Goal Progress
- Monitor Remaining Target Amount
- Utility Bill Payment Simulation
- Automatic Wallet Deduction
- Transaction Recording
- Persistent User Accounts
- Persistent Wallet Balances
- Persistent Transaction Records
- JSON-Based Data Storage
The project follows a modular function-based architecture where each wallet operation is implemented as an independent function. User interactions are handled through a menu-driven interface that validates inputs and guides users through available operations.
User data is stored in JSON files, allowing account information, balances, transaction histories, and savings goals to persist between sessions without requiring a database management system.
The application includes validation checks for:
- User Authentication
- PIN Verification
- Valid Transaction Amounts
- Sufficient Wallet Balance
- Existing Recipient Accounts
- Input Validation and Error Handling
- Python 3
- JSON Files
jsondatetimetime
- Functions
- Dictionaries
- Lists
- Loops
- Conditional Statements
- Exception Handling
- File Handling
- Modular Programming
Digital-Wallet-Simulator/
│
├── digital_wallet.py
├── users.json
├── transactions.json
├── README.md
└── LICENSE
- User registers an account and creates a secure PIN.
- User credentials are stored in JSON format.
- User logs in using account credentials.
- Wallet operations are accessed through the dashboard menu.
- Transactions are validated before execution.
- Account balances are updated automatically.
- Transaction details are recorded and stored permanently.
- User data remains available across future sessions.
- Console-Based Digital Wallet Application
- Multi-User Support
- Secure PIN Authentication
- Persistent JSON Storage
- Transaction History Management
- Savings Goal Tracking
- Bill Payment Simulation
- Input Validation and Error Handling
- Modular Function-Based Design
- User-Friendly Menu-Driven Interface
Adrika Kumari
Developed as an academic Python project to simulate real-world digital wallet operations while applying Python programming, file handling, data management, and software design principles.