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.
Ferramenta | Versão | Descrição |
---|---|---|
Golang |
>= v1.19.0 |
Versão superior ou igual a 1.19.0 . |
MongoDB |
>= v4.4.0 |
Versão superior ou igual a 4.4.0 . |
GolangMigrate |
>= v4.15.0 |
Versão superior ou igual a 4.15.0 . |
Docker CLI |
>= v20.10.0 |
Versão superior ou igual a 20.10.0 . |
Docker Compose |
>= v2.0.0 |
Versão superior ou igual a 2.0.0 . |
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
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
Para rodar o backend do projeto, execute o comando abaixo a partir do diretório raiz do projeto:
go run cmd/server/main.go
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
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
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
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
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.
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
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
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
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:
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
A partir do diretório raiz do projeto execute o comando
swag init -g cmd/server/main.go -ot go,yaml