Dashboard de métricas y agenda conectado a PostgreSQL. Interfaz intuitiva, visual y responsive con estilo material.
dashboard/: código de la app Streamlit (KPIs, gráficos, heatmap y explorador de tablas)schema.sql: esquema de la base de datos (referencia)
- KPIs del día: citas, clientes únicos e ingresos estimados
- Citas por barbero: barras agrupadas (citas/ingresos)
- Próximas citas: tabla filtrable por barbero/servicio
- Heatmap de ocupación: horas x días (próximas 2 semanas)
- Top servicios e ingresos por día
- Explorador de tablas: vista, filtro por texto y descarga CSV
- Auto‑refresh configurable (por defecto 30s)
- Python 3.10+
- Acceso a PostgreSQL (credenciales vía variables de entorno)
Configúralas en dashboard/.env (local) o en tu proveedor (Railway):
PGHOST=... # p.ej. trolley.proxy.rlwy.net
PGPORT=... # p.ej. 14990
PGDATABASE=... # p.ej. railway
PGUSER=...
PGPASSWORD=...
REFRESH_INTERVAL_MS=30000
cd dashboard
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
export PGHOST=... PGPORT=... PGDATABASE=... PGUSER=... PGPASSWORD=...
streamlit run app.py --server.address 0.0.0.0 --server.port 8501
# Navega a http://localhost:8501docker build -t barberia-dashboard -f dashboard/Dockerfile dashboard
docker run --rm -p 8501:8501 \
-e PGHOST=$PGHOST -e PGPORT=$PGPORT -e PGDATABASE=$PGDATABASE \
-e PGUSER=$PGUSER -e PGPASSWORD=$PGPASSWORD \
barberia-dashboard- Conecta el repo
minarkap/barberia-borgesen Railway. - Crea un servicio con Dockerfile
dashboard/Dockerfile. - Define variables:
PGHOST,PGPORT,PGDATABASE,PGUSER,PGPASSWORD,REFRESH_INTERVAL_MS. - Deploy de la rama
feat/realtime-dashboardo demaintras el merge del PR.
Más detalles en dashboard/README_DEPLOY.md.
- Streamlit, Plotly, Pandas, psycopg 3, python-dotenv
- Se ha eliminado el boilerplate de Next.js; el proyecto ahora es sólo el dashboard de Streamlit.
- El esquema de referencia está en
schema.sql.