module
0.0.0-20241203122911-a78b7e82caec
Repository: https://github.com/ekarahadi/go-codebase.git
Documentation: pkg.go.dev
# README
Setup Linter - Mandatory
Windows
binary will be $(go env GOPATH)/bin/golangci-lint
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.62.0
- golangci-lint --version
MacOS
brew install golangci-lint && brew upgrade golangci-lint
Or go to this link
Setup Git Hooks - Mandatory
- run this on terminal
go install github.com/automation-co/husky@latest
- run this on terminal
go install golang.org/x/tools/cmd/goimports@latest
Extra
All available commands is in
makefile
Run the app in dev environment
- Ensure that
golang
is already installed in your system - Ensure docker is running
- Clone the project and go to the directory
- Type
go mod tidy
to install the packages - Type
docker compose up
to run the http server - Jaeger UI for tracing can be accessed at
http://localhost:16686
- Prometheus can be accessed at
http://localhost:9090
- Grafana can be accessed at
http://localhost:3000
Create a branch when developing a feature
- Create new branch from
dev
- Branch name format: "{type}/{ticket-number}-{feature-name}"
- Type: feat, fix, chore
- Example: "feat/SEAL-42-user–registration"
- Make sure to pull from
dev
before requesting to merge
Don't forget to
git pull
from the staging branch when you're developing a feature
Commit convention
- Commit convention, we are following https://www.conventionalcommits.org/en/v1.0.0
- Commit message format: "{type}({scope}): {message}"
- Type: feat, fix, test, chore, style
- Example: "feat(registration): create registration page"
# Packages
No description provided by the author