By the end of this guide you will have a fully functional SteelWorks dashboard running on your local machine, connected to a seeded PostgreSQL database, and accessible in your browser atDocumentation 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.
http://localhost:8501. The whole process takes under ten minutes if you already have the prerequisites installed.
Verify prerequisites
SteelWorks requires Python 3.13, Poetry, and Docker Desktop (running). Confirm all three are available before continuing:If any command is not found, install the missing tool before proceeding:
- Python 3.13 — python.org/downloads
- Poetry — python-poetry.org/docs/#installation
- Docker Desktop — docs.docker.com/get-docker
Clone the repository and install dependencies
Clone SteelWorks from GitHub, change into the project directory, install the Python dependencies with Poetry, and then install the Playwright browser binaries used by the end-to-end test suite:
poetry install creates an isolated virtual environment and installs all runtime and development dependencies declared in pyproject.toml, including Streamlit, SQLAlchemy, pg8000, sentry-sdk, pytest, and the Playwright test runner.Create your .env file
SteelWorks reads its configuration from a The connection string must use the Leave
.env file in the project root. Create the file and set DATABASE_URL to your PostgreSQL connection string:postgresql+pg8000:// driver scheme. If you have a URL that starts with postgres://, postgresql://, or postgresql+psycopg://, SteelWorks normalizes it automatically — but using the explicit form avoids any ambiguity.To enable Sentry error monitoring, add the optional SENTRY_DSN variable:SENTRY_DSN blank or omit it entirely to run without Sentry.Initialize the database
Apply the schema DDL and load the seed data into your PostgreSQL instance using
psql. The $DATABASE_URL variable is substituted from your shell environment (or pass the connection string directly):schema.sql creates all required tables (calendar_weeks, production_lines, issue_types, lots, production_runs, production_issues). seed.sql populates them with representative sample data so the dashboard has something to display on first launch.Launch the dashboard
Start the Streamlit development server from the project root:Streamlit will print the local URL to the terminal. Open it in your browser:You should see the Operations Issue Metrics dashboard with week and production-line filter controls, an issue summary table, an affected lots table, and CSV download buttons.
For a full reference of all supported environment variables — including
SENTRY_DSN, TEST_DATABASE_URL, and APP_LOG_LEVEL — see the Configuration page.