You'll need Docker Compose.
Setting up:
docker-compose up -d --build
docker exec -it api /bin/zsh
# Inside the shell.
go run ./main.go
You can check the routes file to see the available endpoints. I will probably put up Swagger sometime in the future.
I used Gin and GORM to set up the initial codebase. Both are the most popular Go solutions for common infrastructure/ORM problems.
The authentication code is originally taken from this article by Tanmay Vaish.
Tests are done thanks to the manual and TableDrivenTests.
The project layout is still unfinished. Current inspiration can be found in this repository.