Voltar ao site
Projeto Open Source

HomePulse GCP

Monitoramento contínuo da internet de casa: testes de velocidade agendados, alertas por e-mail em quedas e um dashboard completo de histórico — rodando 100% na sua própria conta Google Cloud.

Rust Angular TypeScript Python Terraform GCP Firebase Apache-2.0
Arquitetura

Como funciona

Três componentes independentes, cada um no seu próprio subprojeto, provisionados de ponta a ponta via Terraform em um único projeto GCP/Firebase.

Coleta
Agente Rust
roda no seu computador
Firestore
resultados dos testes
Alertas
Firestore
Cloud Scheduler
Cloud Function
lógica de alerta em Python
Gmail API
e-mail de alerta/recuperação
Visualização
Firestore
Dashboard Angular
Firebase Hosting + Google Sign-In
Recursos

O que ele faz

Dashboard em tempo real
Médias e histórico de download, upload, ping, jitter e perda de pacotes, com gráficos por período (12h, 24h, 7 dias...).
Alertas por e-mail
Notificação automática quando a internet cai e quando ela volta, com assunto e corpo totalmente customizáveis.
Histórico e heartbeat
Tabela pesquisável com todos os testes registrados e o log de heartbeat do agente, para auditar o que aconteceu.
Análise de incidentes
Identifica horário de pico, dia da semana mais instável, faixa mais estável, duração média e o pior incidente.
Infraestrutura como código
Toda a infraestrutura GCP (Cloud Function, Scheduler, secrets, hosting) é provisionada via Terraform.
Privado por padrão
Login restrito a um e-mail específico via Google Sign-In, tudo rodando no seu próprio projeto GCP/Firebase.
Interface

Veja funcionando

HomePulse Dashboard
Dashboard
HomePulse Heartbeat
Heartbeat
HomePulse History
Histórico
HomePulse Incidents
Incidentes
HomePulse Settings — Notifications
Configurações — Notificações
HomePulse Settings — Email Templates
Configurações — Templates de e-mail
Comece agora

Baixe e rode

O repositório é um monorepo com três subprojetos independentes. Clone tudo e siga o guia de configuração de cada um.

git clone https://github.com/dcbasso/homepulse-gcp.git
cd homepulse-gcp
Conta GCP com um projeto Firebase
gcloud CLI & Firebase CLI
Terraform
Rust toolchain (para o agente)
Node.js & Angular CLI
O guia completo de configuração (variáveis de ambiente, Terraform, Firebase) fica no README de cada subprojeto no repositório. README →
client/homepulse-client Rust
Agente local: roda o speedtest e grava os resultados no Firestore.
ver pasta
backend/homepulse-notification-server Python + Terraform
Cloud Function de alertas e toda a infraestrutura GCP provisionada via Terraform.
ver pasta
frontend/homepulse-web Angular + TypeScript
Dashboard web, hospedado no Firebase Hosting com login via Google Sign-In.
ver pasta