diff --git a/README.md b/README.md index da32df1..ea2d4d6 100644 --- a/README.md +++ b/README.md @@ -1 +1,82 @@ # Stock Ticker + +## Overview + +``` +$ curl http://stock-ticker.test/stockprice + +Symbol: MSFT + +Week | Closing Price +========================== +2023-02-17 | 258.0600 +2023-02-10 | 263.1000 +2023-02-03 | 258.3500 +2023-01-27 | 248.1600 +2023-01-20 | 240.2200 +2023-01-13 | 239.2300 +2023-01-06 | 224.9300 + +``` +This is a simple web service that prints the last 'N' weeks of closing stock prices for a particular stock. +The data is retrieved from [Alpha Vantage's API](https://www.alphavantage.co/documentation/). + +The web service servers the following endpoints: + +- `/healthcheck` - Returns `200` if the server is up and running. +- `/stockprice` - Prints the closing prices for the latest N weeks. + +### Alpha Vantage API Key + +Before running the web service you'll need to obtain an API key from Alpha Vantage. +You can claim a free key from: + +https://www.alphavantage.co/support/#api-key + +### Required environment variables + +| Environment Variable | Description | Example | +|----------------------|------------------------------------------------|---------| +| SYMBOL | The symbol of the stock. | MSFT | +| NWEEKS | Display the closing price for the last N weeks.| 7 | +| APIKEY | Your API key from Alpha Vantage. | | + +### Command line arguments + +| Argument | Description | Default | +|----------|-------------------------------------------------|--------------| +| address | The address that the web server will listen on. | 0.0.0.0:8080 | + +## Running the docker image locally + +The docker image is published to the GitLab container registry [here](https://gitlab.com/dananglin/stock-ticker/container_registry/3916158). +You can pull and run the docker image from the registry with the following command: + +```bash +docker run --rm \ + -d \ + -e SYMBOL=MSFT \ + -e NWEEKS=3 \ + -e APIKEY= \ + --publish 8080:8080 \ + --name stock-ticker \ + registry.gitlab.com/dananglin/stock-ticker:v0.1.0 +``` + +Alternatively you can build and run the docker image locally. + +```bash +git clone https://gitlab.com/dananglin/stock-ticker.git +cd stock-ticker +docker build -t stock-ticker . +docker run --rm \ + -d \ + -e SYMBOL=MSFT \ + -e NWEEKS=3 \ + -e APIKEY= \ + --publish 8080:8080 \ + --name stock-ticker \ + stock-ticker +``` + +Now you can go to http://localhost:8080/stockprice in your browser to view a table of the latest weekly closing stock prices for `MSFT`.