How rzalvaero/upshit-monitor works
Open Uptime Monitor is a single-tenant dashboard for tracking website and API availability. An admin authenticates, adds or manages monitor targets, and the dashboard displays current status, latency, uptime summaries, and recent check bars. A manual refresh or scheduled caller invokes the cron endpoint, which loads monitors, probes targets, records ping history, and updates each monitor’s latest status. The README also describes an external cron-job.org or self-hosted scheduler and Supabase/Postgres storage. Sampled source confirms the dashboard, actions, and probe flow; unsampled UI wiring and schema details are not inferred.
Main entry points: actions.ts Server Actions · route.ts Check Endpoint · page.tsx Monitor Dashboard · schema.prisma Monitor Records
Components 17
Admin Controls
- Add Monitor Form
src/app/components/AddMonitorForm.tsx - Admin Login Modal
src/app/components/LoginModal.tsx - Server Actions
src/app/actions.ts - Visibility Toggle
src/app/components/ToggleHideButton.tsx - Monitor Delete
src/app/components/DeleteMonitorButton.tsx - Admin Logout
src/app/components/LogoutButton.tsx
Uptime Checks
- Manual Check
src/app/components/RefreshButton.tsx - Check Endpoint
src/app/api/cron/check/route.ts
Status Dashboard
- Monitor Dashboard
src/app/page.tsx - Uptime Status View
src/app/page.tsx
Persistence
- Monitor Records
prisma/schema.prisma - Ping History
prisma/schema.prisma
Other components
- Admin
- Dashboard Visitor
- Cron Scheduler
- Monitored Endpoint
- Supabase Postgres
Connections 24
- Dashboard Visitor → Monitor Dashboard: opens
- Admin → Admin Login Modal: submits password
- Admin Login Modal → Server Actions: calls login
- Admin → Add Monitor Form: enters target
- Add Monitor Form → Server Actions: calls add
- Monitor Dashboard → Monitor Records: queries monitors
- Monitor Dashboard → Ping History: queries history
- Monitor Dashboard → Uptime Status View: renders status
- Admin → Visibility Toggle: changes visibility
- Visibility Toggle → Server Actions: calls toggle
- Admin → Monitor Delete: requests deletion
- Monitor Delete → Server Actions: calls delete
- Admin → Admin Logout: logs out
- Admin Logout → Server Actions: calls logout
- Server Actions → Monitor Records: creates or updates
- Server Actions → Ping History: deletes history
- Manual Check → Check Endpoint: fetches check
- Manual Check → Monitor Dashboard: refreshes view
- Cron Scheduler → Check Endpoint: invokes periodically
- Check Endpoint → Monitor Records: loads and updates
- Check Endpoint → Monitored Endpoint: probes URL
- Check Endpoint → Ping History: records result
- Monitor Records → Supabase Postgres: persists records
- Ping History → Supabase Postgres: persists history