00246389bc54d6efc58e81c09fc7b379b24ed0aa
- Introduced a new HTML documentation page for the oradio API, including a JavaScript file to handle dynamic content and API requests. - Added a CSS file for styling the documentation page. - Implemented an underground station importer script that fetches data from Radio-Browser and writes it to a JSON file. - Created a stats module to compute and manage vote and play statistics for radio stations. - Added a polyfill for modulepreload to ensure compatibility with older browsers.
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
- Kiosk: http://localhost:5173/
- Admin: http://localhost:5173/admin/
- API: http://localhost:4173/api
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.
Description
Languages
JavaScript
83.9%
CSS
15.3%
HTML
0.8%