Enables OIOs to view and manage screens that provide transit info to riders.
If you don't already have Postgres installed, and you're on a Mac, Postgres.app is an easy way to get started. However, any Postgres instance to which you can connect and in which you have sufficient privileges should work.
Screenplay requires the Screens config to be available at ../screens/priv/local.json
. To generate this file, follow these steps:
cd ..
git clone git@github.com:mbta/screens.git
cd screens
- Follow the Getting Started docs to generate the files needed by Screenplay.
This repo expects Realtime Signs to be cloned and for ../realtime_signs/priv/signs.json
to be available. This can be done by doing the following:
cd ..
git clone git@github.com:mbta/realtime_signs.git
- Install
asdf
- Install language build dependencies:
brew install coreutils
asdf plugin-add ...
for each tool listed in.tool-versions
asdf install
- Install
direnv
cp .envrc.template .envrc
- Fill in
API_V3_KEY
with a V3 API key - Fill in
DATABASE_USER
andDATABASE_PASSWORD
with the username and password of a DB user configured in your local psql server direnv allow
Note the various _URL
values in .envrc
, which default to the production
environments of the relevant apps — change these to e.g. point Screenplay to
your own local instances.
- Install the
aws
CLI and configure with your AWS credentials- To verify everything works, try:
aws s3 ls mbta-ctd-config
- To verify everything works, try:
- Run
scripts/pull_configs.sh prod
To copy config files from a different Screenplay environment, replace prod
in
the command above.
mix deps.get
mix ecto.create
to stand up DB used by PA Messaging featuresnpm install --prefix assets
mix phx.server
- Visit http://localhost:4444
In deployed environments, the app uses S3 for its configuration. If you ever
want to replicate this behavior locally, you'll need to provide the environment
variables AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
. For security reasons
these should only be stored in 1Password and not directly in your .envrc
.