This app is to be used as a boiler plate for a golang web server using go-fiber to drive the major piece. Creation of routes and handlers should look familiar if you ever have ever made an express web server. Now given that it follows express that doesn't mean you should follow javascript standards here. This is still GoLang, so things are different intentionally.
- go-fiber has amazing benchmarks for performance and has other supporting modules that are available for JWT auth, swagger docs, rate limiter and more!
- XORM is a well balanced client which can be used as an ORM or raw queries when you need it.
- XORM also has built in caching to help performance if needed.
- Goose allows to write migrations in both SQL and go. (others might to it aswell)
- Follows Golang widely accepted folder structure conventions.
This app was made to be usable on both Windows and Mac. make isn't available by default on Windows but you can install it regardless
go-fiber <--- Web Server
xorm <-- ORM/Database Client
goose <-- Database Migration
zeroLog <-- Logging
modd <-- Live Reload
docker <-- dev environment
postgres <-- Database
make <-- dev tool
make tools <-- Downloads required go binaries
make up <-- Startup Postgres
make start <-- Runs go-fiber
go generate ./...
go test ./...