Skip to content

This is the backend for Streamshore, a web application for synchronized YouTube video playback.

License

Notifications You must be signed in to change notification settings

nextinfinity/streamshore-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Streamshore Backend CircleCI

This is the backend for Streamshore, a web application for synchronized YouTube video playback. Streamshore's backend is written in Elixir, and contains support for video playback syncing, live chat, rooms, accounts, and more.

Documentation for this repository is a work in progress.

Running

The environment variable YOUTUBE_KEY must be set to a Google API key with YouTube access for Streamshore to run.

In order to run in production, the following additional environment variables must be set:

  • AWS_ACCESS_KEY_ID, AWS_ECR_ACCOUNT_URL, AWS_REGION, and AWS_SECRET_ACCESS_KEY set to AWS credentials (ECR and ECS used).
  • DATABASE_URL set to the URL of a MySQL database login, formatted as ecto://USER:PASS@HOST/DATABASE
  • DOMAIN and FRONTEND set to the backend and frontend domains, respectively
  • GUARDIAN_SECRET set to the secret JWT key
  • SECRET_KEY_BASE set to a random secret key
  • SENDGRID_KEY set to a SendGrid API key

To start your Phoenix server:

Note: this requires a running MySQL server with the root password set in config/dev.exs

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
  • Install Node.js dependencies with cd assets && npm install
  • Start Phoenix endpoint with mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more

About

This is the backend for Streamshore, a web application for synchronized YouTube video playback.

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •