Skip to content

About

Electron-based Diagnostic Interface for UBC Solar's Live Telemetry

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Sunglasses

A real-time telemetry dashboard for the UBC Solar car. Streams live sensors (speed, voltage, power, GPS, …) from the Sunbeam API and renders them as numbers, plots, a color-coded map, per-lap statistics, and calculations.

Built with React + TypeScript, bundled with Vite, wrapped in an Electron desktop shell.

Requirements

  • Node.js v20+ (comes with npm)

Install & run

git clone https://github.com/UBC-Solar/sunglasses.git
cd sunglasses
npm install
npm run electron:dev

npm run dev also works — browser-only and faster for development (the same code, just without the Electron window).

Data sources

All data comes from Sunbeam — there is no bundled simulator. On launch the app lists the backend's recording events; pick one in the header dropdown and it fetches that event's signal manifest and opens a live stream. No signal values render until an event is selected.

Sunbeam's HTTP API is expected on port 8000: the Vite dev server proxies /events there (vite.config.ts), so API_BASE_URL stays empty in dev. Packaged Electron builds set VITE_API_BASE (e.g. http://localhost:8000) at build time instead.

Docs

Document What it covers
docs/overview.md App structure and the React/Electron/TS split
docs/telemetry.md The telemetry layer (store, API client, mapping)
docs/data_flow.md How a sample travels from the car to the screen
docs/tabs.md The six tabs
docs/components.md Shared components
docs/react_patterns.md React state concepts used here
docs/sunbeam_api.md The backend API contract
docs/development.md Commands, config, and gotchas

About

Electron-based Diagnostic Interface for UBC Solar's Live Telemetry

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages