salesforce1 / app.py
Sanjayraju30's picture
Update app.py
4b04ec0 verified
import streamlit as st
from salesforce_integration import fetch_poles
import plotly.express as px
from modules.visuals import display_dashboard, display_charts
st.title("πŸ“‘ VIEP Smart Poles Dashboard (Salesforce Data)")
# Fetch Data
df = fetch_poles()
# Display Table with extra fields
st.subheader("πŸ“‹ Pole Table")
st.dataframe(df[[
"Name",
"Solar_Generation__c",
"Wind_Generation__c",
"Camera_Status__c",
"Longitude__c",
"Latitude__c",
"Last_Check_Time__c"
]])
# Energy Generation Chart
st.subheader("βš™ Energy Generation (Solar vs Wind)")
st.plotly_chart(
px.bar(
df,
x="Name",
y=["Solar_Generation__c", "Wind_Generation__c"],
barmode="group",
title="Solar vs Wind Energy by Pole"
)
)
# Camera Status Visualization (Only once, horizontal bar)
st.subheader("πŸŽ₯ Camera Status Overview")
camera_counts = df["Camera_Status__c"].value_counts().reset_index()
camera_counts.columns = ["Status", "Count"]
fig_camera_status = px.bar(
camera_counts,
x="Count",
y="Status",
orientation="h",
color="Status",
text="Count",
title="Camera Status Distribution"
)
st.plotly_chart(fig_camera_status)
# Custom Visuals
display_dashboard(df)
display_charts(df)