Esse projeto é uma API para armazenar as informações sobre as familias do jogo Game of thrones.
Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.
Ferramentas:
Antes de rodar qualquer coisa no projeto recomendo executar esse comando baixo:
make setup
: instala todas as dependencias necessarias para o projeto rodar.
Alguns comandos importantes para rodar o projeto e validar:
make up-local
: Inicia o docker compose (db and admin).make run
: Wrapper para ocd cmd && env=local go run main.go
.make down-local
: encerra o docker-compose (db and admin).make docker-up
: Inicia o projeto via docker.make docker-down
: Encerra todos os componentes do docker-compose.make docs
: Cria/atualiza os arquivos do swagger.make mocks
: Cria/atualiza os arquivos do mock do projeto.make test
: Rota dos testes do projeto e mostra o covermake test-cover
: O mesmo domake test
, porém abre o brawser para mais detalhes.make itest
: Rota dos testes de e2e|integração do projeto
./cmd/main.go
: O codígo que inicia a aplicação../config
: Esse diretório possui todos os arquivos para ler as variaveis do projeto../docs
: Arquivos gerados pelo swagger, referente a documentação../internal
: O codígo relacionado a aplicação../internal/handles/**
: Esse diretório possui o registro todas as rotas existentes../internal/controllers/**
: Esse diretório possui toda as logica volta a camada de handles../internal/entities/**
: Este diretório possui todos os arquivos de modelos globais do projeto./internal/services/**
: Esse diretório contem toda a regra de negocio da aplicação../internal/repositories/**
: Esse diretório possui todos os arquivos relacionado a banco ou cache../migrations
: Esse diretório possui todas migrations o projeto necessita para funcionar../pkg
: Esse diretório contem todos o pacotes externos que usamos (Gin, Log, Migration e etc...)./test
: Sub-modulos necessários para manutenção do projeto em geral.