git clone https://github.com/JubaerHossain/golang-ddd && cd golang-ddd
make install
make dev
make build
make run
- Golang
- DDD
- Clean Architecture
- Docker
- Makefile
- Swagger
- Gorm
- JWT
- Viper
- Logger[Zap]
- Unit Test
.
├── cmd
│ └── server
│ └── server.go
├── internal
│ ├── core
│ │ └── auth
│ │ └── auth.go
│ ├── cache
│ │ └── cache.go
│ ├── database
│ │ └── database.go
| ├── errors
│ │ └── errors.go
│ ├── health
│ │ └── health.go
│ ├── logger
│ │ └── logger.go
│ ├── middleware
│ │ └── auth.middleware.go
│ ├── monitor
│ │ └── monitor.go
│ ├── server
│ │ └── server.go
│ ├── domain
│ │ ├── model
│ │ │ └── user.go
│ │ └── repository
│ │ └── user.go
│ ├── infrastructure
│ │ ├── database
│ │ │ └── database.go
│ │ ├── logger
│ │ │ └── logger.go
│ │ ├── router
│ │ │ └── router.go
│ │ └── security
│ │ └── security.go
│ └── interfaces
│ ├── controller
│ │ └── user.go
│ ├── middleware
│ │ └── middleware.go
│ └── response
│ └── response.go
├── Dockerfile
├── go.mod
├── go.sum
├── Makefile
├── README.md
└── swagger
└── swagger.yaml
GET /api/v1/users
POST /api/v1/users
GET /api/v1/users/{id}
PUT /api/v1/users/{id}
DELETE /api/v1/users/{id}
http://localhost:8080/health
http://localhost:8080/metrics
http://localhost:8080/swagger/index.html