Projeto de backend em Go para monitoramento de Serviços e APIs, você registra seu serviço nessa API e a mesma fica monitorando o status da sua API.
Normalmente as pessoas costumas achar que health check é apenas ver se está retornando 200 (por ora essa API está apenas fazendo o mesmo) mas o que pode acontecer é o serviço estar retornando 200 e mesmo assim pode estar apresentando problemas que ficam invisíveis. A ideia do projeto é tentar deixar mais nítido a saúde real da aplicação.
Antes de iniciar, certifique-se de que você possui instalado:
- Go 1.24+
- Docker + Docker Compose
- Um cliente PostgreSQL (ex: TablePlus, pgAdmin, psql CLI) — para visualizar/manipular os dados
make(geralmente já incluso em distros Unix/Linux e Mac)migrate— será instalado automaticamente pelo scriptinit.sh
O projeto utiliza o seguinte .env (gerado automaticamente na inicialização):
DATABASE_URL="postgres://admin:123@localhost:5432/monitoringdb?sslmode=disable"
POSTGRES_USER=admin
POSTGRES_PASSWORD=123
POSTGRES_DB=monitoringdb-
Clone o repositório:
git clone git@github.com:aandresantos/api-monitoring-services.git cd api-monitoring-services -
Execute o script de inicialização:
./init.sh
Este script irá:
- Baixar os módulos Go (
go mod download) - Instalar o CLI do
migrate(se necessário) - Criar o arquivo
.env - Subir o banco de dados PostgreSQL via Docker Compose
- Executar as migrações com
make migrate-up
- Baixar os módulos Go (
As migrações estão localizadas em:
./internal/database/migrations
make migrate-new name=[nome_da_migration]
# Subir todas as migrations
make migrate-up DATABASE_URL=[a url do banco]
# Descer uma migration
make migrate-down DATABASE_URL=[a url do banco]Após rodar o init.sh, o banco estará acessível em:
Host: localhost
Porta: 5432
Usuário: admin
Senha: 123
Database: monitoringdb
--
Você pode utilizar down.sh que irá remover todos os containers e todo o ambiente que estiver rodando do projeto.