The SQLite Wallet App revolutionizes personal finance management with a user-friendly Python terminal interface. Aimed at abstracting SQL complexities, this app provides an accessible platform for managing multiple wallets, focusing on simplicity and security.
-
User and Wallet Management
- Stores essential user information, including usernames, passwords, and wallet balances in USD.
-
Intuitive Python Interface
- Utilizes CS50's Library, Python, and SQL modules for a seamless user experience.
-
Comprehensive Service Suite
- Offers 10 services post-login such as viewing wallets, managing funds, and account settings adjustments.
-
Automated Checks
- Implements validation for usernames, passwords, wallet names, and balance sufficiency, ensuring secure transactions and data integrity.
-
CRUD Operations Support
- Enhances functionality and versatility without compromising on simplicity.
-
User-Centric
- Designed with the end-user in mind, ensuring easy financial management within a secure environment.
-
Continuous Operation
- Allows for uninterrupted use with confirmation prompts post-action, enhancing user convenience.
-
Simplicity vs. Features
- Focuses on core functionalities, excluding transaction history, transfers between user-owned wallets, or currency options to streamline use.
-
Interface and Engagement
- The terminal-based interface, while user-friendly, may lack the sophistication of professional apps, potentially affecting user engagement.
-
Unique Constraints
- Currently does not prevent duplicate usernames or wallet names, which could lead to account management inaccuracies.
-
Security Measures
- The absence of restrictions on deposit amounts and checks against reusing previous or existing credentials could pose security risks.
-
Code Modularity
- The Python code could be improved with a more modular structure to enhance maintainability and functionality.
2-minute preview:
CS50SQL-preview.mp4
Watch the 10-minute detailed preview video here
-
Clone the repository:
git clone https://github.com/mohamedelziat50/SQLite-Wallet-App.git
-
Navigate to the project directory:
cd SQLite-Wallet-App
-
Ensure Python and SQLite are installed on your system.
-
Run the program:
python program.py