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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Code style: black

MyFinances is an open-source web-based application designed to simplify invoicing and financial management for individuals and teams. Whether you're a freelancer or a small business, MyFinances provides an intuitive platform to help you stay organized.

PLEASE NOTE: This project is under active development. We welcome contributors!

Key Features

  • One-Time Invoices: Create and send professional one-time invoices to your clients.
  • Recurring Invoices: Automate your invoicing with recurring invoices that can be scheduled and sent periodically.
  • Invoice Reminders: Ensure timely payments by sending reminder emails for outstanding invoices.
  • Emailing: Email invoices and payment reminders directly from the platform.

Getting Started

Prerequisites

  • Python 3.10+
  • Additional requirements can be found in the pyproject.toml file (or by using poetry show).

Please be aware some features require AWS features such as Eventbridge, however you can host the site locally or any other usual hosting platform, we have a docker setup.

Installation

For detailed setup instructions please refer to our documentation: https://docs.strelix.org/MyFinances

Contributing

We appreciate your interest in contributing to MyFinances! Whether you're a seasoned developer or just getting started, we have something for you.

Issue Tracker

Reporting Issues

Before submitting a new issue, please:

  • Search for existing issues that might cover your topic.
  • Ensure your issue pertains to the current version of the project.

For urgent issues or those involving confidential details, please report them directly to us on the details below.

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.

We have a step system for features:

  • idea: suggested
  • idea: deciding
  • idea: accepted

Once an idea is accepted this can be worked on. Only if there is no assigned person to the issue, the issue is inactive or the issue is marked as "group issue"/"needs help" you may work on it.

Pull Requests / Merge Requests

To contribute code:

  1. Fork the repository.
  2. Install pre-commit hooks (do it once, whenever you clone the repository) [optional but tests may fail without it]
    • pre-commit install
  3. Create a new branch for your changes.
  4. Implement your changes, following the coding standards.
  5. Run the test suite
    • python3 manage.py test
    • run the app (python3 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:

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 ./

For static type checking we are using mypy. Code tests will be run before PRs can be merged, they will fail if types in you code will be incorrect. You can run check with this command:

mypy .

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 for further instruction 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

πŸ‘‘πŸ–₯

Slawek Bierwiaczonek

πŸ–₯🐞πŸ§ͺ

Sergey G

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

Jacob

πŸ“–

Tom

🎨

SharonAliyas5573

πŸ–₯

romana-la

πŸ“–

flyingdev

πŸ§ͺ

chavi362

πŸ“–

bermr

πŸ§ͺ

PhilipZara

🎨

Tianrui-Luo

πŸ–₯

HarryHuCodes

πŸ–₯

Nuova

πŸ–₯

HessTaha

🐳

wnm210

🎨

Matt

πŸ–₯🎨

SBMOYO

πŸ§ͺ

Kevin Liu

πŸ–₯

Jehad Altoutou

🎨

Samuel P

🎨

Sabari Ragavendra CK

🎨

atulanand25

πŸ–₯🎨🐞

ryansurf

🐞

David

β™»

Guillermo

🐞

Marvin Lopez

πŸ–₯🎨

Artem Kolpakov

🐞

Yadu

πŸ–₯

Vatsal

πŸ–₯

Hussein

πŸ–₯

pvvramakrishnarao234

πŸ–₯

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 python3 manage.py contriubtors
  • Run python3 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