This will be a running list of the roadmap. I’ll be updating it as time progresses, to be a live view of the status of the app.

  1. update SET command that when issued with no args, lists all settings
  2. update HOLDINGS command to use same argument format as LIST TRANSACTIONS
  3. update TWR command to use same argument format as LIST TRANSACTIONS
  4. Add sector metadata to IAssetClass
  5. update LIST TRANSACTIONS to also allow for
    1. -t TICKER
    2. <no args> list help
    3. show name of xn in list
    4. When listing transactions, check std::sort code to ensure that ITransaction::compare() is being called, and that std::sort isn’t just comparing pointers
    5. Update code so that it takes no book/portfolio #, or a book # or a portfolio # but not both, bc this would be ambiguous
    6. should fail if an unknown transaction source is encountered
    7. Show sector
  6. fix ACB code — currently some items show an ACB of $0.00
    1. currently does not allow for multiple transactions on the same date
    2. double Position::averageCostBase() should also return a vector of transactions which constitute the acb
  7. Historical prices
    1. Create command line tool for getting prices
    2. Create CRON job for downloading prices
  8. LOGGER class
    1. update so that it sends output to std::clog not std::cout
    2. update to support static functions
    3. create macro LOGLS? LOGSS? for logging static functions
  9. Exchange Rates
    1. create code to load exchanges rates
    2. add LIST EXCHANGERATES command
    3. add ADD EXCHANGERATE command
    4. In Holdings — show exchange rate used
    1. fix so that it returns an object, not a pointer
    2. add new functionality to ignore empty tokens, e.g. .tokenize(input string, bool ignore tokens)
  11. update so that core code returns shared pointers, not actual pointers
  12. Migrate all CLIUserInterface classes to the part::cliuserinterface namespace
  13. Copy CLIUserInterface tree over to NCursesUserInterface tree, and update all code to use NCurses
  14. Update logger to work with NCURSES
  15. Update tableprinter class to support subtotals and totals. (maybe add in a command .addsubtotal(n) where n is a subtotal line; this will allow for multiple subtotals. Will also need .clearSubttoal(n) and .createSubtotal(n). Subtotals only work on numeric types though, so each columnData class should also have a const property “sumable” which is true for doubles and integers False for strings, etc.)
  16. In HOLDINGS command
    1. show breakdown table of asset type and geographic region and sector
    2. show current yield (dividend/current price) and real yield (dividend / acb)
  17. Fix singleton patterns to be Myers singleton patterns
  18. Create command to add transaction (ADD TRANSACTION)
  19. Create command to add exchange rate (ADD EXCHANGERATE)
  20. Update ADD PRICE to use ncurses
  21. Create command to add asset class (ADD ASSETCLASS)
  23. Update logger to accept streams

2 thoughts on “Roadmap

  1. Cai Qiang says:

    I am interested to P.A.R.T. and is eager to use it. Do you have the plan to release it or do you need early user/tester?

  2. tendim says:

    Hi Cai. I will be releasing it eventually; currently it is command line only, but the next phase in the roadmap is to build out an NCURSES UI. A proper UI is needed because right now stock prices and transaction information are only captured in CSV files which must be maintained by hand — not very efficient!

    But once the NCURSES UI is ready, it will be ready for some wider testing. If you are interested please let me know!

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

nine × = thirty six