A digital living room

Implementing real-time asynchronous bi-directional web communication between client and server for multi-user synchronised media playback

Grade - 1st

Source

My MSc Dissertation project, A Digital Living Room, was a solo full stack web development and research project that took place in 2023. The project was primarily focused on the building of a web application, enabling multiple users to play video/audio files in automatic synchronisation with each other. 

Through the use of various web technology tools I built a web-application that delivers this functionality and more. Among the tools used were:

  • Laravel 10.x web development framework

  • Laravel-websockets broadcasting driver for providing real-time asynchronous bi-directional web communication between client and server via a WebSocket server

  • Livewire framework for dynamic back-end data manipulation

The project also delved into the social theory behind providing a positive social experience in the app, and introduced elements and features guided by such ideas, using front-end tools such as Laravel Vite, Bootstrap 5, and JavaScript. The creation process of the web app spanned ~3 months and involved the use of CSS, HTML, PHP, JavaScript and the Laravel Blade template engine.

Features

  • Full media synchronisation capacity via WebSocket

  • Dynamic file uploading + serving via HTTP server and Livewire

  • Fully dynamic frontend interaction and backend manipulation using WebSocket + Livewire

  • User account creation + user friend system

  • Guest account support with automatic account deletion

  • Private room creation, rooms linked to user accounts

  • Private room live chat box

  • User permissions hierarchy within private rooms

  • Playlist creation and storage

  • Sitewide notification system

  • Emoji reactions

Next
Next

Combat 2022