Real-time Website Health Monitor A lightweight, full-stack monitoring tool that provides live uptime status, performance metrics, and intelligent alerting for any public website. Built with Node.js, MongoDB, and WebSockets. What It Does This application continuously monitors a target website and visualizes its health on a real-time dashboard. Checks Uptime & Performance: Periodically pings a URL to track its status (UP, DOWN, SLOW) and measures the response time. Visualizes Data: Displays the response time on a live-updating chart and lists all check events in a live log feed. Detects Anomalies: Triggers a critical alert if the target website fails multiple consecutive checks, distinguishing a real outage from a temporary glitch. Sends Instant Alerts: Dispatches a browser push notification the moment a critical anomaly is detected, ensuring immediate awareness. Getting Started
- Prerequisites Node.js (v16+) MongoDB (must be running locally or a cloud instance like Atlas) Git
- Quickstart Follow these steps to run the project locally: code Bash
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name
npm install
cp .env.example .env
npx web-push generate-vapid-keys
node src/app.js The application will be running at http://localhost:3000. How to Use It Open http://localhost:3000 in your browser. Enter a full website URL (e.g., https://google.com) and click "Start Monitoring". Allow the browser's request for push notification permissions. Observe the live dashboard. To test the alerting system, monitor a URL that is known to be down (e.g., https://thissitedoesnotexist.com).