-
Notifications
You must be signed in to change notification settings - Fork 23
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
[Epic][Lake][Analytics] Create Analytics Dapp with Predictoor Income plot #618
Comments
pdr analytics prototypes in GSlides: |
[Frameworks & Plots]
As I mentioned in chats, I'm recommending the least amount of time getting a basic plot/app in place to stress test it. This means plotly/streamlit. |
@KatunaNorbert please note that I updated the table design/schema, such that the calculated tables + aggregates are taking place at the silver-level. This is such that our bronze_tables remain: "close-to-raw, clean" |
Got it, sound good @idiom-bytes |
Recall our recent conversation why we don't want to use "Dashboard" label:
Accordingly, in this issue's title and description, I replaced "Dashboard" with "dapp" & "dapp with plots". Please ensure other issues follow this too. Thank you:) |
Updating tickets...
|
Motivation
We want to go from tables and etl, to apps with interactive plots.
The two frameworks we may consider right now are Streamlit and Dash.
Framework Considerations
Dash is OSS, fully fledged so, it delivers things like url routing out of the box.
It also has enterprise support, so there is that potentially unblocking limitations we may hit.
Dash is known for requiring you to know the framework (which makes sense).
https://dash.plotly.com/
Streamlit is leaner, w/ more community projects/plugins used to solve individual needs
Things like routing are additional, and require development.
https://discuss.streamlit.io/t/is-there-a-way-to-have-multiple-pages-like-flask/16823
I originally used Streamlit because I like it's native matplotlib and python graphing library support.
However, I'm not sure how much of an uphill battle and duck tape it will take to achieve basic web-app functionality such as: routing, caching, etc... Due to previous usage w/ Svelte (dao) by the team and then react (predictoor), I would expect the team to perhaps lean more towards Dash.
The lowest cost/friction would be plotly/streamlit.
The most enterprise/mature solution is plotly/dash.
The most community/open solution is matplotlib/streamlit.
Data Outline
DoD:
Prepare Data:
[Moving from silver-table to streamlit]
Create Net Income Plot + Single Page App:
SimPlotter.__init__()
such that you understand how to setup the sim_plotter page, how to setup columns, contianers, and how to initialize plots. Please note my comments. #612Create Revenue + Expense Plot + Single Page App:
Display Feeds and Predictoors tables
We should now have a single-page app (SPA), first-cut dapp completed, having Predictoor Income plot, running locally w/ 3 charts. There are 2 simple UI elements for filtering, and everything is updating.
We should now consider:
The text was updated successfully, but these errors were encountered: