SE Hub
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