Term Monitor | Backend
Descrição
Este projeto e o backend do Term Monitor, uma ferramenta de monitoramento de termos de marca para sites concorrentes que são patrocinados usando Google Ads.
Requisitos
Como usar e configurar o projeto
Variáveis de Ambiente
Crie um arquivo .env
com as configurações necessárias. Você pode usar o arquivo de exemplo .env.example
como referência.
cp cmd/server/.env.example cmd/server/.env
Executando Localmente
1. Subir banco de dados
Para subir o banco de dados, execute o comando abaixo a partir do diretório raiz do projeto:
docker compose -f cmd/server/docker-compose.yml up mongo mongo-express
2. Executar o backend
Para rodar o backend do projeto, execute o comando abaixo a partir do diretório raiz do projeto:
go run cmd/server/main.go
1. Construir e executar os containers
Para rodar o projeto com o Docker Compose, execute o comando abaixo a partir do diretório raiz do projeto:
docker compose -f cmd/server/docker-compose.yml up
2. Visualizar logs
Para visualizar os logs, execute o comando abaixo a partir do diretório raiz do projeto:
docker compose -f cmd/server/docker-compose.yml logs -f
3. Parar os containers
Para parar os containers, execute o comando abaixo a partir do diretório raiz do projeto:
docker compose -f cmd/server/docker-compose.yml down
4. Monitorar o desempenho dos containers
Para monitorar o desempenho dos containers, execute o comando abaixo a partir do diretório raiz do projeto:
docker compose -f cmd/server/docker-compose.yml stats
Migrações
Para gerenciar migrações do banco de dados MongoDB
, você pode usar a ferramenta migrate
. A seguir estão as instruções para criar, subir e voltar migrações.
1. Criar nova migração
Para criar uma nova migração, execute o comando abaixo a partir do diretório raiz do projeto:
migrate create --ext json --dir "internal/infra/data/client/mongo/migration" --tz UTC nome_da_migração
2. Subir Migrações
Para aplicar as migrações, execute o comando abaixo a partir do diretório raiz do projeto:
migrate --path="internal/infra/data/client/mongo/migration" --database "mongodb://user:password@host:port/dbname?ssl=false&authSource=admin" up
3. Voltar Migrações
Para reverter as migrações, execute o comando abaixo a partir do diretório raiz do projeto:
migrate --path="internal/infra/data/client/mongo/migration" --database "mongodb://user:password@host:port/dbname?ssl=false&authSource=admin" down numeroDeMigraçõesParaReverter
Acessando a Documentação
A documentação completa da API pode ser acessada através do seguinte link:
http://localhost:3333/docs/index.html
Para gerar a documentação da API utilizando Swagger, siga os passos abaixo:
1. Instale o Swagger CLI
Se ainda não tiver o Swagger CLI instalado, você pode instalá-lo globalmente com o seguinte comando:
go install github.com/swaggo/swag/cmd/swag@latest
2. Gere a Documentação
A partir do diretório raiz do projeto execute o comando
swag init -g cmd/server/main.go -ot go,yaml