Skip to content

mersinatra/PennyPilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PennyPilot - Personal Finance Management App

PennyPilot is a personal finance management desktop application designed to help users track their transactions, manage budgets, and monitor recurring expenses. With a sleek interface built using Flask (Python) and Bootstrap, PennyPilot offers visual reports and tools to provide a comprehensive overview of your financial health.


Table of Contents

  1. Features
  2. Installation
  3. Usage
  4. Project Structure
  5. Screenshots
  6. Contributing
  7. License
  8. Contact

Features

  • Transaction Management:

    • Add, edit, and delete transactions across multiple categories (e.g., Food, Rent, Utilities).
  • Recurring Transactions:

    • Automatically manage recurring transactions with support for daily, weekly, and monthly frequencies.
    • Simplifies your personal finances, can be used for Income, Subscriptions or other frequent payments.
  • Budget Tracking:

    • Create and track budgets for different categories, and receive alerts when approaching or exceeding budget limits.
  • Dashboard Overview:

    • Get a quick glance at total income, expenses, and current balance, as well as a calendar view of recurring transactions, a pie chart of expenses by category, and a table of recent transactions/upcoming transactions.
  • Data Import/Export:

    • Import transaction data from CSV or JSON files and *export your data for backup or analysis.

      **Export functionality is yet to be implemented.

  • Visualizations and Reports:

    • Display monthly, quarterly, and yearly financial reports, based on start and end dates.

      **Visualization functionality is yet to be implemented.


Installation

Prerequisites

  • Python 3.x

Steps:

  1. Clone the Repository:

    git clone https://github.com/mersinatra/PennyPilot.git

    cd PennyPilot

  2. Set Up a Virtual Environment:

    python -m venv venv

    source venv/bin/activate

Windows: venv\Scripts\activate

  1. Install Dependencies:

    pip install -r requirements.txt

  2. Run the Application:

    python main.py


Usage

1. Transaction Management

  • Adding a Transaction:

    • Navigate to the Transactions tab, and click "Add Transaction." Fill in the amount, date, category, and any additional notes, then save.
  • Editing or Deleting a Transaction:

    • Right-click on an existing transaction to edit or delete it.

2. Recurring Transactions

  • Setting Up Recurring Transactions:
    • In the Recurring tab, select "New Recurring Transaction." Define the amount, frequency (daily, weekly, monthly), and start/end dates.

3. Budget Tracking

  • Creating Budgets:

    • In the Budgets tab, create a new budget by selecting the category and setting the desired budget amount for a specific period (e.g., monthly).
  • Monitoring Budgets:

    • Check the dashboard or the Budgets tab to see how close you are to reaching your budget limits for each category.

4. Data Import/Export

  • Importing Data:

    • Navigate to the File menu, select "Import Data," and choose a CSV or JSON file to import.
  • Exporting Data:

    • Use the "Export Data" option in the File menu to back up your transactions as CSV or JSON files.

5. Dashboard Overview

  • The dashboard displays your total income, expenses, and current balance, along with graphical visualizations of your spending habits.

6. Visual Reports

  • Expense Breakdown:

    • View a pie chart of your expenses by category.
  • Category Trends:

    • Monitor your spending patterns by category over time through line charts and bar graphs.

Project Structure

penny_pilot/ ├── models/ │ └── database.py # Database schema and ORM setup ├── views/ │ └── main_window.py # PyQt GUI components ├── controllers/ │ └── main_controller.py # Business logic and user input handling ├── resources/ │ └── icons/ # Icons and graphic assets ├── utils/ │ └── helpers.py # Utility functions for data processing ├── main.py # Application entry point ├── requirements.txt # List of Python dependencies └── README.md # Project documentation


Screenshots

Include screenshots of the UI to showcase the application layout and features.

  • Dashboard View

    Dashboard

  • Add Transaction Form

    Add Transaction

  • Import Data

    Import Data


Contributing

Contributions are welcome! If you'd like to contribute to PennyPilot, follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -m "Add some feature").
  4. Push to the branch (git push origin feature-branch).
  5. Open a pull request.

License

PennyPilot is licensed under the MIT License. See LICENSE for more information.


Contact

For any inquiries or feedback, feel free to reach out:


Let me know if any feature needs more details, or if you'd like to modify some parts of this README to reflect the app's functionality better.

About

PennyPilot: A sleek personal finance management web app built with Python using Flask, designed for tracking transactions, managing budgets, and visualizing financial data.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors