Register
Submit a solution
The challenge is finished.

Challenge Overview

We are working on a new project for the Hercules client for Facebook Live integration into an app that will be displayed on TVs.  This challenge will implement the basic skeleton of the app, including Facebook authentication and app setup, and then pulling live video feeds from the Facebook API and displaying them to the user.

Heroku / Node.js

This app will target deployment to Heroku using Node.js.  For the data store, we will use MongoDB through the Mongolab Heroku plugin.  Please make sure to document how to properly deploy to Heroku in your deployment guide.

Facebook Authentication

We will expect the user to log in to Facebook and then approve the registered app for access to their Graph API.  A few items with this:

1. Your documentation must cover how to register and set up the live video App in the Facebook developer portal
2. The scopes set up must be as limited as possible to meet the requirements.  We won't be writing data, so make sure your requested scopes are limited to read only

UI:

The UI should be basic - we will be skinning it later.  For now, please use Bootstrap (http://getbootstrap.com/).  The grid of videos can be similar to what is seen on the live.fb.com page:



Functionality:

After authentication and redirection back to the app, we will show three tabs for the user to choose from:

* Popular
* Friends and Pages
* My Live Videos

The "Popular" tab will show a list of the 12 most popular live videos at the moment.  Similar to what is seen in Facebook itself in the "Live Video" app.  

The "Friends and Pages" tab will show live videos from friends of the current user and pages the user has liked.  If there are no current live videos, we can show the 12 most recently completed live videos for the user.

My Live Videos will show current live videos and 12 past live videos for the currently logged in user.

Grid

The videos should be displayed in a basic grid with title and user information and a play button.

Playback UI

When a user clicks a video, we will go to a separate page to start playback.  On this page on the left will be the live video.  On the right will be:

* A list of comments
* The current view count
* The current like count

The list of comments should be scrollable and should update at a configurable interval, like 15-30 seconds.

There should be functionality for the user to go fullscreen with playback and to mute the playback, but I think that will come from the embedded video window. 

Deployment guide:

No video is required for this challenge, but your deployment guide should be very complete and should cover Heroku deployment, fully document the Facebook app setup, and should include verification information.  The deployment guide can be provided in Markdown format.

Versions:

Please target the latest version of MongoDB, Bootstrap, and Node that Heroku supports.
 

Final Submission Guidelines

Please see above.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30054681