
- Festify on home server code#
- Festify on home server tv#
Create your feature branch: git checkout -b my-improvement. Ensure you deploy the project to firebase before using the dev server because Festify depends on cloud functions to be present! serve: Starts the rollup dev-server serving a local instance of Festify on port 3000. prepare-env: Used in CI environments to load environment files from branch-name-suffixed environment variables. lint: Lints the TS sources with tslint. fix: Attempts to automatically fix linter errors. You can then deploy the files in /build to a webserver of choice to run Festify. build : Compiles the TypeScript to JS and bundles all JS to a single file. The package.json contains all necessary commands for building Festify. Since all config values (except for the service-account.json) are loaded through standard ES modules machinery, building the project will notify you if something is missing. It looks like this:Įxport const CLIENT_ID = "YOUR_SPOTIFY_APPLICATION_CLIENT_ID" export const ENCRYPTION_SECRET = "REFRESH_TOKEN_ENCRYPTION_KEY - PLEASE GENERATE" export const CLIENT_SECRET = "YOUR_SPOTIFY_APPLICATION_CLIENT_SECRET" Currently this is the Sentry URL and the API key. All following paths are relative to the repository root.Ĭ: This file includes common configuration values that don't deserve their own file. You require an account for both services.įestify loads configuration variables though JS / TS / JSON files included in the build process. Festify on home server tv#
& Sentry: Festify displays Fanart from in the TV Mode and uses Sentry for error reporting.3000 is the port the dev-server started with yarn serve runs on, but this can be any port you like, if you configure the dev server accordingly. Usually at least is needed for a dev-environment.
Set up a Spotify Developer Application (you need a Spotify Premium account) and configure the OAuth redirect URL.
Spotify: Festify plays music from Spotify. In that case, you also need to set up and register the respective app / developer accounts with these services. For user management, you need to enable at least anonymous authentication, and if you want cheat-prevention to work, also authentication with GitHub, Facebook, Twitter, and Google+. Set up a dedicated and paid Firebase project. Therefore, additional preparation in addition to installing the plugin is required. This allows you to obtain access and refresh tokens for user related-actions (such as viewing and modifying their library, streaming tracks via the SDKs, etc.). Festify on home server code#
Firebase: Festify is built upon Firebase Realtime Database and Firebase Cloud Functions. The plugin implements the OAuth Authorization Code flow for the Spotify API.nodejs, TypeScript and yarn: Festify is written in TypeScript for better scalability and fewer bugs.Festify is a free Spotify-powered app that lets your guests choose which music should be played using their smartphones.