Simple Go API to check whether an user is a Math student or not.
- Go 93.8%
- Dockerfile 6.2%
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| README.md | ||
Go Maths students API
A simple Go API whose only purpose is to check whether an user is a Maths student or not.
Prerequisites
-
An environment variable
AUTHPDS_TOKENcontaining the authentication token for the external API. -
An environment variable named
SECRETcontaining the secret token for authorization.
Development
Development
# Create a ".env" file from the given template and update as needed
$ cp .env.example .env
# Start the server
$ go run -v .
# Build to binary
$ go build -v -o ./bin/go-maths-api .
Deploy
To build and run the image from the provided Dockerfile:
# Create a ".env" file from the given template and update as needed
$ cp .env.example .env
$ docker build -t go-maths-api .
$ docker run -d --restart always -p 8080:8080 --name go-maths-api go-maths-api
Client Usage
An example request to the local Docker image (with SECRET defined in your environment):
$ curl "localhost:8080/check-maths-user?user=f.minnocci" -H "Authorization: Bearer $SECRET"
Successful JSON response:
{
"result": true
}
Notes
-
TODO: Add a small 1-day cache
-
Original code idea: https://github.com/Unipisa/dm-cups/blob/d304b95d5b4aabafca1cc2fde0f828ea93238255/dm-cups#L61
-
The first iteration of this project was generated this ChatGPT conversation: https://chat.openai.com/share/de5438e8-660c-49c4-80de-7aae3df870cf