About

StockChart is a web application that takes a stock symbol and a time frame as user input to send to Polygon.io. This third party API, Polygon.io, returns stock prices for each trading day in the time frame.

StockChart receives the data from Polygon.io consisting of dates and stock prices for that stock symbol. StockChart draws the line graph plotting the stock price for the time frame.

This web application consists of Vanilla JavaScript. The stock chart is created using D3.js. If the window size of the browser changes the graph will redraw itself without resubmitting the query.

Behind the scenes, the stock symbols inputted by the user are saved to the cloud. When the website loads it gets the most popular stocks that previous users have entered on the site and displays those symbols.

User-inputted stock symbols that successfully come back with data from the third party Polygon.io API are then sent to my AWS API. That API sends the data to my Lambda function that sends the stock symbol my DynamoDB table in AWS. If the symbol exists it is incremented, else it is added.

As mentioned previously, when the page loads a POST request is sent to another AWS API that I created. That API calls my other Lambda function that queries the DynamoDB table and gets the most popular stock symbols that have been stored.

Refer to the documentation for how to set up the AWS cloud resources in the readme.md.

Technologies

Bootstrap Used for styling, formatting, and responsiveness.
D3.js A JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS.
SVG Scalable Vector Graphics is an XML-based markup language for describing two-dimensional vector graphics. D3 Charts uses SVG to draw the charts and graphs.
Polygon.io The third party API that provides the data for the user-inputted stock symbol.
Amazon Web Services API Gateway, AWS Certificate Manager (ACM), CloudFront, DynamoDB, Lambda, Route53 and S3.