modulepackage
0.0.0-20240526204349-5ee6b086bfee
Repository: https://github.com/macabrabits/go_template.git
Documentation: pkg.go.dev
# README
Some followed documentations:
File structure:
https://www.youtube.com/watch?v=OFud4iPuAH8
https://github.com/golang-standards/project-layout/tree/master
Hot reload:
https://courses.devopsdirective.com/docker-beginner-to-pro/lessons/06-building-container-images/03-api-golang-dockerfile
Migrations:
https://github.com/golang-migrate/migrate
Project purpose
Made this project to:
Evaluate the pros and cons of developing an Web API with Golang, in comparison with other stacks like NestJS(Typescrypt) and Laravel(PHP)
Get more familiar with golang
Having a template for golang Web Servers
Key features i want to analyse
conventional project file structure
request validation
authentication
available ORM's, query builders
Dockerfile for development and production
Livereload with docker
debugging
performance vs other frameworks / languages
unit tests
speed for developing slightly complex features
conventional programing paradigms and philosophy
Progress
OK - development dockerfile with livereload
OK - simple working api
OK - validation
OK - config file, env
OK - service layer pattern
OK - OpenAPI configuration
OK - some db integration
OK - debug in container
OK - sqlc
OK - vulnerability scan
OK - migrations
OK - traces - very unsatisfied
OK - metrics creation
production build / ci/cd pipeline
implement logs, metrics monitoring
unit tests - suffering
authentication
authorization