Spaces:
Sleeping
Sleeping
File size: 2,639 Bytes
72ca3ed ae23cc6 72ca3ed ae23cc6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | import streamlit as st
import plotly.graph_objects as go
import pandas as pd
# --- Page Config ---
st.set_page_config(page_title="NSAKCET Dashboard", layout="wide")
# --- Sidebar ---
with st.sidebar:
st.markdown("### NSAKCET")
st.markdown("###")
st.button("π Dashboard")
st.markdown("---")
st.markdown("### Branches")
branches = ["IT", "CSE", "CSE_DS", "CSE_AIML", "CSE_IOT", "CIVIL", "MECH"]
for b in branches:
st.button(f"π‘ {b}")
st.markdown("### Overview")
st.button("ποΈ Daily")
st.button("π Monthly")
st.button("π Breakdown")
st.markdown("### Management")
st.button("π©βπ« Faculty")
# --- Header ---
st.markdown("## π DASHBOARD")
st.markdown("Welcome to your dashboard")
# --- Top Stats ---
col1, col2, col3, col4 = st.columns(4)
with col1:
st.metric("Total Branches", "30", help="Number of branches")
with col2:
st.metric("Classes Today", "180", "Pending Today")
with col3:
st.metric("Total Students", "+5%", "Since Last Year")
with col4:
st.metric("Total Students", "1443", "NSAKCET Campus Students")
st.markdown("---")
# --- Main Content ---
col5, col6 = st.columns([2, 1])
# Line Chart (Monthly Classes)
with col5:
st.markdown("### π Monthly Class Count")
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
values = [10000, 12000, 14000, 50000, 80000, 85000, 140000, 200000, 200000, 250000, 270000, 270000]
fig = go.Figure()
fig.add_trace(go.Scatter(x=months, y=values, mode='lines+markers', fill='tozeroy'))
fig.update_layout(margin=dict(l=10, r=10, t=20, b=20), height=300)
st.plotly_chart(fig, use_container_width=True)
# Doughnut Chart (Classes by Category)
with col6:
st.markdown("### π© Classes By Category")
categories = ['Theory', 'Practicals', 'Seminars', 'Misc']
sizes = [22803, 19545, 16288, 6515]
fig2 = go.Figure(data=[go.Pie(labels=categories, values=sizes, hole=0.5)])
fig2.update_traces(marker=dict(colors=['#fce38a', '#f38181', '#a8d8ea', '#eaffd0']),
textinfo='value+label')
fig2.update_layout(margin=dict(l=0, r=0, t=0, b=0))
st.plotly_chart(fig2, use_container_width=True)
st.markdown("---")
# --- Faculty Table Placeholder ---
st.markdown("### π©βπ« Faculty Table")
df = pd.DataFrame(columns=["ID", "Faculty Name", "Branch", "#Subject"])
st.dataframe(df, use_container_width=True, height=200)
# --- Download Button ---
st.markdown("### π₯ Download Reports")
st.download_button("Download Reports", data="Report content here...", file_name="nsakcet_report.csv")
|