SpectraMonitor (SpectraEYE Lite) is a powerful SaaS platform for uptime monitoring, incident management, and public status pages. It enables technical teams to detect downtime instanty and communicate transparency with customers.
- About the Project
- Key Features
- Roles & Permissions
- Technology Stack
- System Architecture
- Project Structure
- Installation & Setup
- License
SpectraMonitor minimizes downtime impact through rapid detection and coordinated response. Designed for DevOps teams, MSPs, and SaaS providers, it offers:
- Real-time detection of service failures.
- Automated alerts via multi-channel notifications.
- Public Status Pages to keep customers informed.
- Operational efficiency with on-call schedules.
- Diverse Checks: HTTP, Ping, DNS, TCP/UDP, Heartbeat, and Playwright browser scenarios.
- SSL/TLS Monitoring: Automatic alerts for expiring certificates.
- Configurable Frequency: Custom check intervals and timeout settings.
- Public Access: Dedicated pages reachable via custom slugs.
- Subscriptions: Customers can subscribe to specific components for email updates.
- Maintenance: Scheduled maintenance windows displayed on the timeline.
- Global Schedules: Timezone-aware rotations and shift overrides.
- Escalation Policies: Define rules to escalate alerts (e.g., if User A doesn't ack in 5m, notify User B).
- Multi-Channel: Email, SMS, and Voice Call integrations.
- Tenant Management: Manage organizations, licenses, and trial expirations.
- Impersonation: Securely impersonate organization admins for support.
- Global Maintenance: Set application-wide maintenance modes.
SpectraMonitor is a multi-tenant system with Role-Based Access Control (RBAC):
- User: Access to monitors, incidents, and status pages.
- Admin: Manage organization users, settings, and billing.
- Framework: React 18 + Vite + TypeScript
- UI: TailwindCSS + Shadcn/UI + Radix
- State: React Query
- Runtime: Node.js + Express
- Database: MySQL 8.x (Multi-tenant)
- Auth: JWT + Reform Tokens + MFA (TOTP)
- Services: SendGrid (Email), Twilio (SMS/Voice)
flowchart LR
User[(Browser)] --> FE[Frontend React/Vite]
FE -->|REST /api| BE[Backend Express]
BE --> DB[(MySQL)]
BE --> Worker[Monitor Worker]
Worker --> Targets[Monitored Services]
BE --> SG[SendGrid Email]
BE --> TW[Twilio SMS/Voice]
BE --> Public[Public Status Pages]
The lifecycle of a monitoring check.
sequenceDiagram
participant W as Worker
participant DB as MySQL
participant T as Target
participant N as Notification Service
W->>DB: Fetch Eligible Monitors
W->>T: Execute Check (HTTP/Ping/DNS)
T-->>W: Status + Latency
W->>DB: Save Event Result
alt DOWN / FAILED
W->>N: Trigger Alert (Email/SMS)
end
flowchart TD
Incident[Incident DOWN] --> Policy[Escalation Policy]
Policy --> Rule1[Rule #1: Primary On-Call]
Rule1 --> Notify1[Email/SMS/Call]
Policy --> Rule2[Rule #2: Supervisor]
Rule2 --> Notify2[Voice Call]
Policy --> Resolved[Incident Acknowledged/Resolved]
SpectraMonitor/
βββ src/ # Frontend Application (UI, Pages, Hooks)
βββ backend/ # Backend API & Workers
β βββ routes/ # REST Endpoints
β βββ workers/ # Monitoring Logic
β βββ services/ # Third-party integrations
βββ public/ # Static Assets
βββ export_SpectraMonitor_db.sql # Database Schema- Node.js 18+
- MySQL 8.x
Distributed under the Proprietary License. See LICENSE for more information.
**Built with β€οΈ by the SpectraEYE Team**