https://github.com/booscaaa/go-api-test-unico
API do desafio de Go da UNICO
https://github.com/booscaaa/go-api-test-unico
cleanarch codecov gitflow golang logging swagger test
Last synced: about 1 month ago
JSON representation
API do desafio de Go da UNICO
- Host: GitHub
- URL: https://github.com/booscaaa/go-api-test-unico
- Owner: booscaaa
- Created: 2022-07-22T14:25:45.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-26T12:25:23.000Z (almost 4 years ago)
- Last Synced: 2025-12-28T18:35:19.454Z (6 months ago)
- Topics: cleanarch, codecov, gitflow, golang, logging, swagger, test
- Language: Go
- Homepage: https://api-unico-test.herokuapp.com/swagger/index.html
- Size: 132 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
TESTE DE API
LINKS PARA AS INFORMAÇÕES SOBRE RELEASE, TESTES, COVERAGE E SWAGGER ABAIXO
## Pré-requisitos
Para rodar o projeto se faz necessário a instalação de alguns recursos.
- A SDK do Go [nesse link](https://golang.org/).
- O Docker [nesse link](https://docs.docker.com/).
### Baixando
```bash
$ git clone git@github.com:booscaaa/go-api-test-unico.git
$ cd go-api-test-unico
```
### Rodando
```bash
$ docker-compose up --build -d
```
### Logs da api em desenvolvimento
```bash
$ docker logs api -f
```
- ENDPOINT_API: http://localhost:3000
- ENDPOINT_API_DOCS: http://localhost:3000/swagger/index.html
- ENDPOINT_PGADMIN: http://localhost:5050
### Importando os dados do CSV do teste
```bash
$ docker exec api go run ./adapter/cli/main.go importer
```
## Requests
- Para testar os endpoints da API basta clicar no botão abaixo e executar as request no insomnia. Ou em algum outro software seguindo a documentação: https://api-unico-test.herokuapp.com/swagger/index.html
## Credênciais para desenvolvimento e conexão com o banco de dados pelo:
### PGADMIN
- login: admin@admin.com
- senha: admin
- host: postgres
- usuario do banco: postgres
- senha do banco: postgres
- porta do banco: 5432
## Arquivos de LOGS
- Os logs são gerados e armazenados por data na pasta `./logs` na raiz do projeto. A pasta é um mapeamento para o diretório /var/log dentro do container da API.
## Automações
- Testes rodam em qualquer push ou pull request: https://github.com/booscaaa/go-api-test-unico/actions/workflows/tests.yaml
- Deploy é realizado para produção no Heroku ao criar uma tag com prefixo v*: https://github.com/booscaaa/go-api-test-unico/actions/workflows/heroku-deploy.yaml
- O github actions envia os dados para o Codecov gerando relatórios de coverage: https://app.codecov.io/gh/booscaaa/go-api-test-unico
## Bibliotecas
- [Viper](github.com/spf13/viper)
- [Migrate](github.com/golang-migrate/migrate)
- [Cobra](github.com/spf13/cobra)
- [Gin](github.com/gin-gonic/gin)
- [SQLMock](github.com/DATA-DOG/go-sqlmock)
- [GoPaginate](github.com/booscaaa/go-paginate)
- [Faker](github.com/bxcodec/faker)
- [Validator](github.com/go-playground/validator)
- [Mock](github.com/golang/mock)
- [Sqlx](github.com/jmoiron/sqlx)
- [Swag](github.com/swaggo/swag)
- [Zap](go.uber.org/zap)