This demo showcases a video streaming platform with contextual faceted search and a watch party feature where users anywhere around the globe can watch a synchronized video so all viewers can watch the video simultaneously. The watch party can be shared using a unique URL, and all viewers can chat in real-time while watching the video together.
The app uses Macrometa Query Workers deployed to Akamai Edge Workers, Macrometa Graphs and Search, and videos are streaming from the Akamai CDN.
Homepage:
Follow the following steps for each of these collections:
-
On the side menu, click Collections.
-
Click New Collection.
-
Click Document Store or Graph Edge based on the list of collections below.
-
In Collection Name, enter a Collection name listed below.
-
Click Create.
Collection Name Type Distribution genres document global assets document global credits document global watch_party document global asset_credit_edge graph-edge global genres_asset_edge graph-edge global
Follow the following steps for each of these collection indexes:
-
On the side menu, click Collections.
-
Click the collection from the list above.
-
Click indexes in the upper left of the collections window.
-
Click on the plus button in the right side of the collection window.
-
Choose persistent index from the dropdown selector.
-
Add the field listed in the table above.
-
Click Create.
Collection Field assets id assets title assets original_title assets overview credits name
-
On the side menu, click Search Views.
-
Click New View.
-
Name the view according to the view description above.
-
Add the primary sort field.
-
Add a mapping definition by choosing the collection from the drop down.
-
Add a field Name.
-
Choose the Analyzer.
-
Add the other field names for the views listed above.
-
Click Create.
Search view name:
asset_credit_view
with Primary sort fieldpopularity
Mapping - Collection Field Analyzer assets title text_en assets original_title text_en assets overview text_en credits name text_en
Search view name:
asset_type_view
Mapping - Collection Field Analyzer genres_asset_edge asset_type identity
-
On the side menu, click Graphs.
-
Click New Graph
-
Name the graph OTT.
-
Name the first edge definition and select the from and to collections from the dropdowns.
-
Click the plus sign to the right of the first edge definition
-
Fill out the information for the second edge definition listed above.
-
Click Create.
OTT
Edge Definitions From Collections To Collections genres_asset_edge genres assets asset_credit_edge assets credits
Do the following steps for each Query Worker listed above. For the code for each query workers refer the link below the outlined steps.
-
On the side menu, click Query Workers.
-
Copy the code of the first Query Worker and paste it into the editor.
-
Click the run query button to make sure you see results.
-
Click Save Query.
-
Name the query and click Create.
-
Click New Query.
-
Start back at step one until you have created all 7 Query Workers
Code for Query workers: Query Workers
getMovieAssetsByGenre getTopRatedMovies getTopRatedTvSeries getTvSeriesAssetsByGenre getWatchPartyDetails searchByAsset searchByCredits
On the development machine, run the following commands in a console:
git clone https://github.com/Macrometacorp/demo-watch-party.git
git fetch
cd demo-watch-party/react-app
npm install
npm run start