Skip to content

ed-asriyan/watch-together

Repository files navigation

Movie Together CD

Web application built on Svelte.js and Firebase for watching movies together on different devices.

watchtogether.online.mp4

Setup

Init

  1. Setup Firebase project
    1. Create Firebase Realtime database: https://console.firebase.google.com
    2. Copy Firebase project cofiguration
      1. Copy firebase config values to .env file
      2. Copy service account key to FIREBASE_SERVICE_ACCOUNT_KEY repository secret
    3. Setup Firebase Realtime database rules:
      {
        "rules": {
          "room": {
            "$room_id": {
              ".read": true,
              ".write": true
            }
          },
          "$other": {
            ".read": false,
            ".write": false
          }
        }
      }
    4. Add domain where you're going to host the website to "Authorized Domains" section of "Authentication"
  2. (optional) Setup Google Analytics (should be created with Firebase)
    1. Copy Google Analytics meashurement ID to .env file
  3. (optional) Setup Sentry account and create Svelte project
  4. Copy Sentry DSN value to .env file
  5. Create ENV_FILE_CONTENT repository variable and copy content of filled by you .env file in it

Local development

  1. Install docker
  2. Install dependencies:
    make dev_install

Now you can run the dev server locally:

make dev_serve

Generate prod bundle

make prod_build_bundle

GitHub Actions

  • Each push to master triggers deployment to production
  • Every 1 day of a month, teams last updated more than 31 days ago are deleted
  • Make sure that ENV_FILE_CONTENT repository variable is filled