Mobile-first React + Vite app for streaming Asimov audio tracks.
Prerequisites: Node.js 20+
npm install
npm run devApp runs on http://localhost:3000.
npm run lint
npm run buildThis repo includes a GitHub Pages deployment workflow.
- In GitHub, open Settings → Pages.
- Under Build and deployment, set Source to GitHub Actions.
- Ensure your default deploy branch is
main.
- Push to
main. - Workflow
.github/workflows/deploy-pages.ymlbuilds and deploysdist/. - The workflow sets
VITE_BASE_PATHfrom the repository name (/${repo}/) automatically, so forks deploy with their own base path.
The app is installable as a Progressive Web App:
- Android (Chrome): open site → tap Install.
- iOS (Safari): Share → Add to Home Screen.
Included PWA assets:
public/manifest.webmanifestpublic/sw.jspublic/icons/*
- Audio won’t play: tap play again (mobile browsers may require user interaction).
- Slow network/buffering: wait for stream recovery; retry if an error appears.
- Direct URL 404 on GitHub Pages: SPA fallback is handled by
public/404.html. - PWA doesn’t update: close app and reload once online to refresh service worker cache.
- This frontend build does not require runtime secrets.
- Do not expose API keys in client bundles.
- Keep
.env*files local and uncommitted (except.env.example).
-
npm run lint -
npm run build - Validate on Android Chrome
- Validate on iOS Safari
- Verify install to home screen works
- Verify audio playback, buffering, and retry behavior on mobile data
- Merge to
mainand confirm GitHub Pages deploy succeeds