Skip to content

mbta/screens

Repository files navigation

Screens

This application serves real-time information to all of our browser-based screens posted at stops and stations around the system.

If you're looking for the applications that control the LED countdown clocks and the in-station PA system, please see mbta/realtime_signs and mbta/signs_ui.

Some examples of the various client apps, as of January 2023:

screen type (click for a sample screenshot) description
Bus E-Ink solar-powered E-Ink screens at bus stops
Green Line E-Ink solar-powered E-Ink screens at surface-level Green Line stops
Bus corridor LCD currently used at stops on the Columbus Ave bus corridor
Multimodal LCD used at high-traffic transfer stations served by many routes/modes
Pre-fare duo LCD posted outside of fare gates at rapid transit stations; content is split across two portrait-oriented 1080p physical displays
"Digital Urban Panel" LCD content appears in rotation with ads on screens posted outside rapid transit station entrances

and more to come!

Getting Started

See docs/getting_started.md.

Architecture

On almost all of our screen types, we use a common "framework" to fetch relevant real-time info for the screen's location, and then determine which pieces of info are most important to riders from moment to moment.

Check out ARCHITECTURE.md for an overview of the application architecture, as well as links to further more detailed documentation.

Packaging the DUP app

The DUP screens require the client app to be packaged into a single HTML file rather than dynamically served from our Phoenix server.

You can find instructions on the DUP packaging process here.

Version upgrade guide

You can find some hopefully useful notes on upgrading the project's Elixir version, and possibly other upgrades, here.