Skip to content
Kamil Niklasinski edited this page Apr 2, 2021 · 34 revisions

GetFX TO DO

Phase 1

  • print(GetFX('USD')) will nicely print the result - override __str__() method in GetFX base class
  • try to apply different monkey patching: see pytest docs and apply yield teardown method - not done: check in book to order if/how to apply monkey patching in fixtures that return value using yield statement
  • consider if pytest.params could be used (not done)
  • split to target classes/packages
  • consider to write test for base class:
    • GetFX object created
    • constructor attributes are present
    • _delete() method is present (iscallable) (not done)
    • _get_request() and _store_response() are raising NotImplementedError
    • str() returns a string (without checking specifics)
  • consider moving parser to separate class (?) and write unit tests for it (with mocked NBP connection)
  • consider how really packages and modules should be created. Do we need 3 packages? How they should be created?
  • document methods, classes, packages; publish documentation;
  • apply github CI
  • coverage.py
    • use omit to ignore tests folder. Then check results on coveralls
    • or add new test for main() when is invoked from command line
  • rebase / squash master and other branches
  • package
  • documentation RST ;
  • experiment with pull requests and safeguards (linting, testing)
  • [-] consider keeping docstring version of code in separate branch (branched from master)
  • coveralls try to keep only one job if possible (?) or we have to use two?
  • push all to master + make public

To do:

  • add in readme information where changes are published:
    • documentation: staging and prod
    • package
  • remove old folder (getfx-staging) on : https://github.com/kniklas/pages-staging

  • parametrise publish depending on target branch:

    • dev & PR
    • master & PR
  • parametrise package publish depending on target branch:

    • dev
    • master
  • revise structure of GitHub Actions into jobs / steps, etc.

Phase 2

  • consider creation of homebrew package
  • consider creation of apt package
  • import FX-es from page (directly, or from directory?) to SQL lite DB
  • store FX-es in SQL lite DB and write tests for that

Phase 3

  • write another module that analyses historic FX rates to get optimal investment (buying) strategy. It will use FX-es stored in GetFX database, eventually will fetch new ones (?)
Clone this wiki locally