A dynamic EUR/USD exchange-Rate timeline Chart app created with React, Redux, Material-Ui and React Timeseries Charts.
To run the app locally:
- Download or clone the branch.
- Run
npm install
oryarn
. - Run
npm start
oryarn start
.
The application will serve on http://localhost:3000
A live demo of the application, deployed with Heroku can be found on this link.
-
The apps routing is managed with react-router-dom (react-router 4). Navigation and routing is connected to and handled by the Material-Ui tabs in the Main component.
-
The app's general state and fetch calls to the api are managed with Redux
-
The chart was created using React Timeseries Charts - a time-chart library which utilizes D3. What I like about it is that it has some really nice features out of the box like a dynamic tracker, selectable legnd and chart lines, and an interactive dynamic time range.
-
Make sure to click on the legend and chart lines and to zoom and drag on the chart's body in order to see this in action.
-
Since changes on the data for the shorter time intervals (MIN_1,MIN_5) are very subtle, I decided to display a different number of digits after the decimal point for each timestamp-type, in order for the changes to be noticed (2 digits for one week, three for 1 hour, four for 1 and 5 minutes).