<- Back to the Gallery

Digital Signage Management System

 

Client Arthur Howarth
Professor(s) Leanne Seaward,
Program Computer Engineering Technology
Students Ryan Arreola – Team Lead, Front-end Scrum Master
Neil Bender – Back-end Scrum Master
Matt Manale
Weizhong Xu
Michael Wheatly
Aaron Alarie
Yves Nengue
Braeden Lunman
Om Dankhara
Akhondsarah Mesbah

 

Project Description:

 

Our Digital Signage Management System app provides Network Operations Center (NOC) operators all of the tools required to efficiently manage their customer’s digital signage. The digital signage market is experiencing rapid growth and is projected to be worth $27.8 billion by 2026, all while providing a more sustainable and greener means of displaying information in comparison to its traditional counterparts.

While there are many standalone apps that provide a single one of these functionalities:
– Device status monitoring (CPU Usage %, Temperature, I/O)
– Content management for displays (Scheduling, Library management, Display Authorization)
– Manage remote device workflows (Real-time triggers, Remote Procedure Calls)

None of the current apps on the market satisfies all of these requirements at once. That’s where our app comes in. Not only does our app centralize all of these functionalities to a single hub, but we’ve also planned from the very beginning of our research to ensure our app is platform and device agnostic (accomplished via PWA architecture), and scalable to handle thousands of signage endpoints (accomplished via Microservice-based architecture).

This project consisted of 10 developers split into two teams following an Agile framework. Each team, front-end and back-end, had elected scrum masters who closely worked with each other to ensure the tickets of each team were in line with sprint goals.

Members of the front-end team learned and applied many new technologies and best practices in order to achieve sprint goals and maintain development velocity despite dependency blockers:
– Git best practices were strictly enforced with a fast-forward merging method being used, requiring developers to stay on top of rebasing and ensuring proper integration with their teammates
– Figma mock-ups were created and approved before any major feature implementation
– All pure React functions required unit testing via Jest in order to be approved during code review
– Each major feature required Acceptance/E2E testing via Cypress
– Mirage.js, a developer mock server solution, was used as a means of continuing development on features whose back-end dependencies were still in development – preventing blockers and maintaining development velocity
– Tailwind was utilized to ensure that the UI was scalable for all devices: desktop, smartphone, etc.
– Dotenv was utilized to ensure that dynamic variables and client secrets were not tracked in our repository. This enables automated builds to use environment variables rather than constants
Tech stack: React, Tailwind, d3.js, Jest, Cypress, Figma, GitLab

Members of the back-end team learned and applied many new technologies and practices in order to implement a scalable and maintainable microservice-based back-end. These include:
– Automated unit testing of Django microservices views
– Automated API acceptance testing via postman
– Firewall rule-sets via iptables
– OpenVPN server deployment
– EasyRSA Certificate Authority deployment
– Virtual Private Cloud provisioning and SSH authorization
Tech stack: Django, NGINX, Python Unittest, Postman, OpenVPN, EasyRSA, ThingsBoard, Zabbix, Xibo, DigitalOcean, GitLab

Our entire team is grateful to have had this opportunity to research and develop this app. We can’t wait to see what comes of it in the future.

 

 

Short Description:

Digital signage is a core tool in several industries such as advertising, hospitality, and healthcare. Our platform & device agnostic app provides users the ability to manage & monitor thousands of endpoints in real-time on-the-go from a single hub.

Contact the Team

 

Video Presentation

 

 

 

Gallery

 

Pre-alpha security architecture diagram for the Xibo service Endpoint CPU%, Bandwith, I/O tracking interface
Cloud VMs hosting each staging service. Notice the control node has multiple tags: it handles certificate authentication, Continuous Integration Jobs, and Ansible Playbooks User form for uploading custom Media to the user's Xibo library. This media can then be scheduled to appear on an authorized Digital Signage endpoint device
User signup page for enabling per-user media libraries and authorization requirements for image sources

 

 

Funded By

 

 

 

 

 




Comments

Comments are closed.