Skip to content

stephenwade/festival

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c7402a0 · Feb 25, 2025
Feb 23, 2025
Jan 27, 2024
Jul 3, 2023
Feb 23, 2025
Feb 23, 2025
Feb 23, 2025
Jun 10, 2024
Aug 28, 2023
Jul 3, 2023
Mar 31, 2024
Jan 8, 2025
Sep 23, 2024
Jul 3, 2023
Jan 31, 2020
Feb 4, 2025
Jul 3, 2023
Feb 23, 2025
Feb 25, 2025
Apr 1, 2024
Feb 23, 2025
Jan 15, 2025
Feb 25, 2025
Feb 25, 2025
Apr 3, 2024
Jul 6, 2024
Feb 22, 2025
Jul 10, 2024
Oct 10, 2024
Jun 10, 2024
Jan 15, 2025
Jan 15, 2025

Repository files navigation

Festival

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.

Local Development

  • Copy .env.sample to .env and fill out the required values.
  • Run docker compose up -d to start a PostgreSQL database.
  • Run npm install to install the required packages.
  • Run npm run dev to serve the application locally.

Tigris Setup

  • 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

Testing

  • npm run test will run the end-to-end tests.
  • npm run test-ct will run the component tests.

Building

  • npm run build will bundle the application for production.
  • npm start will serve the bundled application.

Deploying

Pushing to main triggers a deploy on Railway.

External Dependencies