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.
This commit is contained in:
Marco Mooren
2026-05-10 14:43:00 +02:00
commit e0a60f7b64
51 changed files with 9022 additions and 0 deletions

29
package.json Normal file
View File

@@ -0,0 +1,29 @@
{
"name": "online-radio-explorer",
"version": "0.1.0",
"private": true,
"type": "module",
"description": "Touchscreen kiosk + admin for exploring and playing internet radio.",
"scripts": {
"dev": "concurrently -k -n web,api -c blue,green \"npm:dev:web\" \"npm:dev:api\"",
"dev:web": "vite",
"dev:api": "node --watch server/index.js",
"build": "vite build",
"start": "node server/index.js",
"seed": "node server/scripts/seed.js"
},
"dependencies": {
"bcryptjs": "^2.4.3",
"better-sqlite3": "^11.3.0",
"cookie": "^1.0.1",
"dotenv": "^16.4.5",
"express": "^4.21.0",
"node-cron": "^3.0.3",
"ws": "^8.18.0"
},
"devDependencies": {
"concurrently": "^9.0.1",
"hls.js": "^1.5.17",
"vite": "^5.4.8"
}
}