Skip to content

MyFinances is a web application that can help you as an individual, or team, manage your finances!

License

Notifications You must be signed in to change notification settings

TreyWW/MyFinances

Code Formatter Dependency Review Test Code style: black

MyFinances is an open-source web application designed to empower individuals and teams to efficiently manage their finances. Whether you're tracking personal expenses, managing client invoices, or planning your financial goals, MyFinances provides a user-friendly platform to streamline these tasks.

PLEASE NOTE: This project is still in development, and has only just started! So none of the key features or descriptions have been fully implemented. We are beginner friendly and looking for contributors!

Key Features

  • Expense Tracking: Easily record and categorize your expenses, upload photos of receipts, and visualize spending patterns.

  • Invoicing: Generate professional invoices for clients, including options for hourly rates or fixed fees. Receive payments directly through the integrated payment gateways.

  • Financial Reports: Gain insights into your financial health with customizable reports, income summaries, and expense analyses.

  • Receipt Management Store your old receipts, to keep as future tax deductions, or just a financial log. You can preview, download, or delete these receipts at any point! We also use parsing to auto-extract data from the receipt such as the total price.

  • Budgeting: Set financial goals and track your progress. Keep an eye on your spending habits and make informed decisions.

Getting Started

Prerequisites

  • Python 3.x
  • Django
  • Docker
  • Docker Compose
  • HTMX
  • HyperScript
  • Additional requirements can be found in the pyproject.toml file (or by using poetry show).

Installation

View our documentation to get started https://docs.strelix.org/MyFinances

Contributing

Thank you for considering contributing to the MyFinances project! Your contributions help make the project better for everyone.

Issue Tracker

Reporting Issues

Before submitting a new issue, please:

  • Check for existing related issues.
  • Check the issue tracker for a specific upstream project that may be more appropriate.
  • Check against supported versions of this project (i.e., the latest).

Use the Subscribe button to stay updated on discussions. Keep conversations on-topic and respect the opinions of others. For urgent issues or those involving confidential details, please report them directly to the maintainers.

Security Vulnerabilities

We take security seriously. If you discover a security vulnerability within MyFinances, please reach out to us directly via email. We will promptly address and resolve the issue.

Bug Reports

If you encounter a bug, please report it by opening an issue on the issue tracker. Include details about the issue, steps to reproduce, and relevant environment details.

Feature Requests

We welcome feature requests! If you have an idea for a new feature or enhancement, open an issue on the issue tracker. Describe the feature, its potential benefits, and any relevant use cases.

Pull Requests / Merge Requests

To contribute code:

  1. Fork the repository.
  2. Install pre-commit hooks (do it once, whenever you clone the repository)
    • pre-commit install
  3. Create a new branch for your changes.
  4. Make your changes, following the coding style guidelines.
  5. Test your changes thoroughly
    • python manage.py test
    • run the app (python manage.py runserver)
    • view any changed pages in browser (http://127.0.0.1:8000) and make sure the changes work as expected
  6. Submit a pull request to the main repository's main branch.

We'll review your pull request, provide feedback, and work with you to get your changes merged.

Code Style and Quality

Adhere to the coding style guidelines of the Django project. Find the Django coding style guide here. Please install our pre-commit hooks using following command:

pre-commit install

We now also use the python black formatter. Code tests will be run before PRs can be merged, they will fail if you haven't ran the command below:

pip install black
black ./

Version Control

We use Git. Make sure your commits are clear, concise, and well-documented. Follow conventional commit message style.

Development

Prerequisites

Make sure you have the necessary prerequisites for development. These are detailed above in this README.md file.

Getting Started

View our documentation to get started https://docs.strelix.org/MyFinances

Thank you for your contributions!


🌟 A very special thank you to all of our contributors 🌟

View a full list here

Trey

πŸ‘‘πŸ–₯

Jacob

πŸ“–

Tom

🎨

SharonAliyas5573

πŸ–₯

romana-la

πŸ“–

flyingdev

πŸ§ͺ

chavi362

πŸ“–

bermr

πŸ§ͺ

PhilipZara

🎨

Tianrui-Luo

πŸ–₯

HarryHuCodes

πŸ–₯

Nuova

πŸ–₯

HessTaha

🐳

wnm210

🎨

Matt

πŸ–₯🎨

SBMOYO

πŸ§ͺ

Kevin Liu

πŸ–₯

Jehad Altoutou

🎨

Slawek Bierwiaczonek

πŸ§ͺ

Sergey G

πŸ–₯🎨πŸ§ͺβ™»

Samuel P

🎨

Sabari Ragavendra CK

🎨

atulanand25

πŸ–₯🎨🐞

ryansurf

🐞

David

β™»

Guillermo

🐞

If any information is incorrect above, or you would like anything removed, feel free to open an issue, email our team, or manually edit with the details below.

How to edit the contributors table?

  • Updated any info using python manage.py contriubtors
  • Run python manage.py contributors sync
  • Make a PR to request these changes in
  • Done :)

Note: This README.md is a living document and might be updated over time. Always refer to the latest version when contributing and developing.

Star History

Star History Chart