An application to organize my financial life.
- python 3.10
- poetry 1.8.2
- mysql 8.0
> python3 ./financial/cli.py
> python3 ./financial/dashboard/app.py
...
- Use https://www.mage.ai/
- Add bank column
- Receive file_path, user_id, user_account and bank as input
- Log messages
- Try catch
- Separate data NORMALIZATION from LOAD and PERSISTENCE
- Organize classes and methods
- Import Inters Full history
- Automated tests
- Lint
- Github
-
bonusREPL - Add categorization of transaction
- Add encapsulation
isolate spending by user context - Add category rules
automatic set category - Update unit tests not dependent from db
- Update unit tests dependent from db
- Split import table from transactions table
- Make import command cleanup the table after execution
- Import part statement
avoid duplication using the date - Reprocess categorization transactions
- Run reprocess categorization after create or update category or category_rule
- Add categorization per transaction
in separated table because of the reprocessment of categorization - Annul some spend(s) based on gain(s)
- Create groups of categories (Like essesials and etc)
- Remove Outros Category
- Avoid category duplication
- Add priority on category to sort by it
-
Remove "set X of many" feature
- Statement report by date
begin and end - Grouped statement report by date
begin and end - Grouped graph report
many months - See every month in the same table
- Align numbers at right
- Money format
-
all monthHover on one month in all months` table to show percentage of diference between last value -
all monthSelect a category and shows it on graph comparing all months and other things -
all monthAdd total in every month - Set filters on url
- Use dash pages
- How much did I spent
filter month? - How much did I spent per sector (essensial and etc)
filter month? - How much did I spent per category
filter month? - How much did I took off from investment
filter month?
- Separate file load from data_frame manipulation
- On creating category rule select category by name case insensitivity
- DocString
- Use python Decimal in everything to avoid rounding errors
- Set some tests to use decimal values
- Add Prettier
-
Use IMDB (in-memory database) for unit tests
- Turn poc dashoboard into a feature with tests and etc
- Add grouped context spends on dashboard
- Import Nubank
- Feature of transaction substitution