Giter Club home page Giter Club logo

budgetbudget's Introduction

budgetbudget's People

Contributors

dependabot[bot] avatar drexlma avatar leo-benz avatar xiphe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

budgetbudget's Issues

Make category-groups collapsable

in the budget-view, I want to collapse a group of budgets and only see their totals.

I expect the collapsed state to be persisted within the budget so that I do not need to re-close groups whenever I open a budget.

Refresh MM data

When working with budgets I want to have a button/menu-entry to manually refresh the data from MM. So that my latest transactions and category changes show up.

MoneyMoney category export

Currently MoneyMoney does not have an API that exposes all categories and their meta-data.

Due to this, BB is extracting the categories from imported transactions.
Which has a few downsides:

  • unused categories can not be shown
  • order is not stable and changes whenever the oder of transactions change
  • meta-data such as budget, currency can not be used
  • category groups are derived from category name and therefore their ID is unknown.

I asked the MoneyMoney developer what he thinks of adding a category export API and am currently waiting for his response.

Setup integration tests

In order to not accidentally ship bugs there should be a ready-to-use installation that can end-to-end test the application

Build the app

requires:

  • build script that works at least locally
  • upload build artifact to github releases

More fluid onboarding wizzard

The current onboarding is only presenting all settings.

I want to give more context/explanation for the settings and also guide through a few gotchas that require MoneyMoney adjustments

Add alpha warning

Since I will make the alpha publicly available for everyone I want to add a banner saying

  • this is a alpha use at own risk
  • it wont update by itself see [github releases]
  • if you encounter bugs or have feedback please submit them [github issues]

Show year

Currently the year is not displayed in the UI. Seems relevant.

Add initial balance setting

Assuming that most accounts will not come with 100% history

Maybe even auto-calculate it on budget creation

Auto-Assign budget values (Quick Actions)

As suggested by @jeifour it would be helpful when:

  • Budget (or remove) money to/from a category so that its remaining funds become zero
  • Budget (or remove) money to/from a category so that the global money "to budget" becomes zero
  • Budget the same amount to a category as the month before
  • Budget as much to a category as was spent in it the month before

Contribution docs

For people that want to run the app from source locally or want to contribute there should be docs on how to setup the app and get it running.

Next/Prev month is not loaded when scrolling at bottom of budget

Given I have a budget with lots of categories

And I scroll (probably > 100vh) vertically
And I scroll horizontally to the next or previous month

Then I expect the month to be loaded immediately

But the month is not loaded at all.
And I need to scroll up in order to have it loaded

Use startDate for leftmost month in budget view scroll

Currently it is possible to scroll left infinitely. This actually makes no sense since there will not be transactions before that point (hence the name "startDate").

If there is a finite, defined left point then I can use https://react-window.now.sh/ for layouting and jumping to specific entries.

I'd also add an additional leftmost card that says "hey you configured the budget to start here, go to preferences (link) to change this".

Add currency setting

Currently budgets are prepared to handle multiple currencies while I have no concept of how this could be handled in UI.

The simplest solution currently appears to allow only one currency per budget file and provide a setting for that

Recent budgets

App should be aware of recently opened files

  • welcome view should offer opening a recent file or to create a new one

error messages when opening an existing budget

when opening a previously saved budget, following errors are displayed in the terminal.

[start:electron] [56663:0420/220440.268553:ERROR:gles2_cmd_decoder.cc(18903)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : DoCreateAndTexStorage2DSharedImageINTERNAL: invalid mailbox name
[start:electron] [56663:0420/220440.268752:ERROR:gles2_cmd_decoder.cc(18924)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : DoBeginSharedImageAccessCHROMIUM: bound texture is not a shared image
[start:electron] [56663:0420/220440.268849:ERROR:gles2_cmd_decoder.cc(13814)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[start:electron] [56663:0420/220450.025253:ERROR:gles2_cmd_decoder.cc(18953)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : DoEndSharedImageAccessCHROMIUM: bound texture is not a shared image

Error on creating a new budget

on Alpha 7

[start:electron] Error occurred in handler for 'MM_EXPORT_ACCOUNTS': Error: Unexpectedly got string as icon
[start:electron]     at /Users/User/dev/bb-test/budgetbudget/main/moneymoney/handlers.ts:29:13
[start:electron]     at Array.map (<anonymous>)
[start:electron]     at base64Icons (/Users/User/dev/bb-test/budgetbudget/main/moneymoney/handlers.ts:21:15)
[start:electron]     at Object.<anonymous> (/Users/User/dev/bb-test/budgetbudget/main/moneymoney/handlers.ts:74:14)
[start:electron]     at step (/Users/User/dev/bb-test/budgetbudget/main/moneymoney/handlers.ts:44:23)
[start:electron]     at Object.next (/Users/User/dev/bb-test/budgetbudget/main/moneymoney/handlers.ts:25:53)
[start:electron]     at fulfilled (/Users/User/dev/bb-test/budgetbudget/main/moneymoney/handlers.ts:16:58)
[start:electron] npm run start:electron exited with code 0

bank accounts in MM that only display the last 90 days of transactions

copied from #38 (comment) by @fazzer4x

Currently BB is set to budget forward, basically to forecast expenses and generate savings. The challenge that arises has to do with bank accounts in MM that only display the last 90 days of transactions. Take ING for example.

Should BB ever want to have features such as charts or budgeting averages:

will BB save transactions from MM and create a local working copy database?
or
should BB only pull all available transactions and go from there?

Support simple calculations in BudgetInput

The reactive interface that updates all values as I type has one downside.

When I want to zero-out a category or the "to Budget" amount I would normally update the value and add/substract the amount while calculating it in the head. Now that the amount changes while I type this sets off my calculation and I need to know the correct amount before I start typing.

Also the calculator feature of YNAB is cool and helpful to change numbers on the fly.

The Idea is to evaluate simple math +-*/ in the budget input. And while one of these chars is in the input do not reactively update everything else.

Create FAQ

There already are some recurring topics and I want to document these

Cover main user flows with integration tests

In order to not accidentally ship bugs, the core functionality should be tested before each release:

  • create a new budget
  • import some transactions
  • insert some budget values
  • numbers are as expected

Support custom root categories

Given I have two budgets (private and freelancing)
And I want both of them to have different category trees

Then I expect to be able to setup MM categories like this

 โ”ฌ Private
 โ”” โ”ฌ Cat 1
   โ”œ ...
   โ”” Cat 99
 โ”ฌ Freelancing
 โ”” โ”ฌ Cat A
   โ”œ ...
   โ”” Cat Z
 - Shared

And I expect the category tree in my private budget to look like

- Cat 1
- ...
- Cat 99
- Shared

And I expect the category tree in my freelancing budget to look like

- Cat A
- ...
- Cat Z
- Shared

In order to achieve this, BB needs a "root category" setting where I would select the "Private" category group and the "Shared" category as root categories for my private budget and the "Freelancing" group + "Shared" category for the freelancing budget.

Document Income categories setting

To me it wasn't quite obvious, what the goal of this page is.
After playing around and creating a budget, I understand that one should select the primary income category from money money.

Bildschirmfoto 2020-04-20 um 21 44 40

Questions remain such as:

  • how does the field "available in 0/1/2/3 months" work?
  • what if I do not have a fixed income and/or it's weekly, biweekly, etc.?
  • do I only select my primary income category or should I select all of them?

The automated release is failing ๐Ÿšจ

๐Ÿšจ The automated release from the alpha branch failed. ๐Ÿšจ

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iโ€™m sure you can resolve this ๐Ÿ’ช.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the alpha branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those donโ€™t help, or if this issue is reporting something you think isnโ€™t right, you can always ask the humans behind semantic-release.


Cannot push to the Git repository.

semantic-release cannot push the version tag to the branch alpha on the remote Git repository with URL https://[secure]@github.com/Xiphe/budgetbudget.git.

This can be caused by:


Good luck with your project โœจ

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€

Migrate to uuid ID for categories and accounts

The upcoming version of MoneyMoney will provide a category export (ref #39).
It will also support getting transactions from accounts that don't have a accountNumber (like Offline/Cash accounts).

Both fixes are using a new uuid format for ids that is not compatible with the account numbers and category ids currently being used in .budget files.

Question is: Should I try to provide a migration for budget-files? Or would it be OK if we throw away our previous files and start fresh?

"unsaved changes" warning on close

Currently it's really easy to accidentally discard a unsaved budget. There should be a warning when the budget is about to be closed without saving

Edit menu

Copy/Paste/Select does not work yet

which is annoying

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.