Todo API allows the client to create, read, update and delete todo items.
This project is sample project that shows how to use DDD(Domain-Driven Design) with hexagonal architecture in Golang and Gin.
- Using In-Memory
- MongoDB (Todo)
- Go 1.18
- Gin
- Testify
- Swagger
make run
make build
To build the app with docker, run
docker build -t todoapi .
docker run -d -p 8080:80 --name todoapiapp todoapi
Generate mocks with mockery:
$ mockery --dir=pkg/domain/task --name=AddTaskRepository --filename=service_mock.go --output=pkg/domain/task/mocks --outpkg=mocks