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! |
---|
-
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.
- Python 3.x
- Django
- Docker
- Docker Compose
- HTMX
- HyperScript
- Additional requirements can be found in the
pyproject.toml
file (or by usingpoetry show
).
View our documentation to get started https://docs.strelix.org/MyFinances
Thank you for considering contributing to the MyFinances project! Your contributions help make the project better for everyone.
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.
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.
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.
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.
To contribute code:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes, following the coding style guidelines.
- Test your changes thoroughly
python manage.py test
- run the app (
python manage.py runserver
) - view any changed pages in browser (
127.0.0.1
) and make sure the changes work as expected
- 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.
Adhere to the coding style guidelines of the Django project. Find the Django coding style guide here.
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 ./
We use Git. Make sure your commits are clear, concise, and well-documented. Follow conventional commit message style.
Make sure you have the necessary prerequisites for development. These are detailed above in this README.md file.
View our documentation to get started https://docs.strelix.org/MyFinances
Thank you for your contributions!
View a full list here
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.
- Updated any info in
backend/management/commands/contributors.json
- Run
python manage.py get_contributors
- 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.