Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fabianogoes/poc-go-ddd-clean-arch
Aplicação de exemplo utilizando princípios de DDD com um pouco arquitetura DIP e um pouco de Ports and Adapters
https://github.com/fabianogoes/poc-go-ddd-clean-arch
Last synced: 3 months ago
JSON representation
Aplicação de exemplo utilizando princípios de DDD com um pouco arquitetura DIP e um pouco de Ports and Adapters
- Host: GitHub
- URL: https://github.com/fabianogoes/poc-go-ddd-clean-arch
- Owner: fabianogoes
- License: mit
- Archived: true
- Created: 2022-04-26T01:07:33.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-05-08T04:44:43.000Z (over 2 years ago)
- Last Synced: 2024-10-01T09:10:30.116Z (3 months ago)
- Language: Go
- Size: 149 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go DDD
[![Go](https://github.com/fabianogoes/go-ddd/actions/workflows/go.yml/badge.svg)](https://github.com/fabianogoes/go-ddd/actions/workflows/go.yml)
[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/fabianogoes/go-ddd)
[![Go Report Card](https://goreportcard.com/badge/github.com/marcusolsson/goddd)](https://goreportcard.com/report/github.com/fabianogoes/go-ddd)
[![License MIT](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](LICENSE)Este projeto visa demonstrar uma ideia de implementação dos padrões de design tático do Domain Driven Design em Go usando influências da arquitetura [DIP](https://www.martinfowler.com/articles/dipInTheWild.html) e [Ports and Adapters](https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)).
> :heavy_exclamation_mark: DIP - Dependency Inversion Principle
## Domínio de exemplo para ser desenvolvido
![Domain](./assets/domain.png)
## Dependências
- [UUID - Google UUID](https://pkg.go.dev/github.com/google/uuid)
- [Assert - Testfy](https://pkg.go.dev/github.com/stretchr/testify/assert)
- [Log - Logrus](https://github.com/Sirupsen/logrus)
- [ORM - GORM](https://gorm.io/index.html)
- [Database - Postgres](https://www.postgresql.org/docs/current/index.html)## Referências
- [Using Enums (and Enum Types) in Golang](https://www.sohamkamani.com/golang/enums/)
- [Logging in Go: Choosing a System and Using it](https://www.honeybadger.io/blog/golang-logging/)## Test
> Para rodar todos os testes unitários
```shell
go test -covermode=count -coverprofile=count.out -v ./...
```