Includes: - Backend services: ingestion (:8001), weather API (:8002), gateway (:8003), billing (:8004) with BTCPay integration - Shared asyncpg pool, TimescaleDB hypertable, Redis, Mosquitto MQTT - React frontend: Dashboard (MapLibre) and Messaging (chat UI) - Bridge daemon for Pi + Meshtastic (Serial/TCP T-Deck support) - Production Docker Compose, Nginx reverse proxy, ops scripts - DEPLOY.md with step-by-step deployment guide
KosmoConnect Dashboard
Public weather and node health visualization for the KosmoConnect mesh network.
Tech Stack
- React 18 + Vite
- MapLibre GL (open-source Mapbox alternative)
- CartoDB Voyager basemap (free, no API key required)
Running Locally
Make sure the backend API is running on http://localhost:8002 (see backend/README.md).
cd web/dashboard
npm install
npm run dev
Open http://localhost:3000 in your browser.
Features (v0.1)
- Interactive map showing all registered enviro-nodes
- Live sensor readings inside node popups (temperature, humidity, pressure, wind, PM2.5, PM10, battery, solar)
- Auto-refresh every 15 seconds
- Automatic map bounds fitting so all nodes are visible
- Dark UI theme aligned with Church of Kosmo aesthetics
Environment Variables
| Variable | Default | Description |
|---|---|---|
VITE_API_BASE |
http://localhost:8002 |
Base URL for the KosmoConnect API |
Architecture Notes
- The Vite dev server proxies
/apirequests tolocalhost:8002to avoid CORS issues during development. - In production, the dashboard is served as static files and talks directly to the API host.