A streaming platform with group watching and remote control capabilities. The front-end of the site uses Angular 2. The back-end uses Spring framework with the persistence layer being Neo4J.

Angular 2 front-end source code on GitHub
Video Converter source code on GitHub
Source code for api.animecap.com is private.

img

Remote control lets the user take control of an instance of AnimeCap running in a browser tab logged into the same account. An entry is added to the remote control menu item for each tab open with AnimeCap. This uses WebSockets to allow for live stats back to the controlling tab and controls back to the tab being controlled. The site can be used as normal, but instead the video load is sent to the tab being controlled. Navigating to the next episode in a series is also displayed on the controlling tab.
img

Remote controls for the instance above. This episode belongs to a series that only has a single episode, so the next and previous episode buttons are hidden.
img

The Group watch feature of the site uses WebSockets to keep everyone within the group at the same time as a leader. The leader is chosen at random if the original group creator leaves the group. The way that it works is it every few seconds sends a update request to all members of a group. Then at another scheduled time it reads all of the time positions within a video and will force the clients to be within 2 seconds of the leaders time.

The group watch feature also contains per group chat with colored user names to indicate if a user is normal user, an admin, or a leader.

img Show page displays the shows details and includes the episodes. The episodes also displays the episodes completed percentage for the account that is logged-in.