Backend Development (Go)
Repository Layout
The directory structure of the Go backend repository.
|app/
|----kafka_service/ # Kafka service handler
|----mock/ # Mocks of data on table
|----model/ # Models
|----repository/ # Repositories only contains scripts related to database connection
|----route/ # List of available routes
|--------route.go
|----service/ # Service handler targer redirected from route handler
|docker/ # List of files, dockerfiles, and configs for deployment
|----dev/
|----local/
|----prod/
|docs/ # Target directory for generated API documentation from swagger
|----docs.go
|internal/ # Core of the app*
|----config/
|--------config.go
|----database/
|--------database.go
|----kafka/
|--------kafka.go
|----mongo/
|jenkins/ # Jenkinsfile collections
|pkg/ # Core of the app*
|----util/
|--------api/
|------------api.go # API response wrapper
|--------locale/
|------------locale.go # Locales
|--------response/
|------------response.go # Response data struct
|test/
|----k6/
|.env.example
|go.mod
|main.go # Main golang file*
|README.md # This documentation source text
(*) Do not make any updates on this file/directory and subdirectory without tech-leader confirmation