mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-03-30 22:55:52 +00:00
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 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:
|
|
1. Correct preset / frequency
|
|
2. Send a flood advert
|
|
3. Check repeat count
|
|
4. Nearby repeaters (link to map)
|
|
5. Frequency mismatch warning
|
|
|
|
### Navigation Footer
|
|
Links to full dashboard pages: Map, Channels, Packet Inspector, Observers
|
|
|
|
## API Endpoints
|
|
|
|
### GET /api/nodes/search?q=<query>
|
|
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 module
|
|
- `server.js` — search + health endpoints
|
|
- `db.js` — `searchNodes()` + `getNodeHealth()` queries
|
|
- `public/app.js` — default route = home
|