fiber-optic
Personal gofiber template with goodies like a Dockerfile, Swagger and Just.
Features
Dockerfile
Every created repository using this template includes a Dockerfile. This can be used to build production-ready container images. The image leverages multi-stage build to minimize the size of the image and dumb-init to reduce the complexity of the container.
Just
Every created repository using this template includes a Justfile. This file defines all commands that can be ran within the repository. Just has a syntax inspired by make but has a lot of additional features like OS-specific variants of the same recipe ie. just build
and loading of .env
-files. The Justfile is used in this case to store procedure's for things like building and containerizing.
Swagger
Every created repository using this template has Swagger configured. Swagger can be used as a means of documenting your API and exploring endpoints.
Much more...
Some features are very subtle details in among other things the directory structure and the way things like routing are handled.
Dependencies
Usage
cookiecutter https://git.cesium.pw/niku/fiber-optic.git
Which generates the following structure where among other things demo-app will be substituted with the name/data you provide:
.
├── cmd
│ └── demo-app
│ └── main.go
├── Dockerfile
├── .dockerignore
├── docs
│ ├── docs.go
│ ├── swagger.json
│ └── swagger.yaml
├── .gitignore
├── go.mod
├── go.sum
├── internal
│ └── app
│ ├── api
│ │ ├── router.go
│ │ └── v1
│ │ └── router.go
│ └── main.go
└── justfile