arn-c0de / arn-c0de/ESP32-LoRa-Mesh-Server
[Frontend] Build Web UI for HomeServer – real-time feed, history, command interface
- Dominant language
- C
- Stars
- 9
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Develop a clean, modern **Web UI** that connects to the HomeServer backend via REST + WebSocket to provide:
- Real-time message feed
- Searchable message history
- Node overview
- Remote command sending to nodes
## Motivation
Give users an intuitive browser-based interface for monitoring and controlling the LoRa-Mesh network without serial cables or custom tools.
## Scope / Deliverables
- **Single Page Application (SPA)**
- Real-time chat-like message feed (auto-scroll, timestamps, node badges)
- Message history with filters/search (node ID, date range, text)
- Node list / status dashboard (last seen, transport type, signal stats if available)
- Command input field → send commands to individual nodes or broadcast
- **Technology**
- Vanilla JS + lightweight framework (Alpine.js, Lit, Preact) **or** React/Vue if preferred
- WebSocket client for live message updates
- REST client (fetch/axios) for history & node data
- **UX Features**
- Dark/light mode (optional but nice)
- Responsive layout (desktop + tablet)
- Loading states, error toasts
- Auto-reconnect on WebSocket drop
- **Security**
- Login page / token handling (uses backend JWT or API key)
## Acceptance Criteria
- Web UI connects to HomeServer via WebSocket → shows messages in real-time as they arrive (LoRa or TCP)
- User can browse/search historical messages
- Command can be sent from UI → node receives & processes it (tested end-to-end)
- UI remains usable when backend restarts (reconnects gracefully)
- Basic authentication protects the interface
- Runs in modern browsers (Chrome, Firefox, Edge)
Contributor guide
Assessment
This issue has not been assessed yet.