How manpreet-singh-kamboj/pulsewatch works
PulseWatch lets users configure website, API, and SSL monitors, then automatically checks them, records status and latency, tracks downtime incidents, and delivers alerts. Users inspect live dashboards, logs, incidents, performance insights, and reports; optional features include AI analysis, PageSpeed Insights, and broken-link scans. The frontend routes user workflows to an Express API, while a scheduler coordinates checks and incident transitions over MongoDB-backed state. The graph follows documented capabilities where route details were not sampled; those links are cited to the README rather than inferred from unseen code.
Main entry points: App.tsx Application routes · app.ts Express API · models Domain records · scheduler.service.ts Check scheduler
Components 31
User interface
- Application routes
frontend/src/App.tsx - Monitor setup
frontend/src/pages/MonitorForm.tsx - Live dashboard
frontend/src/pages/Dashboard.tsx - Incident views
frontend/src/pages/Incidents.tsx - Check logs
frontend/src/pages/CheckLogs.tsx - Reports UI
frontend/src/pages/Report.tsx - Alert settings
frontend/src/pages/Settings.tsx - SSE bridge
frontend/src/components/SseBridge.tsx
API and accounts
- Express API
backend/src/app.ts - Authentication
backend/src/routes/auth.routes.ts - Administration
backend/src/routes/admin.routes.ts - Broadcast endpoints
backend/src/routes/broadcast.routes.ts
Monitoring lifecycle
- Monitor endpoints
backend/src/routes/monitor.routes.ts - Incident endpoints
backend/src/routes/incident.routes.ts - Check scheduler
backend/src/services/scheduler.service.ts - Monitor checks
backend/src/services/check.service.ts
Insights and reporting
- Dashboard endpoints
backend/src/routes/dashboard.routes.ts - Report endpoints
backend/src/routes/report.routes.ts - PageSpeed insights
backend/src/services/psi.service.ts - Broken link scan
backend/src/services/brokenLinks.service.ts - AI analysis
backend/src/services/ai.service.ts - PDF generation
backend/src/services/pdf.service.ts
Persistence and delivery
- Alert delivery
backend/src/services/alert.service.ts - Domain records
backend/src/models - MongoDB
- Redis cache
backend/src/config/redis.ts
Other components
- User
- Browser
- OpenAI
- Google PSI
- Email / SMS / webhooks
Connections 40
- User → Browser: uses
- Browser → Application routes: opens
- Application routes → Monitor setup: routes to
frontend/src/App.tsx - Application routes → Live dashboard: routes to
frontend/src/App.tsx - Application routes → Incident views: routes to
frontend/src/App.tsx - Application routes → Check logs: routes to
frontend/src/App.tsx - Application routes → Reports UI: routes to
frontend/src/App.tsx - Application routes → Alert settings: routes to
- Application routes → SSE bridge: mounts
frontend/src/App.tsx - Browser → Express API: requests API
- Express API → Authentication: dispatches
backend/src/app.ts - Express API → Monitor endpoints: dispatches
backend/src/app.ts - Express API → Dashboard endpoints: dispatches
backend/src/app.ts - Express API → Incident endpoints: dispatches
backend/src/app.ts - Express API → Report endpoints: dispatches
backend/src/app.ts - Express API → Administration: dispatches
backend/src/app.ts - Express API → Broadcast endpoints: dispatches
backend/src/app.ts - Monitor endpoints → Check scheduler: schedules checks
backend/src/routes/monitor.routes.ts - Check scheduler → Monitor checks: runs checks
backend/src/services/scheduler.service.ts - Check scheduler → PageSpeed insights: collects PSI
backend/src/services/scheduler.service.ts - Check scheduler → Alert delivery: sends alerts
backend/src/services/scheduler.service.ts - Check scheduler → AI analysis: summarizes incidents
backend/src/services/scheduler.service.ts - Check scheduler → Domain records: updates records
backend/src/services/scheduler.service.ts - Monitor endpoints → PageSpeed insights: requests PSI
backend/src/routes/monitor.routes.ts - Monitor endpoints → Broken link scan: scans links
backend/src/routes/monitor.routes.ts - Dashboard endpoints → AI analysis: requests analysis
backend/src/routes/dashboard.routes.ts - Dashboard endpoints → PageSpeed insights: requests insights
backend/src/routes/dashboard.routes.ts - Dashboard endpoints → Broken link scan: requests scans
backend/src/routes/dashboard.routes.ts - Dashboard endpoints → Domain records: reads metrics
backend/src/routes/dashboard.routes.ts - Report endpoints → AI analysis: generates report
backend/src/routes/report.routes.ts - Report endpoints → PDF generation: creates PDF
backend/src/routes/report.routes.ts - Report endpoints → Domain records: reads history
backend/src/routes/report.routes.ts - Authentication → Domain records: manages accounts
backend/src/routes/auth.routes.ts - Monitor endpoints → Domain records: stores monitor data
backend/src/routes/monitor.routes.ts - Incident endpoints → Domain records: reads incidents
backend/src/routes/incident.routes.ts - Domain records → MongoDB: persists
- PageSpeed insights → Redis cache: uses cache
backend/src/services/psi.service.ts - AI analysis → OpenAI: requests analysis
backend/src/services/ai.service.ts - PageSpeed insights → Google PSI: fetches insights
- Alert delivery → Email / SMS / webhooks: delivers alerts