Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/kishnahai0806/SteelWorks/llms.txt

Use this file to discover all available pages before exploring further.

SteelWorks is a Streamlit-based web dashboard built for manufacturing operations teams who need a fast, reliable way to review weekly production issues. It lets operators and managers filter data by calendar week and production line, inspect issue summaries grouped by type or line, examine affected lots, and download the results as CSV reports — all from a single browser tab. Whether you are running it locally against a live PostgreSQL database or spinning it up on Render with Docker, SteelWorks is designed to stay out of your way and put your data front and centre.

Architecture

SteelWorks is organized into three clean layers that keep the UI, business logic, and data access concerns strictly separated.
Streamlit UI  →  OperationsMetricsService  →  OperationsRepository  →  PostgreSQL
LayerResponsibility
Streamlit UI (streamlit_app.py)Renders filters, data tables, totals, and CSV download buttons. Reads configuration from .env and initializes Sentry when a DSN is present.
OperationsMetricsService (app/service.py)Orchestrates data retrieval and CSV export. Holds in-memory fallback data so the dashboard works without a live database.
OperationsRepository (app/repository.py)Executes SQL queries against PostgreSQL via SQLAlchemy and pg8000. Normalizes incoming DATABASE_URL strings to the correct driver scheme.

Key features

Week & Line Filters

Select any production week and one or more active lines from dropdown controls. The entire dashboard — issue summary, affected lots, and CSV exports — updates instantly.

Issue Summary

View issue counts grouped by issue type, with an optional breakdown by production line. A running total is shown beneath the table.

Affected Lots

See every production lot impacted by issues in the selected scope, including the number of issues and all issue types recorded against that lot.

CSV Exports

Download the issue summary or affected lots table as a CSV file directly from the dashboard with a single click.

Comprehensive Test Suite

Unit, integration, and Playwright end-to-end tests. Integration tests automatically start a local Docker Postgres container so you never need to configure one manually.

Docker & Render Deployment

A production-ready Dockerfile and Render deployment guide are included. The image respects Render’s PORT environment variable out of the box.

Sentry Error Monitoring

Initialise Sentry by adding a SENTRY_DSN to your environment. Leave it blank to run without any monitoring overhead.

CI / CD Pipeline

GitHub Actions runs pre-commit quality checks and builds the Docker image on every pull request and push to main.

What’s included

AreaWhat you get
Dashboard filtersWeek selector (single) and production line multi-select with a “Group by line” toggle
Issue summaryTabular view of issue type counts per week (and optionally per line), plus a grand total
Affected lotsPer-lot breakdown of issue count and issue types for the selected scope
CSV exportsOne-click downloads for both the issue summary and affected lots tables
Test suitepytest with unit, integration, and Playwright e2e layers; coverage driven by Docker Postgres
Docker deploymentMulti-stage Dockerfile, Render web service setup, and UptimeRobot health-check instructions
Offline development mode — if DATABASE_URL is not set, OperationsMetricsService automatically serves built-in fallback data: 2 weeks (2026-W03, 2026-W04), 2 active lines (Line 1, Line 4), and 6 issue occurrences. This lets you explore the full dashboard UI without provisioning a PostgreSQL database. See the Quickstart for details.

Build docs developers (and LLMs) love