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.
- 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
- 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)
- 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
- 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
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database with Mongoose ODM
- JWT - Authentication tokens
- Bcrypt - Password hashing
- 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
- Input Sanitization - XSS protection
- HTTP-only Cookies - Secure token storage
- CORS - Cross-origin resource sharing
- Rate Limiting - Request throttling
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/hamood268/pulsewatch.git
cd pulsewatch- Install dependencies
npm install- Configure environment variables
# Create .env file in Backend directory
PORT=3000
MONGODB_URI=mongodb://localhost:27017/pulsewatch
JWT_SECRET=your-super-secret-jwt-key-change-this
NODE_ENV=development- Start MongoDB
# Make sure MongoDB is running
mongod- Run the application
# Development mode
npm run dev
# Production mode
npm start- Access the application
Open http://localhost:3000 in your browser
Try out PulseWatch exclusively here!
API Documentation can be viewed live here
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Mohammed
- Twitter: @haaoi_dev
- GitHub: @hamood268
- PayPal: Support