Fully fletched golang backend server template
- Go 100%
Work-in-progress commit. Maybe half-way or 2/3:s through having a "finished" template? |
||
|---|---|---|
| internal | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
Advanced Backend Template for Go
Warning
This template is still a work in progress.
Fully fletched backend server written in Go, built on the following frameworks and libraries:
- Iris - A flexible and high performance web framework.
- GORM - A full-featured ORM library.
- Viper - An awesome configuration library.
- Zerolog - A fast and simple logging library.
It offers a (in my opinion) good project structure, and has the following features:
- Support for multiple database types.
- Well-integrated logging utilities.
- Full account creation and authentication.
- Granular role/permission system for advanced authorization.
- Clear data structures with domain-specific Models, DTOs and DAOs.
- Email verification, password resets, 2FA and more.
- Builtin mailer for system messages.
Despite these features, it doesn't do much in practice on its own. You have to build your own functionality into it. But it does handle one of the most time consuming tasks for you, and that is bootstrapping the project and getting all core functionality in there.
Please note that I wrote this template primarily for my own personal use, and share it in case others find it useful. Some things might be a bit opinionated.
Questions or concerns? You can reach me at contact@zervo.dev.