step by step
- create a project folder
- initialize git
- initialize go module
- create api specification
- install framework & driver (postgreSQL, Echo Framework, GO playground/validator)
- create database & table
- implement models/domain/entity
- implement repository (interface & impl from interface)
- implement useCase and struct for requests and responses put in models directory (interface & impl from interface)
- implement category validation in useCase use https://github.com/go-playground/validator
- implement delivery (interface & impl from interface)
- generate constructor in delivery, useCase and repository
- install spf13/viper for configuration
- implement router
- implement open database and create env
- implement server
- implement test.http if there is an error fix it
- implement error handling
- implement Dockerfile
- implement docker-compose.yaml
- implement Detecting Security Vulnerabilities In Dependencies (go.mod) by doing 'osv-scanner --lockfile=go.mod' use https://github.com/google/osv-scanner
- implement Fixing Bug or Search Code That is Not Common by doing 'golangci-lint run' use https://github.com/golangci/golangci-lint