/unicornflix

Learn how to manage, process, host, and authorize access to streaming video content by building UnicornFlix

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Welcome to UnicornFlix. As the first developer here at UnicornFlix it's your mission to bring humanity closer to the unicorn kingdom by serving up premium videos to subscribers. You've been asked by the founders to develop a minimum-lovable-product to begin serving videos to users as soon as possible. They've also asked you to keep operational overhead at a minimum and to keep the API design flexible as the business model could pivot at any moment.

In this workshop we will build the video on demand streaming platform that allows you to upload, process, and serve videos to authenticated users.

The workshop is split into three primary sections with a collection of optional extensions:

3 steps to UnicornFlix

Backend Deployment with Amplify CLI - Use the Amplify CLI to deploy the API, Authentication, and Video Streaming infrastructure.

Web Client Admin View - Build a web application to add videos and associate basic metadata.

Web Client User View - Stream videos to users who have signed into the service.

Optional Extensions - An optional section containing a collection of tutorials to extend the application functionality.

Setting up Development Environment

You just started at UnicornFlix and they hooked you up with a brand new laptop - sweeeet! Now let's configure your development environment.

  1. Clone the UnicornFlix workshop by running git clone https://github.com/awslabs/UnicornFlix.git or by downloading the zip here
  2. Download and install Node and Node Package Manager (NPM) if you don't already have it from nodejs.org. Select LTS for the node version.
  3. Install/update AWS Amplify CLI using this command npm install -g @aws-amplify/cli
  4. Install Amplify Video, a custom AWS Amplify CLI plugin for creating our video resource, by running npm install -g amplify-category-video
  5. If you are using cloud9, please refer to the following steps to configure your cloud9 instance to use you're aws credentials.
Click here for Cloud9 instructions
  1. Create the ~/.aws/config file on your cloud9 instance
  2. Copy the contents in the ~/.aws/credentials into the ~/.aws/config file; then when you run amplify init, you will see the option to select the profiles in the ~/.aws/config file.

You can copy the below example if you want to use a different set of access keys.

[default]
aws_access_key_id=<access key id>
aws_secret_access_key=<secret access key>
aws_session_token=<optional session token for temp credentials>
region=<region, such as 'us-west-2'>

Click Here to begin implementing the back end!