0x80085 / synk

Synk allows users to join chatrooms and watch media together in synch. Inspired by the Cytube project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Synk Project

Watch videos in sync and chat with friends

Maintenance MIT license PRs Welcome GitHub contributors Open Source Love svg2

Build client & API CodeQL Codacy Badge

Website preview

Wanna know what we're working on? Check our project's task board!

Live Demo

Website synk.moe

Install

Prerequisites:

  • Have yarn installed
  • node >= v12 installed

Run yarn in all folders that contain a package.json

Prerequisites

  • NodeJS
  • Postgres DB (see API .env file for DB user + execute CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; on the DB server)
  • Angular cli
  • Typescript

Running

Run from command line

Run npm start in the top level folder to start the Server and Client with concurrently.

...Or to start the client and server seperately, cd into synk-api and synk-client folders and run npm start

Getting the YT namespace error in the client? Execute npm i @types/youtube in the synk-client folder.

Run with Docker

Warning: Running with Docker is not actively maintained/tested. These steps might work locally but haven't been used/run recently by the maintainer.

No need to have postgres installed when using Docker, the compose file will spin up a PostGres DB container

Install docker and also docker-compose.

Then, in this directory, run:

docker-compose -f "docker-compose.yml" up -d --build

Or use the shortcut in package.json:

npm run docker:run

Powered by

Shared tech

TypeScript Socket.io

Frontend

Angular Ant-Design made-with-Plyr

Backend

NestJS Express.js made-with-TypeORM made-with-Passport

Contributing

About

Synk allows users to join chatrooms and watch media together in synch. Inspired by the Cytube project

License:MIT License


Languages

Language:TypeScript 76.2%Language:HTML 15.6%Language:Less 3.9%Language:SCSS 2.4%Language:Shell 1.1%Language:Dockerfile 0.7%