# Web Apps Monitoring

## Heartbeat Monitor Dashboard
**URL:** http://localhost:3005

Central dashboard to track all your local web apps with uptime stats, response times, and auto-restart capabilities.

## Active Sites

| Site | URL | Port | Purpose | Category |
|------|-----|------|---------|----------|
| Project Hub | http://localhost:3000 | 3000 | Task/idea tracking with Kanban | Productivity |
| Blog Backup | http://localhost:3003 | 3003 | Daily digest & message backup | Backup |
| Heartbeat Monitor | http://localhost:3005 | 3005 | Monitor all local web apps | Monitoring |

## Heartbeat Monitor Features

- **Real-time Status:** See which apps are up/down at a glance
- **Uptime Tracking:** Historical uptime percentage per app
- **Response Times:** Track performance over time
- **Visual Sparklines:** Mini charts showing status history
- **Add New Apps:** Click "Add App" to monitor more services
- **Categories:** Organize apps by type (Productivity, Backup, Monitoring, etc.)
- **Auto-refresh:** Dashboard updates every 30 seconds

## Adding New Apps

1. Go to http://localhost:3005
2. Click "Add App"
3. Fill in details:
   - Name & Description
   - URL (e.g., http://localhost:3000)
   - Port number
   - Project path (for auto-restart)
   - Start command (e.g., `npm run dev -- --port 3000`)
   - Category & Color
4. Click "Add App"

The app will be monitored immediately and persisted in `data/apps.json`.

## Data Storage

- **Apps List:** `heartbeat-monitor/data/apps.json`
- **Status History:** `heartbeat-monitor/data/status.json`
- Both files are git-tracked for backup

## Auto-Restart Monitoring

**Cron Job:** `Monitor Web Apps - Auto Restart`
- **Frequency:** Every 10 minutes
- **Action:** Checks HTTP 200 status on all registered apps
- **On Failure:** Automatically restarts the down service(s)
- **Notification:** Telegram message if restart occurred

## Manual Restart

If services are down:
```bash
# Project Hub
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/gantt-board
npm run dev -- --port 3000

# Blog Backup
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/blog-backup
npm run dev -- --port 3003

# Heartbeat Monitor
cd /Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor
npm run dev -- --port 3005
```

## Check All Status
```bash
curl http://localhost:3000  # Project Hub
curl http://localhost:3003  # Blog Backup
curl http://localhost:3005  # Heartbeat Monitor
```

## For Future AI Continuity
If this agent is replaced:
1. Check **Heartbeat Monitor** first: http://localhost:3005
2. Run `openclaw cron list` to see monitoring jobs
3. Check `process list` for running dev servers
4. All projects are in `/Users/mattbruce/Documents/Projects/OpenClaw/Web/`
5. App configurations are in `heartbeat-monitor/data/apps.json`
