Sentinel is a distributed monitoring platform with a NestJS API and an independent Go worker for checking configured targets. I built it with production reliability and security in mind, and deployed it on AWS.
┌────────────────────────┐
│ Browser / React Client │
└───────────┬────────────┘
│ HTTPS
▼
┌─────────────┴────────────────┐
│ Caddy reverse proxy │
│ (production edge) │
└──┬────────────────────┬──────┘
│ other paths │ /api/* (direct)
▼ ▼
┌─────────────┐ ┌───────────────────┐
│ Nginx (UI) │ │ NestJS REST API │
│ static SPA │ │ (JWT auth & CRUD) │
└─────────────┘ └─────────┬─────────┘
│ Prisma queries
▼
┌───────────────────┐
│ PostgreSQL 17 │
│ (shared schema) │
└─────────▲─────────┘
│ pgx: due monitors
│ & check results
┌─────────┴─────────┐
│ Go poller worker │
│ (checker registry)│
└─────────┬─────────┘
│ SSRF-filtered
│ HTTP/S requests
▼
┌───────────────────┐
│ Configured HTTP / │
│ HTTPS targets │
└───────────────────┘
-Independent Go worker for distributed monitoring
TypeScript · NestJS · Go · PostgreSQL · React · Docker · AWS EC2