Pivotal Life is an information radiator for Pivotal Labs offices. It shows information like the weather, public transportation schedules & status, upcoming office events, tweets and random Pivots.
For example, the NYC office dashboard can be viewed at http://pivotal-life.cfapps.io/nyc. You will need a username/password to log in. It can be retrieved using the populate-dotenv.sh script described below, which requires access to the pivotallabs organziation and pivotal-life space on Pivotal Web Services. To request access, email bkelly@pivotal.io or ask to be added by anyone who has access.
You will need the following to develop and run the dashboard locally:
On Mac you can install NodeJs, PhantomJs and CloudFoundry with the following:
$ brew install node
$ brew install phantomjs
$ brew tap pivotal/tap # Add pivotal tap if it's not already there
$ brew install cloudfoundry-cli
To checkout and run the project locally:
$ git clone git@github.com:pivotal/pivotal-life.git
$ cd pivotal-life
$ bundle
$ npm install -g coffee-script
To run the dashboard you will need a .env file with various tokens and keys. The fastest way to do this is by pulling them down from Cloud Foundry.
First, target the pivotal-life app on the public Cloud Foundry deployment:
$ cf api api.run.pivotal.io
Then log in to Cloud Foundry:
$ cf login
If you belong to more than one org, select the pivotallabs org.
If you have acces to more than one space, select the pivotal-life space.
Next, build a .env file using the Cloud Foundry settings:
$ ./populate-dotenv.sh
Several of the jobs need tokens and URLs that are in the .env file.
Now run the local server:
$ bundle exec dashing start
Then navigate to http://localhost:3030/ for the default dashboard or http://localhost:3030/nyc to see NYC's.
Log in to basic auth using the AUTH_USERNAME and AUTH_PASSWORD from the .env file.
If you'd like to add your own office's dashboard, do the following:
- Fork the project.
- Under the
dashboardsdirectory, create an.erbtemplate for your office. - Add any widgets that you'd like to make use of.
- Any office specific data should be stored in
offices.ymland can be read with theOfficesandOfficeclasses. - Run
raketo run the tests pass. - Commit your code.
- Make a pull request.
- Once your pull requests is merged you'll see your changes on the staging environment.
The application is automatically pushed to the staging environment once the build has passed on Travis CI.
Once you've checked your changes on the staging environment, you can push to Production by doing the following
$ cf push pivotal-life
Navigate to http://pivotal-life.cfapps.io/
- Pivotal Tracker Project
- Dashing
- PM: Michael McGinley