Level-6: Touqeer Hamdani#519
Open
TouqeerHamdani wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a Level 6 submission that seeds a Neo4j factory knowledge graph and provides a multi-page Streamlit dashboard (plus Level 5 written artifacts) for analysis, forecasting, and automated verification.
Changes:
- Introduces an end-to-end Neo4j seeding script (constraints + nodes/relationships + aggregations).
- Adds a 6-page Streamlit dashboard with KPI styling, charts, forecasting, and a self-test suite.
- Adds submission documentation, dependency list, and deployed dashboard URL.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| submissions/Touqeer-Hamdani/level6/seed_graph.py | Neo4j seeding script: constraints, ingestion from CSVs, and computed aggregations. |
| submissions/Touqeer-Hamdani/level6/app.py | Streamlit dashboard UI and Cypher-powered analytics pages (incl. forecast + self-test). |
| submissions/Touqeer-Hamdani/level6/requirements.txt | Python dependencies for seeding + dashboard. |
| submissions/Touqeer-Hamdani/level6/README.md | Setup/run instructions and dashboard documentation. |
| submissions/Touqeer-Hamdani/level6/.env.example | Example Neo4j environment configuration. |
| submissions/Touqeer-Hamdani/level6/DASHBOARD_URL.txt | Deployed Streamlit URL reference. |
| submissions/Touqeer-Hamdani/level5/schema.md | Mermaid schema diagram for the graph model. |
| submissions/Touqeer-Hamdani/level5/answers.md | Level 5 written answers describing the model and rationale. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+1
to
+3
| NEO4J_URI = "neo4j+s://xxxxx.databases.neo4j.io" | ||
| NEO4J_USER = "neo4j" | ||
| NEO4J_PASSWORD = "your-password" No newline at end of file |
| ``` | ||
| l6-factory-dashboard/ | ||
| ├── seed_graph.py # CSV → Neo4j (idempotent, uses MERGE) | ||
| ├── app.py # Streamlit dashboard (5 pages) |
| "CREATE CONSTRAINT IF NOT EXISTS FOR (s:Station) REQUIRE s.station_code IS UNIQUE", | ||
| "CREATE CONSTRAINT IF NOT EXISTS FOR (w:Worker) REQUIRE w.worker_id IS UNIQUE", | ||
| "CREATE CONSTRAINT IF NOT EXISTS FOR (wk:Week) REQUIRE wk.week_id IS UNIQUE", | ||
| "CREATE CONSTRAINT IF NOT EXISTS FOR (prod:Product) REQUIRE prod.product_type IS UNIQUE", |
Comment on lines
+41
to
+45
| | **Project Overview** | All 8 projects with planned/actual hours, variance %, and products | | ||
| | **Station Load** | Interactive bar chart — hours per station per week, overloads in red | | ||
| | **Capacity Tracker** | Stacked capacity bars + demand line, deficit weeks highlighted | | ||
| | **Worker Coverage** | Coverage matrix + SPOF (single-point-of-failure) station detection | | ||
| | **Self-Test** | Automated 6-check verification (20 pts) | |
Comment on lines
+19
to
+30
| DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") | ||
|
|
||
|
|
||
| # ── Helpers ────────────────────────────────────────────────────────────────── | ||
|
|
||
| def read_csv(filename): | ||
| """Read a CSV file from the data/ directory and return a list of dicts.""" | ||
| filepath = os.path.join(DATA_DIR, filename) | ||
| with open(filepath, newline="", encoding="utf-8-sig") as f: | ||
| return list(csv.DictReader(f)) | ||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Submission Level
Level: 6
What I Did
Built a production-ready Neo4j graph using an idempotent Python seeding script.
Designed a 6-page Streamlit dashboard with custom dark-mode KPIs and Plotly charts.
Implemented OLS regression to forecast Week 9 load and identify critical bottlenecks.
Engineered a graph-aware engine for smart, cross-trained worker reassignment suggestions.
Automated verification with a Self-Test suite to ensure 100% requirement compliance.
Checklist
level-X: Your NameSigned-off-by: Touqeer Hamdani(touqeerhamdani26@gmail.com)