1.8 KiB
New User Experience
Overview
The home page (#/ or #/home) is the front door to the analyzer — a diagnostic companion for mesh users to check if their node is being heard, and a dashboard for regulars to monitor favorites.
Features
Hero Search
- Prefix search with auto-dropdown as you type (name or public key)
- Quick stats bar: active nodes · packets today · observers online
- Results link to node health card or node detail page
Node Health Cards
Shown after search or on home page for favorited nodes.
Status logic:
- 🟢 HEALTHY: heard by observers in the last hour
- 🟡 DEGRADED: last heard 1-24h ago
- 🔴 SILENT: not heard in 24+ hours
Contents: last heard, observer count, avg SNR with quality label, hop count, packets today, status reasoning text.
Favorites ("Your Nodes")
- Star/unstar nodes from any node detail view
- Stored in localStorage
- "Your Nodes" section on home page with live status cards
- Quick access to node detail via click
Quick Setup Checklist
Collapsible accordion for troubleshooting:
- Correct preset / frequency
- Send a flood advert
- Check repeat count
- Nearby repeaters (link to map)
- Frequency mismatch warning
Navigation Footer
Links to full dashboard pages: Map, Channels, Packet Inspector, Observers
API Endpoints
GET /api/nodes/search?q=
Prefix search by name or public key, returns top 10 matches.
Note: Static path /api/nodes/search must be defined BEFORE parameterized /api/nodes/:pubkey in Express routes.
GET /api/nodes/:pubkey/health
Returns health summary: node info, status, observer list with SNR/RSSI, stats, recent packets.
Files
public/home.js+public/home.css— home page moduleserver.js— search + health endpointsdb.js—searchNodes()+getNodeHealth()queriespublic/app.js— default route = home