ls
The most elegant and powerful reral-time monitoring solution for modern applications
Built for developers, trusted by enterprises
Why PulseMonitor • Live Demo • Quick Start • Features • Docs
|
|
"Reduced our MTTR by 80% and gave our team peace of mind" - CTO, TechCorp
The project is organized into three main directories: frontend, backend, and service.
.
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── db/
│ │ ├── middlewares/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── utils/
│ │ └── app.js
│ ├── .env.example
│ └── package.json
├── frontend/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── lib/
│ │ ├── pages/
│ │ └── App.tsx
│ ├── index.html
│ └── package.json
├── service/
│ ├── src/
│ │ ├── config/
│ │ ├── jobs/
│ │ ├── models/
│ │ ├── services/
│ │ └── index.js
│ ├── .env.example
│ └── package.json
├── README.md
└── package.json
PulseMonitor is built with a modern, scalable architecture that separates concerns into three main components:
- Frontend: A React-based single-page application that provides a beautiful and intuitive user interface for monitoring services.
- Backend: A Node.js and Express-based API that handles user authentication, service management, and data persistence.
- Monitoring Service: A dedicated Node.js service that performs the actual monitoring of services and sends data to the backend.
| Category | Technologies |
|---|---|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS |
| UI/UX | shadcn/ui, Radix UI, Framer Motion, Recharts |
| State Management | Zustand, React Query, Jotai |
| Backend | Node.js, Express, MongoDB, Mongoose, JWT |
| Monitoring Service | Node.js, Axios, node-cron |
| Testing | Vitest, Testing Library, Playwright |
| Deployment | Docker, Vercel, AWS, GCP, Azure |
The following diagram illustrates the workflow and dataflow within the PulseMonitor ecosystem:
- The User interacts with the Frontend to add, remove, or view monitoring services.
- The Frontend sends API requests to the Backend to manage services and retrieve monitoring data.
- The Backend stores service configurations and monitoring data in the MongoDB database.
- The Monitoring Service periodically fetches the list of services to monitor from the Backend.
- The Monitoring Service sends requests to the user-defined services to check their status.
- The Monitoring Service sends the monitoring results back to the Backend.
- The Backend stores the results in the database and sends real-time updates to the Frontend via WebSockets.
- The Frontend displays the real-time monitoring data to the user.
- Node.js (v20.0.0 or higher)
- npm (v10.0.0 or higher)
- MongoDB (v6.0 or higher)
-
Clone the repository:
git clone https://github.com/elonerajeev/Pulse-Monitor.git cd Pulse-Monitor -
Install dependencies for all services:
npm install cd frontend && npm install cd ../backend && npm install cd ../service && npm install
-
Configure environment variables:
Create a
.envfile in thebackendandservicedirectories and add the required environment variables (see the.env.examplefiles for reference). -
Run the development servers:
# Run the frontend cd frontend && npm run dev # Run the backend cd backend && npm run dev # Run the monitoring service cd service && npm run dev
-
Open your browser and navigate to
http://localhost:5173to see the application in action.
- Real-time Monitoring: Monitor your services in real-time with a beautiful and intuitive dashboard.
- Global Reach: Monitor your services from multiple locations around the world.
- Smart Alerting: Get notified via Slack, Discord, Email, SMS, and Webhooks when a service goes down.
- Historical Analysis: View historical data to identify trends and patterns.
- Modern UX: Enjoy a sleek and modern user experience with light and dark modes.
- Open Source: PulseMonitor is open source and fully customizable.
We love contributions! Here's how you can help make PulseMonitor even better:
| Type | How to Contribute |
|---|---|
| 🐛 Bug Reports | Open an issue |
| ✨ Feature Requests | Suggest a feature |
| 📝 Documentation | Help improve our docs |
| 🔧 Code | Submit a pull request |
| 💬 Community | Join our Discord |
This project is licensed under the MIT License - see the LICENSE file for details.
- Rajeev Kumar - elonerajeev@gmail.com
- Project Link: https://github.com/elonerajeev/Pulse-Monitor.git



