OOAMS is a self-developed portfolio project showing an end-to-end Business Analysis, data modelling, SQL analytics, Python reporting, Agile planning, testing, and Power BI design workflow for a fictional B2B distributor. All names and data are synthetic; this repository does not claim a real deployment or real business results.
Project status: GitHub-ready reviewer package. Requirements, database, generator, SQL pack, Python pipeline, tests, UAT, and case-study website are included. Power BI build and visual UAT remain manual. Case Study: https://ayushmaangangulywork-boop.github.io/OOAMS/10-Portfolio-Case-Study/
The numbered folders preserve the professional source package and provide a traceable progression from requirements to tested delivery:
| Folder | Contents |
|---|---|
01-Requirements |
BRD, process analysis/gap analysis, and FRD (PDFs for review; DOCX sources retained) |
02-Database |
Database architecture PDF, schema, and reproducible SQLite database |
03-Data |
Deterministic sample-data generator and raw Excel export |
04-SQL |
SQL analytics PDF and 25 business queries |
05-Python-Pipeline |
Pipeline architecture PDF, Python analytics pipeline, and 14-sheet Excel output |
06-PowerBI |
Dashboard design PDF; .pbix is intentionally not fabricated |
07-Agile |
Agile/Jira planning PDF |
08-Testing |
Test strategy PDF, UAT scenarios/results/case-study summary, acceptance notes, and automated pytest checks |
10-Portfolio-Case-Study |
GitHub-ready portfolio narrative and presentation outline |
12-Target-Traceability |
Final public-release traceability and quality checklist |
Python 3.9+ is recommended. From the repository root:
python -m pip install -r requirements.txt
python 03-Data/OOAMS-Sample-Data-Generator.py
python 05-Python-Pipeline/OOAMS-Pipeline-001.py
pytest -q
The generator rebuilds 02-Database/OOAMS-DB-001.db from 02-Database/OOAMS-DB-001-schema.sql using seed 42 and the fixed snapshot date 2025-09-12. The pipeline reads that database and writes 05-Python-Pipeline/OOAMS-Analytics-Output.xlsx. Both scripts also accept explicit paths:
python 03-Data/OOAMS-Sample-Data-Generator.py --db path/to/output.db --schema 02-Database/OOAMS-DB-001-schema.sql --as-of 2025-09-12
python 05-Python-Pipeline/OOAMS-Pipeline-001.py --db 02-Database/OOAMS-DB-001.db --output 05-Python-Pipeline/OOAMS-Analytics-Output.xlsx --as-of 2025-09-12
When targeting an existing non-default database, add --force; the generator refuses accidental replacement of arbitrary files.
The commands are portable from the repository root and from either script’s own directory because paths default relative to __file__. Generated files should be written inside the repository or another explicitly selected output directory.
Open 02-Database/OOAMS-DB-001.db in DB Browser for SQLite or use the SQLite CLI:
sqlite3 02-Database/OOAMS-DB-001.db
SELECT * FROM vw_executive_kpis;
.read 04-SQL/OOAMS-SQL-001-queries.sql
The schema creates 11 business tables, 7 analytical views, and indexed foreign-key/filter columns. The generated baseline contains 394 orders, 1,655 status-history rows, 611 tasks, 120 issues, and 305 comments. Deadline KPIs are evaluated against the fixed pipeline snapshot date; the portfolio deliberately shows unmet overdue and turnaround targets so the analysis has a meaningful improvement story.
For a fast reviewer path, start here:
The case-study website is self-contained HTML/CSS and can be opened directly or served locally with python -m http.server 8000. Supporting case-study documentation remains available in 10-Portfolio-Case-Study/README.md. The live Pages URL is https://ayushmaangangulywork-boop.github.io/OOAMS/10-Portfolio-Case-Study/.
These files deliberately avoid invented deployment evidence, PBIX files, or real business results.
All nine professional DOCX deliverables have same-basename PDF mirrors in their original folders. Reviewer-facing links point to the PDFs; DOCX files are retained as editable source documents.
The intended chain is BRD → PAD → FRD → schema → SQL → Python KPI → Power BI visual → test/UAT. The supplied design documents retain the detailed traceability. 08-Testing/UAT_SCENARIOS.md defines the business-user scenarios, while 08-Testing/UAT_RESULTS.md records simulated results and portfolio limitations. 08-Testing/OOAMS-UAT-001.md remains the concise integration record.
For an interviewer-facing UAT explanation, see 08-Testing/UAT_CASE_STUDY_SUMMARY.md.
Power BI Desktop remains a manual build step: load 05-Python-Pipeline/OOAMS-Analytics-Output.xlsx, implement the model/measures/visuals in 06-PowerBI/OOAMS-PBI-001.pdf, and save a local .pbix if desired. No .pbix is included or represented as deployed.
Remaining manual work: build and visually inspect the Power BI report. No deployment, PBIX, or real business result is claimed.
Install dependencies from requirements.txt. Use pytest -q for the lightweight automated checks. See 08-Testing/OOAMS-TC-001.pdf for the broader manual test strategy. Contributions should preserve synthetic-data labelling, reproducibility, and the numbered document structure.
This is a self-developed portfolio project released under the MIT Licence; see LICENSE.