{"id":21003490,"url":"https://github.com/ubclaunchpad/sync","last_synced_at":"2025-05-15T00:32:09.590Z","repository":{"id":38983285,"uuid":"215710771","full_name":"ubclaunchpad/sync","owner":"ubclaunchpad","description":":tv: Interactive, synchronized YouTube streaming","archived":false,"fork":false,"pushed_at":"2022-10-02T05:32:28.000Z","size":60714,"stargazers_count":23,"open_issues_count":3,"forks_count":13,"subscribers_count":46,"default_branch":"main","last_synced_at":"2023-03-01T20:36:56.403Z","etag":null,"topics":["react","socket-io","typescript","ubc","webrtc","websockets","youtube"],"latest_commit_sha":null,"homepage":"https://sync.ubclaunchpad.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ubclaunchpad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"srijonsaha"}},"created_at":"2019-10-17T05:34:25.000Z","updated_at":"2023-02-06T20:04:46.000Z","dependencies_parsed_at":"2023-01-19T02:00:39.971Z","dependency_job_id":null,"html_url":"https://github.com/ubclaunchpad/sync","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubclaunchpad%2Fsync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubclaunchpad%2Fsync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubclaunchpad%2Fsync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubclaunchpad%2Fsync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ubclaunchpad","download_url":"https://codeload.github.com/ubclaunchpad/sync/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225318435,"owners_count":17455598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["react","socket-io","typescript","ubc","webrtc","websockets","youtube"],"created_at":"2024-11-19T08:26:16.229Z","updated_at":"2024-11-19T08:26:16.902Z","avatar_url":"https://github.com/ubclaunchpad.png","language":"TypeScript","funding_links":["https://github.com/sponsors/srijonsaha"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eSync\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.producthunt.com/posts/sync-4?utm_source=badge-featured\u0026utm_medium=badge\u0026utm_souce=badge-sync-4\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=272894\u0026theme=dark\" alt=\"Sync | Product Hunt\" style=\"width: 190px; height: 44px;\" width=\"190\" height=\"44\" /\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/ubclaunchpad/sync/actions?workflow=Checks\"\u003e\n    \u003cimg src=\"https://github.com/ubclaunchpad/sync/workflows/Checks/badge.svg\"\n      alt=\"Checks Status\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://app.netlify.com/sites/ubclaunchpad-sync/deploys\"\u003e\n    \u003cimg src=\"https://api.netlify.com/api/v1/badges/d9fa8627-6e3d-4ab9-91ac-859bdb63f5b8/deploy-status\"\n      alt=\"Netlify Status\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://youtu.be/Y143tZxDp2A\"\u003e\n    \u003cimg width=\"50%\" src=\"https://raw.githubusercontent.com/ubclaunchpad/sync/master/.static/banner.png\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n___NOTE: This project is no longer actively maintained.___\n\nSync is a synchronous YouTube streaming app for you to watch, share, and talk about videos with your friends. Create stream rooms with your friends. Chat and video call your friends and create endless playlists to watch videos together.\n\n## Contributing\n\n### Dependencies\nTo get started, install the following dependencies: \n- [Node.js](https://nodejs.org/)\n- [Redis](https://redis.io/)\n- [Docker](https://www.docker.com/) (optional)\n\n### Frontend\nThe frontend is a React app in the *frontend* directory. Run `npm install` to install all project dependencies. Run `npm run dev` to start the React development server. The *Launch \u0026 Debug Chrome (Frontend)* launch configuration can be used to attach a debugger to the React process and debug from VS Code.\n\n### Backend\nThe backend is a Node.js Express server in the *backend* directory. Run `npm install` to install all project dependencies. Before starting the backend, start Redis server. Run `npm run dev` to start the Node.js server. It auto restarts the process on code changes. The *Attach Debugger (Backend)* launch configuration can be used to attach a debugger to the running process. Use the *Launch \u0026 Debug (Backend)* launch configuration to launch the Node process and attach a debugger from VS Code.\n \n### Docker\nThe development environment can be run all through Docker. Simply run `docker-compose up` to spin up the frontend, backend, and Redis containers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fubclaunchpad%2Fsync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fubclaunchpad%2Fsync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fubclaunchpad%2Fsync/lists"}