Personal Finance Manager (PFM) is a tool designed to help individuals manage their finances effectively. With features for tracking income, expenses, and budgeting.
- Multiple Accounts: Track various accounts in one place.
- Embedded Database System: Includes an internal database (cloud-based aswell) to store financial data.
- Budgeting Tools: Set up custom budgets and track spending by category (groceries, entertainment, etc.).
- Income & Expense Tracking: Log all transactions and categorize them easily.
- Data Visualization: Charts and graphs to visualize financial trends and spending patterns.
- Internal Chatbot: Use a chatbot to assist in interacting with PFM and get quick tips or insights.
This project is built using the following technologies:
- HTML/CSS: for TOS and PP.
- Python for backend logic, data processing, and frontend (PyQt5).
- SQL for database management to store financial data.
- Markdown for easy documentation and support.
To get started with the project, follow these steps:
- Clone the repository:
git clone https://github.com/AtlasCJr/pfm.git
- Navigate to the project directory:
cd pfm - Install dependencies:
pip install -r requirements.txt
- Start the application:
python main.py
PFM.exe
- Files in the other folder are not executable unless they are moved out of the folder, to the same hierarchy level as the folder (root).
- The application includes two pre-configured user accounts with the following credentials and security question answers:
- Username: "user1", Password: "user1_template", Security Answer: "depok"
- Username: "user2", Password: "user2_template", Security Answer: "jakarta"
- A Gemini API key is required to use the application. The key should be placed in other/API.key. However, an API key has already been added for now.
- For the app:
- 'Login' page wouldn't show if you are already logged in.
- 'Visualize', 'Analyze', 'Profile', and 'Edit' pages will not be available unless the user is logged in.
- 'Visualize' and 'Edit' pages will only be accessible if the user's account has a minimum of two transactions.
- The 'Analyze' page will be unavailable unless the user's account contains transactions with a minimum time gap of one year (e.g., from 31st December 2023 to 1st January 2024).