provide cryptocurrency prices and book keeping
Prices for various crypto currencies are collected every minute 5 minutes via azure functions and cached.
- Playground function and table storage
- Deploy functions via github/infra-as-code
- re-write storage table design to have
partitionKey = coin
&rowKey = date
- figure out how to add old data
- maybe revise aggregates depending on availabily of historic data
- ➡️ use day day history API, see spec, needs one query per
coin/currency
pair but should be executable within rate limits as it allows 2000 days at once - ➡️ uses closing price
Build aggregates of the full price history for use in the web UI.
[ ] add aggregation function to generate10min
,30min
,1hr
,12hr
,1d
,10d
summaries[ ] define when aggregates should be builtbuild all after update / collectingindividual CRON jobssingle independent CRON job with divisor
- ➡️ try to build on the fly
Provide API endpoints that give the aggregated metrics for various coins. Implemented with graphQL (#7)
- authorization
- caching
Store encrypted JSON
blob of assets in a database.
-
Authentication via
username
and apassword hash
-
Client side decryption of the blob with the actual unhashed password (password never leaves client)
-
RESTful
PUT
,POST
,GET
,DELETE
API design
- add/remove transactions
- date
- currency
- custom price (defaults to historic price)
- list total assets
- table
- pie chart
- annotate to keep track where certain amount of assets are stored
- chart of profit/loss with various time scales
- no exchange support / one price only
As I don't want people to turn this into a product without feeding back to OSS I decided to license this under GPL by Andreas Offenhaeuser http://anoff.io