An open-source API and service monitoring platform built with FastAPI and React for monitoring service availability, tracking uptime, measuring response times, and managing alerts.
PulseForge helps developers and teams monitor APIs and web services from a centralized dashboard.
The platform continuously tracks service health, records response times, stores historical health checks, and provides actionable alerts whenever a monitored service becomes unavailable.
The goal of PulseForge is to provide a lightweight, extensible, and developer-friendly monitoring solution similar to lightweight versions of UptimeRobot or Better Stack.
- RESTful API built with FastAPI
- Create and manage monitored services
- Run health checks
- Record response times
- Store health check history
- Alert generation
- Dashboard statistics endpoint
- SQLAlchemy ORM
- Alembic migrations
- SQLite database (development)
- Modern React dashboard
- Responsive sidebar navigation
- Dashboard overview
- Service statistics
- Health monitoring pages
- Alerts page
- Health Checks page
- API integration with Axios
- React Router navigation
- Tailwind CSS UI
The dashboard provides:
- Total monitored services
- Healthy services
- Down services
- Total alerts
- Recent alerts
- Recent health checks
- Response time visualization
- FastAPI
- SQLAlchemy
- Alembic
- SQLite
- Python
- React
- TypeScript
- Vite
- Tailwind CSS
- Axios
- React Router
- Lucide React
pulseforge/
├── backend/
│ ├── app/
│ ├── alembic/
│ ├── tests/
│ └── requirements.txt
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── router/
│ │ └── hooks/
│ └── package.json
│
└── README.md
git clone https://github.com/WideForgeLabs/pulseforge.git
cd pulseforgecd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reloadBackend runs at:
http://127.0.0.1:8000
API Documentation:
http://127.0.0.1:8000/docs
cd frontend
npm install
npm run devFrontend runs at:
http://localhost:5173
GET /api/v1/services
POST /api/v1/services
GET /api/v1/services/{id}
DELETE /api/v1/services/{id}
POST /api/v1/services/{id}/check
GET /api/v1/health-checks
GET /api/v1/services/{id}/history
GET /api/v1/alerts
GET /dashboard/stats
GET /api/v1/services/{id}/stats
- Backend API
- Database models
- CRUD operations
- Health check engine
- Dashboard statistics
- Alerts API
- React frontend
- Dashboard layout
- Sidebar navigation
- API integration
- Dashboard charts
- Deployment
- Authentication
- Email notifications
- Background workers
- JWT Authentication
- PostgreSQL support
- Redis caching
- Celery background workers
- Email alerts
- SMS alerts
- Docker support
- Kubernetes deployment
- Prometheus metrics
- Grafana integration
- WebSocket live updates
- Dark mode
- User accounts
- Role-based access control
Contributions are welcome.
If you'd like to improve PulseForge:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push your branch
- Open a Pull Request
MIT License.
Built by Ikechukwu Patrick
GitHub: https://github.com/WideForgeLabs/pulseforge
PulseForge aims to become an open-source, developer-first monitoring platform that enables teams to monitor services, visualize uptime, detect failures quickly, and respond proactively using modern cloud-native tooling.