• Stars
    star
    413
  • Rank 104,801 (Top 3 %)
  • Language
    TypeScript
  • License
    GNU Affero Genera...
  • Created over 5 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Watch videos with your friends. The spiritual successor to TogetherTube, preserving the spirit of it's simple to use interface, while improving it's look, feel, and reliability.

OpenTogetherTube

CI/CD codecov Docker size

The easy way to watch videos with your friends.

https://opentogethertube.com/

Deployment

See the deployment docs.

Contributing

Contributions are welcome! Check out issues that have the "good first issue" label.

Setting up your dev environment

Prerequisites

This project targets node 18 and up.

Setup

  1. Fork this repo and clone it.
  2. In a terminal, navigate to the opentogethertube folder and run
npm install -g yarn
yarn
  1. Next you need to set up your configuration. Start by copying the example config in the env folder to a new file called development.toml
cp env/example.toml env/development.toml
  1. Create a new project on Google Cloud
  2. Add "YouTube Data API v3" and "Google Drive API" to the project
  3. Obtain a YouTube API key
  4. Obtain a Google Drive API key
    • Not necessary if you don't plan to stream videos from Google Drive, which you probably shouldn't do anyway because Google doesn't like that.
  5. Open env/development.toml and put in the appropriate api keys.
  6. Initialize your local database.
yarn workspace ott-server run sequelize-cli db:migrate
  1. Install redis. This is used to store room state and user sessions across server restarts.

Testing

To run the unit test suite, run

yarn test

To run the e2e component test suite, run

yarn run cy:run --component

To run the e2e test suite, run

yarn run cy:run

However, while you're developing, you'll probably want to run the tests in headed mode. To do this, run

yarn run cy:open

This works for both the component and e2e tests.

How to run

This project has 2 main components: the client and the server. You can run both of them simultaneously using the command

Linux / Mac

yarn run dev

Windows

yarn run dev-windows

Sometimes, you may want to run them seperately so you can use breakpoints to debug. Using VSCode, this is trivial.

To start the server: Debug > Select "Launch Program" > Start

To start the client: yarn workspace ott-client serve