Feature #10975
openPJM GATS Generator Registration Backend Schema Persistence & Multi-Utility Integration
0%
Description
Engineered backend schema extensions for PJM GATS generator registration persistence and integrated multi-utility electrical contractor workflows across frontend stages (pjmGatsSchema.js, projectService.js, PjmGats.tsx, SrecPart1ApplicationForm.tsx, electricalContractorService.ts).
Technical Challenges & Implementation:
1. Backend Schema Persistence Fix (pjmGatsSchema.js):
- Identified a critical silent data-loss defect: although the new PJM GATS generator registration form collected comprehensive system and meter data on the frontend, the backend pjmGats schema lacked the registrationForm definition. As a result, Mongoose stripped the registration payload on document save, causing submitted data to disappear on subsequent page visits.
- Defined and implemented the complete registrationForm sub-schema in pjmGatsSchema.js, encompassing system identification, facility location, inverter and module technical specs, meter serials and test records, standing order flags, and SREC-II state certification attributes.
2. Electrical Contractor Service & SREC Part 1 Integration:
- Built electricalContractorService.ts and associated TypeScript definitions (electricalContractorService.types.ts) to fetch licensed contractor details directly from system registries.
- Updated SrecPart1ApplicationForm.tsx to automatically populate contractor credentials, license numbers, and insurance verifications.
3. Multi-Utility Form Harmonization:
- Synchronized form schemas across ACE (ACEForm.tsx), PECO (PECOForm.tsx), and PSE&G (PSEGForm.tsx) to ensure unified data flow across interconnection stages.
4. End-to-End Persistence Validation:
- Executed full cycle tests: saving registration forms, reloading project stages, updating meter serials, and confirming clean MongoDB persistence without schema truncation.
Subtasks
Related issues