cryptonite's Introduction
cryptonite's People
cryptonite's Issues
GET /wallet/read api
requirements
Implement the GET /wallet/read api
specs
GET /wallet/read [ { value: float, currency: Currency } // amount is defaulted to 0 api-side ]
The API should return a list of amounts of cyptocurrencies.
Each amount is composed by a float value and a currency.
Only cryptocurrencies should be returned, e.g. there should not be any { value: 0.0, currency: EUR } returned by the API
Integration with Bitstamp API
requirements
Get relevant data from Bitstamp API
specs
misc
{optional: other useful info}
POST /portfolio/save api
requirements
Implement the POST /portfolio/save api
specs
POST /portfolio/save [ { currency: Currency, amount: float } ]
Integration with Bitfinex API
requirements
Get relevant data from Bitfinex API
specs
Implement sorting on frontend side
requirements
Implement sorting on frontend side
specs
https://paper.dropbox.com/doc/Specifiche-v-1.0-U12WAX9jUnvBaKd0TSXTc
Add .gitignore file
Implement portfolio in frontend
Implement filtering on frontend side
requirements
Implement filtering on frontend side
specs
https://paper.dropbox.com/doc/Specifiche-v-1.0-U12WAX9jUnvBaKd0TSXTc
Implement NavBar
requirements
Add a NavBar
This is a prerequisite to add portfolio later
specs
Integration with GDAX api
Implement caching of external API calls in backend
requirements
Implement caching of external API calls in backend
specs
Possible solution: https://github.com/cb372/scalacache
Add loader on products table
requirements
Implement a loader on products table, in order to improve the experience of the user
Define model
requirements
The model should be a first implementation (to be eventually refined)
specs
types defined in the following paper https://paper.dropbox.com/doc/API-UETZjplsnScNy5UoOLmy5
Bootstrap apiseed
requirements
Importare il progetto apiseed
specs
{optional: describe technical specs to implement this feature, if not obvious}
misc
{optional: other useful info}
Implement filtering and sorting in /products/read API
requirements
Products table should have filtering and sorting, so the API should support them
specs
Take a look at
https://paper.dropbox.com/doc/Specifiche-v-1.0-U12WAX9jUnvBaKd0TSXTc
misc
{optional: other useful info}
Define UX of the application
requirements
The UX should be redefined for the application before proceeding to implement portfolio and other parts of the frontend
specs
Integration with Kraken API
requirements
Get relevant data from the Kraken API and hope that they will be back online
specs
https://www.kraken.com/help/api
misc
{optional: other useful info}
Best value, worst value on products
requirements
Return best value and worst value when calling /products/read API
Filters on products should be implemented first
specs
Make Circe parse with camelCase case classes
description
Currently we have case classes that have field names that exactly match those returned in json by api calls, so they do not follow the camelCase convention.
Investigate how to instruct Circe to parse json correctly while having case classes with nice field names.
UI fixes on products table
description
The client demanded some fixes on UI on products table.
how to reproduce
Show the current implementation of the products table.
specs
Currencies shouldn't be displayed with their extended name, but with a three letters code.
In bid and ask columns, the currency shouldn't be displayed.
Kraken tickers data misalignment
description
In the list of asset pairs returned by Kraken, some are ending in ".d", as shown here:
The API call to get the tickers does not return any data for these special products,
and because of that we end up with a misalignment in the list of tickers returned by KrakenGateway, because it is the result of the zip of two lists
how to reproduce
Call /products/read api and select Kraken in the exchanges filter list
specs
Filter ".d" products out of the products list
testone
requirements
{describe the new feature}
specs
{optional: describe technical specs to implement this feature, if not obvious}
misc
{optional: other useful info}
Make caching duration configurable
description
Currently caching duration is hardcoded in the gateways, but it should be configurable
specs
Move it to reference.conf file and use typesafeConfig
GET /products/read api
requirements
Implement the GET /products/read api
specs
GET /products/read // TODO: add sorting & filtering [ { exchange: Exchange, product: Product, bid: float, ask: float, value: float } ]
Make apiEndpoint configurable on frontend side
description
Currently apiEndpoint is hardcoded on frontend side, but should be configurable
Create table and show mocked data
requirements
Implement table in frontend with tablo
specs
Table shows only mocked data, not calling any api (to be implemented later)
misc
{optional: other useful info}
Bitfinex support on frontend side
requirements
Add support for Bitfinex on frontend
specs
Run metarpheus again to update the Exchange enum
Bootstrap webseed
Get products table data from api
requirements
Get products table data from api
specs
Use metarpheus and call the api to show data in the products table
misc
{optional: other useful info}
Find a better solution for rate limiting calls to GDAX API
description
Currently about ten calls to GDAX API are needed to extract data for Cryptonite, and thus we have to rate limit the calls. This is done by using the following execution context
'implicit val ec: ExecutionContext = ExecutionContext.fromExecutorService(Executors.newSingleThreadExecutor())'
and using 'Thread.sleep(500)' in the ticker call.
This is clearly not an optimal solution, so a better one should be found
Exchange integration refactoring
description
Refactor existing code, trying to extract as many common parts as possible in gateways
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.