Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NREL-hosted version of the public dashboard #743

Open
shankari opened this issue Jun 27, 2022 · 3 comments
Open

NREL-hosted version of the public dashboard #743

shankari opened this issue Jun 27, 2022 · 3 comments

Comments

@shankari
Copy link
Contributor

The public dashboard is currently at:
https://github.com/e-mission/em-public-dashboard

It is a static dashboard - it creates images (updated daily) for the aggregate metrics for the current month
It has a very simple frontend that allows people to choose the month and program and then displays the static image

It essentially provisions two docker containers: one for generating the static images (that we basically run notebooks using a cronjob to generate) and a dead simple frontend using jquery that basically displays the image.

@shankari
Copy link
Contributor Author

This is super simple because I wanted to allow analysis experts to write new metrics using jupyter notebooks and R and whatever they want and then to also not allow very fine-grained data manipulation to avoid privacy leakage through repeated queries.

There is an summer intern who is working on revamping the images to show incorporate analysed results along with error bars and she may be using plotly which seems like the standard in the dataviz team, and also supports R and python. In that case, we may adapt this to be a plotly dashboard as well.

But for now, let's get this in production.

The main challenge with getting this into production is the storage of the generated images. Right now, they are stored in files on a shared volume between the two containers. But cloud services does not like file storage because they want all their containers to be serverless.

So they will want to map this to:

  • a simple webapp container
  • a serverless schedule task in AWS that runs once a day

So we will have to store the images in some other shared storage. Options are:

  • database, OR
  • store in in S3

Next steps are (in parallel):

  • get the public dashboard to run on your laptop so you know how it works
  • figure out path going forward for the public dashboard
    • explore plotly
      • check with the SULI intern on whether they have finalized on plotly
      • check whether this is data viz team has standardized on
      • see whether we should switch to plotly as well (explore it a bit, is it easy to use for a transportation analyst, is it likely to be well maintained...)
      • in that case, do we even need to generate static images, or will we pull from the database to generate on the fly?
    • figure out how to store static images
      • talk to cloud services about S3 vs. database
      • make the appropriate changes
  • work with IT to deploy the webapp and any scheduled task into the cloud service per enviroment

@shankari
Copy link
Contributor Author

to explore the current public dashboard, it would be great if you could also address my comments on this pending PR so I can merge it.
e-mission/em-public-dashboard#36

@shankari
Copy link
Contributor Author

shankari commented Jul 8, 2022

we are planning to switch to a plotly server after the viz changes for the "count every trip" project are done. Still thinking of deploying the current dashboard as a stopgap, need to check with cloud services about the details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant