Over the summer of 2017, I created a digital signage solution for Eastside Preparatory School. The project consists of a node.js server, a website, and several Raspberry Pis connected to TVs around the campus.
The server is built on node.js and a handful of modules like Express.
The website's main interface is a big list, sorted by building, of all the screens in the system. You can select one or more of the screens and have them show a file, update their software, or restart.
The Pis are almost totally stock. To make it easy to add new screens to the system, I made the necessary setup very minimal and once connected, changes and updates to the signage software (mostly shell scripts) can be done over the network.
Each Pi remembers a "default" presentation which it will automatically play on boot.