Festival is a web app to host online music festivals. It plays the same audio file for all users at the same time based on their system clock, allowing for the social aspect of a live broadcast (everyone can react to the same music at the same time) without requiring live streaming infrastructure.
- Copy
.env.sampleto.envand fill out the required values. - Run
docker compose up -dto start a PostgreSQL database. - Run
npm installto install the required packages. - Run
npm run devto serve the application locally.
- Create a new public bucket in Tigris.
- In the bucket settings, disable directory listing.
- In the bucket settings, add a CORS rule:
- Origins:
*for development or the URL origin of the deployed app - Allowed Methods: HEAD, GET, PUT, OPTIONS
- HEAD, GET, and OPTIONS are required for the visualizer
- PUT and OPTIONS are required for file uploads
- Allowed Headers:
content-type
- Origins:
npm run testwill run the end-to-end tests.npm run test-ctwill run the component tests.
npm run buildwill bundle the application for production.npm startwill serve the bundled application.
Pushing to main triggers a deploy on Railway.