Files
Tomas Kracmar 0a4fb7b55e
Some checks failed
CI / lint-docs (push) Has been cancelled
CI / build-firmware (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / test-web (push) Has been cancelled
feat: initial KosmoConnect platform v0.1
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
2026-04-12 17:30:15 +02:00
..

KosmoConnect Messaging Client

A subscriber-only web application for sending and receiving messages with the Meshtastic mesh network.

Tech Stack

  • React 18 + Vite
  • Plain CSS (no heavy UI framework)

Running Locally

Make sure the Gateway Service is running on http://localhost:8003 (see backend/gateway/README.md).

cd web/messaging
npm install
npm run dev

Open http://localhost:3001 in your browser.

Features (v0.1)

  • User switcher (dev mode): select between test subscription tiers (Wanderer / Guardian)
  • Conversation list: auto-refreshing sidebar with latest message preview and unread badges
  • Message thread: chat-style bubbles with timestamps and delivery status indicators
    • pending / queued / ✓✓ transmitted or delivered
  • Auto-refresh: polls for new replies every 5 seconds
  • Subscription enforcement: errors surfaced as browser alerts (e.g., quota exceeded, node not allowed)

Architecture Notes

  • The Vite dev server proxies /api requests to localhost:8003 to avoid CORS issues during development.
  • In production, the messaging client is served as static files and talks directly to the API gateway host.
  • Authentication is currently mocked with a simple X-User-ID header selector. Production will use JWT.