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.
Video Presentation
Gallery
Funded By