- Rename dbt project from toronto_housing to portfolio
- Restructure dbt models into domain subdirectories:
- shared/ for cross-domain dimensions (dim_time)
- staging/toronto/, intermediate/toronto/, marts/toronto/
- Update SQLAlchemy models for raw_toronto schema
- Add explicit cross-schema FK relationships for FactRentals
- Namespace figure factories under figures/toronto/
- Namespace notebooks under notebooks/toronto/
- Update Makefile with domain-specific targets and env loading
- Update all documentation for multi-dashboard structure
This enables adding new dashboard projects (e.g., /football, /energy)
without structural conflicts or naming collisions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove DimTRREBDistrict model and FactPurchases model
- Remove TRREBDistrict schema and AreaType enum
- Remove TRREBDistrictParser from geo parsers
- Remove load_trreb_districts from dimension loaders
- Remove create_district_map from choropleth figures
- Remove get_demo_districts and get_demo_purchase_data from demo_data
- Update summary metrics to remove purchase-related metrics
- Update callbacks to remove TRREB-related comments
- Update methodology page to remove TRREB data source section
- Update dashboard data notice to remove TRREB mention
Closes#49
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sprint 3 implementation:
- Pydantic schemas for TRREB, CMHC, and dimension data validation
- SQLAlchemy models with PostGIS geometry for fact and dimension tables
- Parser structure (stubs) for TRREB PDF and CMHC CSV processing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>