As part of my final project at LAITS, I was tasked with creating an analytics platform that could handle video data from online courses (live and pre-recorded), intelligently parse it to gauge student responsiveness and engagement, and display it in a front-end dashboard for consumption by professors and course handlers.
The goal for end-users was to be able to see where students stopped watching, how many students drop out at a given time (and how many stay engaged), as well as the percentage of viewers who watch from beginning to end. I designed the data model of the API to deliver this information semantically and quickly, running most calculations on the SQL server so as not to jam up the API server.
Our API was created so that individual courses and developers for those courses could push their data to one unified source with REST calls. All the data processing was to be done on our server, and thus by specifying and documenting a semantic, RESTful API, we could implement the system quickly and easily.
The front-end dashboard was created with the help of SCSS and Foundation 6, as well as AngularJS which handled all the REST calls to our server through $service and promise chaining. Highcharts was used to display the data in a visual format, and the API could convert data to a highcharts-readable format so that the dashboard would automatically display those charts without any additional front-end work.
Additional details available upon request.