Thanks to visit codestin.com
Credit goes to github.com

Skip to content

DiegoTineo/golang-hexagonal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go get github.com/google/uuid

myapp/
├── cmd/
│   └── api/
│       └── main.go
├── internal/
│   ├── core/
│   │   ├── domain/           # Entidades de negocio
│   │   │   └── user.go
│   │   ├── ports/            # Interfaces (contratos)
│   │   │   ├── repositories.go
│   │   │   └── services.go
│   │   └── services/         # Lógica de negocio
│   │       └── user_service.go
│   ├── features/             # Vertical slicing por funcionalidad
│   │   ├── users/            # Feature: Users
│   │   │   ├── transport/    # Adaptadores de entrada
│   │   │   │   ├── http/
│   │   │   │   │   └── handlers.go
│   │   │   │   └── websocket/
│   │   │   │       └── handlers.go
│   │   │   └── repository/   # Adaptadores de salida
│   │   │       └── user_repository.go
│   │   └── chat/             # Feature: Chat
│   │       ├── transport/
│   │       │   ├── http/
│   │       │   └── websocket/
│   │       └── repository/
│   ├── infrastructure/
│   │   ├── database/         # Implementación DB
│   │   ├── cache/            # Implementación Redis
│   │   └── websocket/        # Config WS server
│   ├── shared/
│   │   ├── middleware/       # Middlewares HTTP
│   │   ├── utils/            # Helpers comunes
│   │   └── config/           # Configuración
│   └── app/                  # Inicialización y DI
│       └── bootstrap.go
├── pkg/                      # Librerías reutilizables
│   ├── validator/
│   └── logger/
├── api/
│   └── openapi.yaml          # Especificación OpenAPI
├── scripts/                  # Migraciones, scripts
├── test/
│   ├── integration/
│   └── e2e/
├── deployments/              # Docker, k8s
└── go.mod

SECUENCIA DE EJECUCIÓN → Dominio (Estructuras de datos) → Output Ports (Contratos hacia el exterior) → Input Ports (Casos de uso) → Implementaciones

DIAGRAMA DE INYECCIÓN DE DEPENDENCIAS graph LR main.go --> Bootstrap Bootstrap -->|Crea| UserRepository Bootstrap -->|Crea| UserService UserService -->|Depende de| UserRepository main.go -->|Usa| UserService

About

a golang project used to practice hexagonal architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages