Files
radio-explorer/README.md
Marco Mooren e0a60f7b64 Add player functionality with HLS support and API integration
- Implemented a new Player class in player.js to handle audio playback, including HLS support using hls.js.
- Created a shared API module in api.js for making HTTP requests with proper error handling.
- Added DOM utility functions in dom.js for creating and clearing elements.
- Introduced WebSocket connection handling in ws.js for real-time updates.
- Developed a comprehensive CSS stylesheet for styling the application, including a high-contrast theme.
2026-05-10 14:43:00 +02:00

859 B

Online Radio Explorer

Touchscreen kiosk + admin for exploring and playing internet radio in the office.

Quick start

cp .env.example .env
npm install
npm run dev

First boot creates the SQLite DB at DB_PATH, runs the seed, and provisions the bootstrap admin from ADMIN_BOOTSTRAP_USER / ADMIN_BOOTSTRAP_PASSWORD.

Production

npm run build
npm start

The built kiosk is served from /, admin from /admin/, API from /api.

Layout

  • server/ — Express, SQLite, WebSocket hub, source adapters, stream resolver.
  • web/ — Vanilla JS kiosk (web/) and admin (web/admin/) bundled by Vite.
  • data/seed/stations.json — curated starter pack.
  • deploy/ — systemd unit + Pi setup notes.