Skip to content

Sprint history — Employee master

What shipped

The people record and the ways data gets into it.

  • Employees + lookups + seed (MIQ-006) — the core employees table (11 FKs), the employee lookups (grade, gender, nationality, status, employment type), and the manager self-hierarchy.
  • Excel bulk import (MIQ-007) — the real async import pipeline: a Hangfire job that parses three sheets (employees, skills, certifications), upserts rows, and records per-row errors as jsonb. The only write path for people.
  • Skill catalog + assignment (MIQ-008) — the skill catalog and employee-skill links.
  • Certifications (MIQ-009) — employee certifications and requirements.
  • Skill matrix UI (MIQ-010) — the read-only skill matrix view.
  • DemoDataSeeder repair (A5, A10, A12) — diagnosing and fixing the demo-data seeder end-to-end (PrimaryPoolId diagnostic, approval-matrix wiring).

Key decisions

  • Single canonical ingestion path — employees enter via import or seed; there is no create/edit employee endpoint (sheet 03).
  • Uploaded file never persisted to disk — held in memory, SHA-256 hashed; row errors stored as RawRowJson to regenerate the error report.
  • No automatic cert-expiry sweep — certification expiry is computed on read; there is no scheduled job (sheet 04).

Build status

Partial — read API + Excel import are LIVE; employee create/edit and skill-assign have no API (import-only). Skill matrix is read-only. See Employees & skills (concept) and the API page.

  • Background jobs — the import job.
  • Fact sheets 03 (employee master), 04 (skills & certifications); reports MIQ-006/007/008/009/010, A5/A10/A12.