We are a team of first and second years plus one PhD student which has given us a viewpoint of both sides of the current state of learning at university. Both educator and student have a tough time engaging and interacting. For live lectures, the usual site is a screen of initials (cameras off) and microphones muted, for pre-recorded lectures students can feel isolated and overwhelmed. They could go a whole term as a first-year without ever interacting with anyone else from their course.

Our Solution

We have designed and built a functioning tool that allows students to connect, learn and also importantly socialise while watching lecture content. Lecturers, or students, can upload content and then share a link to their students. The link will stay open for as long as the video is on our site. Students can then join and find themselves in a video call with a chat bar. They can see the video and control it synchronously so that all other students in the room at the time can join in. This is akin to the "Netflix Party" (now "Teleparty") chrome extension but will soon contain added features for teachers. They will be able to timestamp sections of the video and add interactive quizzes or small pop-up elements with links to further material.

How we built it

We decided to implement this product using python since this was the language most common to all of us. After some thought, we decided on Flask as the best option for us. We also decided to use Amazon Web Services to transition this project from our local machines up onto the web! We use S3 storage for video upload and then streaming and an EC2 instance which is running the Flask code and sharing to the world!

Amazon Server Running

Challenges we ran into

Implementing a live video chat connected to a video stream supplied by the S3 bucket was no easy feat. It required a lot of javascript to be seamlessly implemented into the Flask framework. Flask as a tool was also very challenging to start with but with some hard work and good tutorials, we have a completely functioning website with user authentication and hashed password storage. The method of uploading files also proved to be challenging and something to improve in the future. At the moment the full file is uploaded to the website before being sent on to S3. We are hoping to implement some sort of signed upload which allows the upload to go straight from the user to S3 rather than having to be uploaded twice, once to the site and then on to AWS.

Accomplishments and Learning

Most of the team had not used git before so check out the GitHub repo to be impressed by our seamless version control! We also used this educational application to educate ourselves in many ways all remotely. We had a great team spirit and members always had the time to take a moment, hop on zoom and explain something they'd just done to keep people updated or to teach someone something totally new!

What's next for EduFlix

We hope to implement the interactive quiz, via specified timestamps in the video. We will also implement the alternative logon for lecturers. This fits into our business model of working with the universities to upload all their lecture content and then share with selected users.

Share this project: