GithubHelp home page GithubHelp logo

friedrichgaming / opentogethertube Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dyc3/opentogethertube

0.0 0.0 0.0 11.29 MB

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.

Home Page: https://opentogethertube.com

License: GNU Affero General Public License v3.0

JavaScript 29.89% HTML 0.16% Vue 20.19% Shell 0.55% Dockerfile 0.20% SCSS 0.07% Python 0.12% Go 0.45% Rust 0.85% TypeScript 47.50% Procfile 0.01%

opentogethertube's Introduction

OpenTogetherTube

CI/CD codecov Quality Gate Status Docker size

The easy way to watch videos with your friends.

https://opentogethertube.com/

Deployment

Prerequisites

This project targets node 14 and up.

Setup

  1. Clone this repo.
git clone https://github.com/dyc3/opentogethertube.git
  1. Install redis

Ubuntu

sudo apt install redis
  1. Install dependencies.
npm install -g yarn
yarn
  1. Copy and fill out the configuration file
cp env/example.env env/production.env

Please read the config docs here for which options are required.

  1. Build Vue files so they can be served statically.
yarn run build
  1. Run database migrations
NODE_ENV=production-sqlite yarn workspace ott-server run sequelize-cli db:migrate
  1. Run the server.
NODE_ENV=production yarn start

You can also specify the port the server will listen on by setting the PORT environment variable.

PORT=8080 NODE_ENV=production yarn start

Docker

See the Docker README

Contributing

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

Setting up your dev environment

Prerequisites

This project targets node 14 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.env
cp env/example.env env/development.env
  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.env and replace API_KEY_GOES_HERE with the appropriate api key.
  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 test suite, run

yarn test

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

opentogethertube's People

Contributors

adapap avatar antoinebou12 avatar aulisius avatar butt4cak3 avatar code-factor avatar dcarpenter31 avatar dennisvanderwerf avatar dependabot[bot] avatar dyc3 avatar elenirotsides avatar friedrichgaming avatar ifkb99 avatar jordan883 avatar kennethskelton avatar nebulouspianist avatar swsoftware1044 avatar tyler-seliber avatar xrealneon avatar zackatoo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.