DEV Community

Cover image for I built an API monitor
Mohammed
Mohammed

Posted on

I built an API monitor

⚡ PulseWatch - Always Watching

A modern, real-time API monitoring platform built with Node.js, Express, and MongoDB. Keep your APIs and endpoints healthy with continuous uptime monitoring, performance tracking, and instant status updates.

✨ Features

🎯 Core Monitoring

  • Real-time Endpoint Monitoring - Continuously check API health with customizable interval options
  • Uptime Tracking - Calculate and display uptime percentages based on historical data
  • Response Time Analytics - Monitor and track API response times with millisecond precision
  • Status History - Keep up to 100 historical checks per endpoint for trend analysis
  • Multi-Endpoint Management - Monitor unlimited APIs from a single dashboard

💎 User Experience

  • Intuitive Dashboard - Clean, modern interface with real-time status updates
  • User Profiles - Personal monitoring workspace for each user
  • Mobile Responsive - Fully functional on desktop, tablet, and mobile devices
  • Visual Status Indicators - Instant health status with color-coded indicators (Online/Offline)
  • Smart Filtering - Filter endpoints by status (All/Online/Offline)

🔒 Security & Authentication

  • JWT Authentication - Secure user sessions with HTTP-only cookies
  • Input Validation - Comprehensive XSS protection and input sanitization
  • Rate Limiting - Built-in protection against abuse
  • User Authorization - Users can only access their own monitors
  • Password Encryption - Bcrypt hashing with salt rounds

🛠️ Technical Features

  • RESTful API - Clean, well-documented API endpoints
  • Automatic Scheduler - Background jobs for continuous monitoring
  • Dynamic Scheduler Updates - Automatically restarts monitoring when URL/interval changes
  • Graceful Shutdown - Properly cleanup schedulers on server stop
  • Error Handling - Comprehensive error handling and logging
  • CORS Support - Configured for secure cross-origin requests

🚀 Tech Stack

Backend

  • Node.js - Runtime environment
  • Express.js - Web framework
  • MongoDB - Database with Mongoose ODM
  • JWT - Authentication tokens
  • Bcrypt - Password hashing

Frontend

  • Vanilla JavaScript - No framework dependencies
  • Modern CSS - Custom styling with CSS variables
  • Responsive Design - Mobile-first approach
  • Real-time Updates - Auto-refresh every 10 seconds

Security

  • Input Sanitization - XSS protection
  • HTTP-only Cookies - Secure token storage
  • CORS - Cross-origin resource sharing
  • Rate Limiting - Request throttling

🖥️ Live Website

Try out PulseWatch exclusively here!

📖 API Documentation

API Documentation can be viewed live here

👤 Developer

Mohammed

Top comments (0)