feat: complete dashboard redesign, proxy unification, and Windows compatibility fixes

This commit is contained in:
2026-04-02 12:13:37 +02:00
parent 8192388c5d
commit fec4e4635c
33 changed files with 3002 additions and 135 deletions

38
CHANGES_SUMMARY.md Normal file
View File

@@ -0,0 +1,38 @@
# boWave Project Updates & Fixes
This document summarizes the changes made to the boWave project to improve NMEA 2000 data visibility, dashboard aesthetics, and Windows compatibility.
## 🚀 Key Improvements
### 1. Unified Dashboard Access (Port 8090)
- **Problem:** Accessing different services required multiple ports (3000, 1780, 6680, etc.), causing CORS and firewall issues.
- **Solution:** Configured Nginx and Vite proxies to tunnel all backend services through the main dashboard port (8090).
- **Paths:**
- SignalK: `/signalk`
- Snapcast: `/snapcast-ws`
- Mopidy: `/mopidy`
- Jellyfin: `/jellyfin`
### 2. "Ship Control" Dashboard Design
- **New UI:** Implemented a minimalist, high-end yacht aesthetic based on provided photo references.
- **BoatControl Component:** Added a central interactive boat profile with circular category icons (Lights, Climate, Nav, Music, Energy).
- **FloorPlan Component:** Created a visual deck plan for controlling lighting and climate in specific zones (Salon, Cabins, etc.).
- **Central Instrument:** Added a floating gauge over the boat for immediate SOG and Heading monitoring.
### 3. NMEA 2000 Data Fixes
- **SignalK Proxy:** Fixed a bug in the API router that prevented listeners from re-attaching when switching from real to mock data.
- **Auto-Fallback:** The dashboard now waits 5 seconds for real SignalK data; if none is received, it automatically starts the mock data stream so the dashboard never looks "empty".
### 4. Windows Compatibility & Ease of Use
- **Self-Healing Pipes:** Named pipes (`.pcm` files) are now created automatically inside the Docker containers during startup. No more manual `mkfifo` needed on the host.
- **Batch Scripts:** Added `dev.bat` and `stop.bat` for Windows users who don't have `make` installed.
- **Docker Fixes:** Corrected `librespot` execution errors by using the official image and proper command list formatting.
### 5. Audio System Enhancements
- **Spotify & AirPlay Visibility:** Added these services to the health check monitor and updated the `useZones` hook to track their stream status via Snapcast.
- **Unified API:** The `createApi` factory now automatically uses the dashboard host, making it fully portable across different network setups.
## 🛠️ How to start (Windows)
1. Ensure Docker Desktop is running.
2. Run `.\dev.bat` in the project root.
3. Open **http://localhost:8090** in your browser.