You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Francesco Minnocci 04c540647a | 1 year ago | |
---|---|---|
.env.example | 1 year ago | |
.gitignore | 1 year ago | |
Dockerfile | 1 year ago | |
README.md | 1 year ago | |
docker-compose.yml | 1 year ago | |
go.mod | 1 year ago | |
go.sum | 1 year ago | |
main.go | 1 year ago |
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_TOKEN
containing the authentication token for the external API. -
An environment variable named
SECRET
containing 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