bcgov / bcgov/lcfs

LCFS - Create domain-specific model relationship diagrams

Open
#4,111 0 comments 0 reactions 0 assignees View on GitHub
Low Task
Dominant language
Python
Stars
6
Forks
6
Avg merge
2d 7h
Merged PRs (30d)
87

Description

**Describe the task**
Create focused relationship diagrams for the most complex model domains: Compliance (29 models), Fuel (22 models), and Organization (10 models).

**Purpose**
With 150+ models, a single ERD is overwhelming. Domain-specific diagrams help developers understand relationships within the areas they're working on, especially the compliance domain which has the most complex model graph.

**Acceptance Criteria**
- [ ] Create Compliance domain diagram (ComplianceReport, FuelSupply, FuelExport, NotionalTransfer, OtherUses, FSE, ChargingSite, ChargingEquipment, etc.)
- [ ] Create Fuel domain diagram (FuelCode, FuelType, FuelCategory, CarbonIntensity, EnergyDensity, TransportMode, etc.)
- [ ] Create Organization domain diagram (Organization, OrganizationType, Balance, Address, LinkKey, PenaltyLog, etc.)
- [ ] Use Mermaid or Draw.io for maintainability
- [ ] Add diagrams to wiki with cross-references

**Additional context**
- Model files in `backend/lcfs/db/models/` organized by domain subdirectories
- Compliance domain is the most complex with 29 models and deep relationship chains

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the model files under backend/lcfs/db/models/ and the domain subdirectories, focusing first on the 29 Compliance models and their relationship chains. Then map the listed Compliance, Fuel, and Organization models using Mermaid or Draw.io, and check the wiki structure before adding the diagrams and cross-references. Done means all three maintainable domain diagrams are available in the wiki and linked appropriately.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.