Skip to main content

loe-coe-design-notes

TODO: This needs to be differentiated between the loe-coe for main breaks and CCTV Streamlit app. Discuss with Jake.

loe-coe Design Notes

We're planning to upgrade the existing loe-coe Streamlit app. At a high level, the singular Streamlit app will be replaced with at least two more traditional apps: React and DRF.

Frontend Component(s)

  • Currently, the frontend components are builtin with Streamlit.
  • The new frontend will be React in the style of SWC, ORSANCO, and CSDP.
  • This change will facilitate the addition of existing design components such as
    • OpenLayers 2D maps
    • Cesium 3D maps
    • ApexCharts
  • Input forms (for "run" or "scenario" management)
  • Run Status tracking/polling

Backend Component(s)

The switch from Streamlit to React necessitates a dedicated API in the backend and DRF is a natural choice.

  • Database integrations might be tricky. I'm not sure what existing databases are in use (probably SQLite). This will have to be handled carefully.
  • Run management similar to SWC would probably be best.
    • Azure might not be necessary.
    • We could just use the database, then have a runner/AI Engine somewhere (MSI Server?) watch for new runs to start.
    • Poll for run finished to insert results, or as part of the spawned process (some py script), that can go into the database and modify the running status (or make a call to the API).
    • Send notification (email, similar to deepvibe) when run status changes/is finished.