Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ably-labs/jamstack-sync-stream-video

A live watch party app to watch videos with your friends remotely, built with the Jamstack architecture.
https://github.com/ably-labs/jamstack-sync-stream-video

ably audience-engagement demo jamstack jamstack-architecture javascript netlify nuxt realtime shared-experience strapi video-streaming

Last synced: 3 months ago
JSON representation

A live watch party app to watch videos with your friends remotely, built with the Jamstack architecture.

Awesome Lists containing this project

README

        

# Synchronized video streaming with Jamstack

This project demonstrates realtime messaging in Jamstack apps. Dubbed as a 'live watch party', this app allows a host to create a private watch party room, invite friends to it and watch videos together. They can also share live comments and see who's participating (online) in the party.

You can try it yourself at https://jamstack-watch-party.ably.dev/.

Watch party homepage

The host is able to choose a video from the available library.

Watch party video library

The host also has full control of the video playback for all participants, including play, pause and seek events.

Screenshot 2021-05-07 at 20 01 47

### How to run this locally

Start your Strapi Server

```
$ cd api
$ npm install
$ npm run develop
```

Before you can get things working, head to http://localhost:1337/admin, create a new user and log into your Admin to add videos! Make sure you go to your **User Permissions** > **Roles** > **Public Role** > click the _find_ and _find_ one checkboxes under videos as well as the _auth_ checkbox under ably-auth.

Start your Nuxt App
```
$ cd watch-party
$ npm install
$ npm run dev
```

Go to the browser and open http://localhost:3000/ and follow the flow.

### The tech stack

We've used the technologies that work with the [Jamstack architecture](https://jamstack.org/):

Frameworks and Libraries
1. [Nuxt.js](https://nuxtjs.org/) - A Vue framework capable of generating server side rendered (SSR) static sites.
2. [Strapi](https://strapi.io/) - An open-source headless CMS.
3. [Ably](https://ably.com/) - A scalable pub/sub messaging platform.
4. [Netlify](https://www.netlify.com/) - A serverless platform to build, deploy, and collaborate on web apps.

### App architecture

![Realtime watch party app architecture](https://user-images.githubusercontent.com/5900152/118970089-76396e00-b98b-11eb-954d-631fe561c318.png)

### Resources

TBD