docs: update README.md

- Added overview section.
- Added instructions on running the docker image.
This commit is contained in:
Dan Anglin 2023-02-19 19:26:29 +00:00
parent 8d4fed70ac
commit a483eae0cb
Signed by: dananglin
GPG key ID: 0C1D44CFBEE68638

View file

@ -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=<YOUR_API_KEY> \
--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=<YOUR_API_KEY> \
--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`.