JDK
npm
- Clone or download the repository
cd resources
./init.sh
(initializes and populates the database with stock data)cd ../backend
./gradlew clean build run
(starts the backend services on port 9000)cd ../frontend
npm install
npm run startWithProxy
(starts the Ember application with requests proxied to http://localhost:9000)- Open the app in a browser at
http://localhost:4200
The Yahoo Finance API is no longer active. Instead, this application uses https://quantprice.herokuapp.com/api/v1.1/.
The QuantPrice API does not seem to support many of the stock symbols in the database. These will not render graphs. One that works is AAPL (Apple Inc).
The QuantPrice API also limits the number of requests within a given period of time. It is likely that a request for historical data will error out if too many requests are made within a short period of time.
- Process the response from https://quantprice.herokuapp.com/api/v1.1/ directly in the backend Java code rather than in the frontend JavaScript code
- Take advantage of Ember's services, serializers, and models to fetch data rather than using Ajax in the controllers
- Split the Stocks component into several smaller components and pass props and emit events to communicate between them. Suggestions: search-bar, data-table, pagination
- Add progress bars when APIs are loading
- The candlestick chart is not fully responsive and will fall outside the modal component on smaller resolutions