Skip to content

nooblk-98/status-page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status Page – Uptime Monitor

Modern status dashboard built with Next.js, featuring live checks, downtime alerts, and a clean UI.

Next.js TypeScript Tailwind CSS SQLite


Preview

Dashboard

Alerts


Quick Start

Local Development

npm install
npm run dev

Open http://localhost:3000.

Production Build

npm run build
npm run start

Features

  • Live Monitoring: Background checks with configurable intervals and timeouts.
  • Modern UI: Clean dashboard built with Next.js App Router and Tailwind CSS.
  • Timeline View: Visual history of site health and latency.
  • Alerts: Dedicated alerts page for tracking downtime events.
  • Notifications: Support for Email, Google Chat, and MS Teams.

Configuration

Edit lib/config.ts to manage your monitors:

export const sites: SiteConfig[] = [
  {
    id: "my-web",
    name: "My Website",
    url: "https://example.com",
    intervalSeconds: 30,
    timeoutMs: 8000,
  },
];

Notifications

Set up environment variables in .env for alerts:

# Email
EMAIL_ENABLED=true
EMAIL_HOST=smtp.example.com
EMAIL_USER=user@example.com
EMAIL_PASS=password
EMAIL_TO=admin@example.com

# Webhooks
GOOGLE_CHAT_WEBHOOK_URL=https://chat.googleapis.com/...
TEAMS_WEBHOOK_URL=https://outlook.office.com/...

Project Structure (Feature-First)

  • app/: Routes, layouts, and metadata.
  • features/: Domain logic (status monitoring, notifications).
  • components/ui/: Reusable UI components.
  • lib/: Cross-feature utilities (database, config, env validation).

License

This project is licensed under the AGPL-3.0 License.