Git Product home page Git Product logo

pyrader_frontend's People

Contributors

joeysk2012 avatar kaykurokawa avatar

Stargazers

 avatar

Watchers

 avatar  avatar

pyrader_frontend's Issues

List of clean up / Design stuff

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 not resetting wtih graph.

Color is not coordinating as you reset the graph. Do:

  1. Add a couple of new series to the graph.
  2. X out all series
  3. Add a new series
  4. New series line color is not coordinated with axis color

Review 3/2/18

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.

testing

Write unit tests with Mocha/Chai
Write acceptance tests with Cypress.io

Some minor review items 3/14/18

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)

Need some way to force alignment of y axis

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

screenshot from 2018-05-03 13-02-19

There is an issue with the normalizeGraph() function

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.

Issue with combined block/price-volume drop down

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

When you pass a bad call, it should not update in the URL parameter

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.

Updated Endpoint

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"

Scatter plot axis remains when you remove

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.