π infrastructure
β π config
β β π .env.example
β β π config.go
β π database
β π database.go
π internal
β π domain
β β π [...].domain.go
β π dto
β β π [...].request.go
β β π [...].response.go
β π handler
β β π [...].handler.go
β π microservice
β β π [...].microservice.go
β π model
β β π [...].model.go
β π repository
β β π [...].repository.go
β π usecase
β π [...].usecase.go
π migrations
β π [...].down.sql
β π [...].up.sql
π routers
β π init.routes.go
β π [...].routes.go
π shared
β π constants
β β π [...].constants.go
β π enums
β β π [...].enums.go
β π errors
β β π [...].errors.go
β π middlewares
β β π [...].middleware.go
β π response
β β π [...].response.go
β π utils
β π [...].utils.go
π third-party
β π [...].thirdparty.go
π main.go
π go.mod
π go.sum
π .gitignore
π README.md
π Makefile
Manages external system integrations and configurations
Core application logic (business-critical code, protected from external imports).
Cross-cutting concerns and utilities.
- :icon{class="size-5" name="i-ph:folder-simple"} **constants/**
- Application-wide constant values, enum definitions, and configuration keys
- e.g., HTTP status codes, error codes, default values, system limits
- :icon{class="size-5" name="i-ph:folder-simple"} **enums/**
- Type-safe enumeration definitions
- e.g., String conversion methods, validation functions, JSON marshaling
- :icon{class="size-5" name="i-ph:folder-simple"} **errors/**
- Custom error types
- e.g., Custom error types with error codes, Error wrapping and unwrapping utilities, Structured error responses
- :icon{class="size-5" name="i-ph:folder-simple"} **middlewares/**
- Individual middleware functions
- e.g., Authentication middleware, Authorization middleware, CORS middleware
- e.g., Custom error types with error codes, Error wrapping and unwrapping utilities, Structured error responses
- :icon{class="size-5" name="i-ph:folder-simple"} **response/**
- Success response formatters
- e.g., Standardized API response structures, Error response formatting
- :icon{class="size-5" name="i-ph:folder-simple"} **utils/**
- Utility functions
- e.g., Date/time helpers, String manipulation utilities, Validation functions
External service integrations and third-party API clients - e.g., Payment gateways, External APIs, and webhooks
main.go
Application entry point and initialization
go.mod
Dependency verification and integrity
go.sum
Version control exclusions
.gitignore
Version control exclusions
README.md
Project documentation and setup instructions
Makefile
Build automation and development tools