kaykurokawa / pyrader_frontend Goto Github PK
View Code? Open in Web Editor NEWfront end for pyrader
front end for pyrader
ETH was changed to hundred mil https://github.com/kaykurokawa/pyrader_frontend/blob/master/js/input.js#L9
https://github.com/kaykurokawa/pyrader_frontend/blob/master/js/input.js#L270 DRY same, as https://github.com/kaykurokawa/pyrader_frontend/blob/master/js/input.js#L244
Should start writing unit tests
"Sumbit" -> "Submit"
Make a dropdown for price, volume, or both.
overlay price/block data in single graph
Looks like there is an error where when you delete a row using the X, you error that says you are linking axis with a graph of different type. https://www.highcharts.com/errors/11 This is because each axis is referenced to another with an index and as you remove axis the referenced axis index will change.
The volume graph shows up white, when multiple volumes are present
When adding price data and trying to overlay XMR/Total transfer volume/ and 0 interval , the app freezes.
There should be no data available for total transfer volume (this is correct API behavior) but this freezes up the entire app, so the app should be able to handle these cases.
This is a list of clean up / Design stuff that we should do before sharing this project, if marked as (Assigned) it means someone else is doing this:
Block and Price/Volume drop downs should be merged into 1 (have a dropdown for datatypes) - DONE
Submit Reset Button could be resized and aligned, put on the same row as dropdowns
Remove Chart/Data/Tool/Option field on header -DONE
Interval should be renamed to “Averaging” (No Averaging/1 day/ 1hour) -DONE
There could be ? mark next to the name of each drop down with explanation field -DONE
Make sure that all data looks correct, if not reload it (Assigned)
Add logo in place of Pyrader API (Assigned)
Color is not coordinating as you reset the graph. Do:
First enter in a price/volume data. Using Zoom with "Month" or "All" makes the data on the chart disappear.
For quantity: see here:
https://github.com/kaykurokawa/pyrader/blob/master/pyrader/crypto_qty.py#L11
For each symbol, you want to divide by 10^(X) to get the exact human readable quantities
https://github.com/kaykurokawa/pyrader_frontend/blob/master/js/input.js#L132
You probably want to define a global map to use that is like {"USD":100000000} so that the code will look like json.data[3] = json.data[3].map(function(vol){return Number(Math.round(vol/SOME_MAP[unit] + 'e2') + 'e-2')}) instead of you writing if statements like that.
Same thing here;
https://github.com/kaykurokawa/pyrader_frontend/blob/master/js/input.js#L82
https://github.com/kaykurokawa/pyrader_frontend/blob/master/js/input.js#L69
Just define a map function that maps from one thing to the other. This is simpler, and you don't rewrite a bunch of if statement which you can make a mistake on.
Also, its better to write large numbers as an exponent like (10^6) or define a global like MILLION=10^6 for readability purpose.
Write unit tests with Mocha/Chai
Write acceptance tests with Cypress.io
Make sure when you scroll through a multiple axis graph that the axis does not do anything wierd.
For the exchanges drop down, rename "None" to "aggregated"
For the Reporting period drop down, rename "None" to "all"
For prices feed, if the unit is really small, the graph doesn't show up (Try looking at LTC symbol in BTC units)
api.blkdat.com
as you add more data to your graph add more to your url string and be able to read url with multiple string statements.
are you sure that README instruction is correct? Doesn't work for me.
When I go to: http://blkdat.com/?price&symbol=BTC&unit=EUR&exchange=kraken&interval=hour
I get an error although the graph displays.
And then, I cannot adjust the time interval on the graph, my mouse gets stuck to the slider.
Create new layout in which charts can be displayed onto one.
Try an block data, with interval 0.
The data seems to appear on the volume chart but not on the main chart.
Being able to go back once you select a drop down
Instead of always querying the info data API, cache it to make it faster and scalable if there are a lot of people using it.
And also add a URL API that allows you to manipulate the info to display only certain coins.
i.e. /filter=XMR will only display dropdowns related to XMR.
When I am plotting similar types of data I would like some way to force the y axis to be on the same scale. Sometimes it does this automatically, but other times it uses a slightly different y axis scale and makes the graph harder to read, see below screenshot for example
I think we can either a) create some button (or API option maybe?) that forces alignment or b) have it automatically detect the y axis better to be more aligned. Solution b) would be ideal but a) might be fine as a temporary option
NormalizeGraph() function takes an axis and matches it with a previous axis if the data is close. Works Fine but sometimes it gets an error failed to grab hchart.yAxis, usually happens when you refresh. Investigate issue and fix.
First issue: ---This issue is found in Firefox
a) open website
b) select block drop down
c) refresh
d) now it is not possible to select block again
Second issue: ---This issue is found in Firefox
a) select block
b) go back
c) now its not possible to select block again
Third issue: --okay this is in chrome and firefox
a) select block
b) go back
c) select price/volume
d) go back
e) select block
f) now the symbol drop down contains duplicates of symbols
There is a rare instance that you make a bad api call from dropdowns, it should not update your url with bad query string. However if you make a bad call from using query strings, it should keep it and allow user have a chance to fix their mistake and it should display Error message.
Performance isssues with graphs locking up when you add more than 3 series.
a) block and price contain "plottype" field. If linear, it is "linear", if scatter it is "scatter" . By specifying "interval" in the endpoint as "0" , you can get the scatter plot. Only block endpoint utilizes scatter plots. Price endpoint does not.
b) block endpoint does not have "5min" interval anymore.
c) start and end timestamp specification for scatter plot doesn't work yet.
d) the "data" field has been removed from the block and price endpoints. Instead we return individual plotting data in "x", "y", "x1", and "x2" fields. Linear plots have "x1", "x2" and "y". Scatter plots have "x" and "y"
e) the info endpoint will return the "plottype"
Add a scatter plot, then add another scatterplot. Remove both by hitting X. both axis remain on display even after removal. Line and column graphs do not exhibit this behavior.
api.blkdat.com
Scatter plot sometimes renders as line.
Not exactly sure how this would work, but basically when you share a graph with someone, you generally want to focus in on a specific segment of time on the graph.
Create a shareble link button that takes you to the specific timestamps in which the user is looking at
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.