Giter VIP home page Giter VIP logo

coronado's People

Contributors

azure-pipelines[bot] avatar dependabot[bot] avatar kbaley avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

lulzzz

coronado's Issues

Investment price history doesn't need to be loaded at startup

The longer the app runs, the more price history will be included. It isn't necessary to load the entire price history of every investment at startup. It can be retrieved when the user opens it for a specific investment.

There may be other items that can benefit from this (e.g. investment transactions?)

Adding and deleting an invoice line item without entering values causes a failure on submittal

InvoicesController is expecting numbers for Quantity and UnitAmount and if you submit without these (even if they are deleted), the request is rejected.

Solutions:

  • Validation on client to ensure legitimate line items have proper data
  • Line items that are added and deleted in the same session can be discarded. No need to include them in the request
  • When deleting a line item with no numbers, default to 0

Can't change category type when editing existing transactions

E.g. When you change a category from a regular one to a transfer, an error is thrown when saving.

Recommend disallowing these transactions. I.e. If it's a regular transaction, you can change to another regular transaction. For anything else, don't allow changing the category at all. Workaround is to delete the transaction and re-enter.

Can't always change the amount of an existing transfer

To reproduce:

  1. Enter a transfer
  2. Open one side of the transaction for editing
  3. Tab from the date to the amount
  4. Change the amount
  5. Press enter to save

There is an error in the controller because the transaction has an invalid categoryId (Starting with 'TRF:'). Workaround: Click directly into the amount and don't tab through. Either the vendor or category fields are setting the categoryId on the transaction.

Console app checklist

  • After selecting a vendor, pre-populate the category based on the last one used for the vendor (like the web app does)
  • Support debit and credit for new transactions
  • Ability to edit a transaction
  • List invoices
  • Create an invoice
  • Email an invoice
  • Sync investments with investment account
  • Maybe some of the reports?

Net worth report is wrong

For CAD accounts, the balance is calculated by summing AmountInBaseCurrency which gives incorrect results. Instead, it should sum Amount up until the required date, then convert to USD using the exchange rate as of that date.

To fix, I'll need to store historic currency exchange rates, at least at the end of each month. Perhaps also store report data separately so it can be queried separately rather than calculated on the fly.

Probably don't need AmountInBaseCurrency once this is done.

Add savings goals

Implement a very basic mechanism for savings goals.

You define one or more goals you want to save for along with their priority and amount. Then the total of all the bank accounts is automatically assigned based on the priority.

  • create goals page
  • create a new goal
  • edit an existing goal (slider for the amount?)
  • delete an existing goal
  • show goals in list by priority along with what percentage has been met
  • show total of all bank accounts
  • show a visualization (thermometer style with each goal stacked by priority?)

Sample goals:

  • Buffer fund
  • New car
  • Vacation
  • Education

Portfolio balancing feature doesn't handle "None" option properly

The "None" category uses an empty GUID as a sentinel value and the app isn't consistent in its handling of this so as you configure investments to use investment categories, there are JavaScript errors and warnings as components move from controlled to uncontrolled.

Ideally, get rid of the expectation the an empty GUID means "None" for the investment category.

Flesh out income report

  • Nest values by "Income category"
  • Show only the current year by default
  • Allow navigation to previous years

Handling of investments

  • Add a button to manage price history
    • Can be manual at first; just show a table of prices, each with a remove button, plus a section to add new ones
    • Move to an API for future but most of them cost money so updating prices should be something that's triggered manually
    • Ideally, the API will have a way of querying when you're close to your limit
  • Show total of investments on investments page
  • Show average purchase price and current price for each investment
  • Update investments section of dashboard summary
  • Show investment total in menu
  • Get rid of the need to update a specific investment account
    • Add purchase history to each investment
    • In the "buy investment" screen, indicate which account is funding the investment so the amount is deducted
    • Include a section for commissions
  • Investment doesn't properly refresh on the client after editing
  • Add notification after successfully retrieving current prices
  • When saving investment prices, add data from current row without requiring it to be formally added to the table

Make it easy to set up

  • Document setting it up in Azure
  • Allow creating new users
  • Configure invoice "from" information

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.