CloudPulse – API Health & Uptime Monitoring (Full Stack DevOps)
A full-stack, cloud-native monitoring system that tracks the health and performance of public APIs in real time. The current version features a live dashboard powered by Supabase (PostgreSQL), a Node.js backend, and a Svelte + Plotly.js frontend. Additional infrastructure features (Python-based monitoring agent, CI/CD pipeline, Docker/Ansible provisioning) are under active development.
Key Features (Planned)
- Monitors 3–5 public APIs every 60 seconds (e.g., OpenWeather, IPinfo)
- Captures:
- Status codes
- Latency (ms)
- API availability (uptime %)
- Logs structured metrics to Supabase (PostgreSQL)
- REST API backend (Node.js) exposes data for frontend
- Frontend dashboard (Svelte + Plotly.js) shows live charts
- Docker-based deployment (in progress)
- GitHub Actions CI/CD (in progress)
- Ansible provisioning (in progress)
What’s Working So Far
- Live dashboard UI (Svelte + Plotly.js)
- Node.js backend API server
- Realtime metrics from Supabase (PostgreSQL)
- Frontend displays latency and uptime charts
Work in Progress
The following features are actively being built or integrated:
- Python-based agent that pings APIs and logs data to Supabase
- Docker containerization for backend/frontend/agent
- GitHub Actions CI/CD pipeline
- Ansible playbooks for provisioning infrastructure
These are listed on my resume and being implemented sequentially. This repository will be updated regularly.
Getting Started
Requirements
- Python 3.8+ (for monitoring agent)
- Node.js 18+
- Docker + Docker Compose
- Supabase account (PostgreSQL backend)
- (Optional) Fly.io or Render for cloud deployment
Tech Stack
Layer |
Tools / Technologies |
Monitoring Agent |
Python (Requests, Schedulers) |
Database |
Supabase (PostgreSQL + REST API) |
Backend API |
Node.js (Express) |
Frontend UI |
Svelte + Plotly.js |
Containerization |
Docker, Docker Compose (planned) |
Infra-as-Code |
Ansible (planned) |
CI/CD |
GitHub Actions (planned) |