A simple shared budget manager web application
Find a file
TomRoussel 720f0e52dd
Adding bill types and automatic settling between people (#1290)
* Bill types added in Bill and Project Model, Implemented in BillForm
* import and export bill feature updated with bill type, tests modified to reflect the behavior
* eliminating unnecessary bill type
* typo fixed, test cases fixed for the current bill types
* button added
* settle button added
* new changes
* test cases added
* bchen-reimbursement
* tests for different bill types
* test cases fixed
* fixed reimbursement test case
* Replaced assertEqual with assert
* Fixed missing bill_type in unit tests
* Removed commented code
* Reverted unnecessary string edit
* Changed bill_type to an Enum
* Added test checking correct bill_type validation
* Fixed  billtype displaying in all caps
* Removed 'Transfer' bill type
* Added migration rule and set default bill_type in alembic
* bill_type is now an optional parameter in the BillForm
* Use enum name instead of value as SQL server_default

SQLAlchemy uses the Enum names in the database, as the values could be
generic python objects.
https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Enum

* Removed bill type from the Bills html table
* Replaced string bill type with enum
* Made "Settlement" translatable
* Manually handle the new Enum creation

Alembic does not handle postgres Enums correctly, so we need to manually
generate the new enum type.
See https://github.com/sqlalchemy/alembic/issues/278

---------

Co-authored-by: Ruitao Li <ruital@andrew.cmu.edu>
Co-authored-by: MelodyZhangYiqun <98992024+MelodyZhangYiqun@users.noreply.github.com>
Co-authored-by: Ruitao Li <49292515+FlowingCloudRTL@users.noreply.github.com>
Co-authored-by: MelodyZhangYiqun <yiqunz@andrew.cmu.edu>
Co-authored-by: Brandan Chen <bychen@andrew.cmu.edu>
Co-authored-by: Emilie Zhou <54161959+ez157@users.noreply.github.com>
Co-authored-by: Tom <tom.roussel@esat.kuleuven.be>
2024-03-16 12:20:48 +01:00
.github chore: support for python 3.12 2023-11-23 23:08:39 +01:00
assets/showcase Reduce the size of showcase images (#899) 2021-10-30 17:30:59 +02:00
conf Add support for APPLICATION_ROOT in Docker container 2023-07-14 15:53:43 +02:00
docs move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00
ihatemoney Adding bill types and automatic settling between people (#1290) 2024-03-16 12:20:48 +01:00
.dockerignore move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00
.gitignore move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00
.isort.cfg Add isort support. (#561) 2020-04-21 13:59:41 +02:00
.readthedocs.yaml Update readthedocs to python 3.11 (should fix #1185) 2023-07-14 16:00:33 +02:00
CHANGELOG.md chore: support for python 3.12 2023-11-23 23:08:39 +01:00
CONTRIBUTORS Prepare next release 2023-10-04 00:14:53 +02:00
docker-compose.test.yml Fix Docker test in CI 2023-02-03 20:18:05 +01:00
docker-compose.yml Add support for APPLICATION_ROOT in Docker container 2023-07-14 15:53:43 +02:00
Dockerfile Add support for APPLICATION_ROOT in Docker container 2023-07-14 15:53:43 +02:00
hatch_build.py move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00
LICENSE Re-organize the documentation (#223) 2017-06-21 14:03:16 +02:00
Makefile move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00
pyproject.toml move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00
README.md chore: support for python 3.12 2023-11-23 23:08:39 +01:00
SECURITY.md Update security support status (#1275) 2024-02-06 03:32:49 +01:00
tox.ini move from setuptools to hatch (#1258) 2023-12-12 14:20:34 +01:00

I hate money

GitHub Actions Status Translation status from Weblate Donate Docker image

I hate money is a web application made to ease shared budget management. It keeps track of who bought what, when, and for whom; and helps to settle the bills.

The code is distributed under a BSD beerware derivative: if you meet the people in person and you want to pay them a craft beer, you are highly encouraged to do so.

Requirements

  • Python: version 3.7 to 3.12.
  • Backends: SQLite, PostgreSQL, MariaDB (version 10.3.2 or above), Memory.

Contributing

Do you wish to contribute to IHateMoney? Fantastic! There's a lot of very useful help on the official contributing page.

You can also donate some money. All funds will be used to maintain the hosted version.

Join the other contributors.

Translation status

Translation status for each language