154 lines
3.5 KiB
Markdown
154 lines
3.5 KiB
Markdown
# 09. Appendix: System Inventory (As Reviewed)
|
|
|
|
## 1) Data Model Inventory (Selected Competition-Critical Models)
|
|
|
|
### Pipeline/Stage Engine
|
|
- `Pipeline`
|
|
- `Track`
|
|
- `Stage`
|
|
- `StageTransition`
|
|
- `ProjectStageState`
|
|
- `Cohort`
|
|
- `CohortProject`
|
|
- `LiveProgressCursor`
|
|
- `OverrideAction`
|
|
- `DecisionAuditLog`
|
|
|
|
### Assignment/Evaluation
|
|
- `Assignment`
|
|
- `AssignmentJob`
|
|
- `Evaluation`
|
|
- `EvaluationForm`
|
|
- `EvaluationSummary`
|
|
- `EvaluationDiscussion`
|
|
- `DiscussionComment`
|
|
- `ConflictOfInterest`
|
|
- `GracePeriod`
|
|
- `ReminderLog`
|
|
|
|
### Filtering
|
|
- `FilteringRule`
|
|
- `FilteringResult`
|
|
- `FilteringJob`
|
|
|
|
### Awards
|
|
- `SpecialAward`
|
|
- `AwardEligibility`
|
|
- `AwardJuror`
|
|
- `AwardVote`
|
|
|
|
### Mentorship
|
|
- `MentorAssignment`
|
|
- `MentorMessage`
|
|
- `MentorNote`
|
|
- `MentorMilestone`
|
|
- `MentorMilestoneCompletion`
|
|
|
|
### Documents/Submission
|
|
- `FileRequirement`
|
|
- `ProjectFile`
|
|
|
|
### Live Voting
|
|
- `LiveVotingSession`
|
|
- `LiveVote`
|
|
- `AudienceVoter`
|
|
|
|
### Identity/Team
|
|
- `User`
|
|
- `TeamMember`
|
|
|
|
## 2) Service Inventory (Competition-Critical)
|
|
- `src/server/services/stage-engine.ts`
|
|
- `src/server/services/stage-filtering.ts`
|
|
- `src/server/services/stage-assignment.ts`
|
|
- `src/server/services/live-control.ts`
|
|
- `src/server/services/stage-notifications.ts`
|
|
- `src/server/services/evaluation-reminders.ts`
|
|
- `src/server/services/smart-assignment.ts`
|
|
- `src/server/services/ai-assignment.ts`
|
|
- `src/server/services/ai-filtering.ts`
|
|
- `src/server/services/award-eligibility-job.ts`
|
|
- `src/server/services/mentor-matching.ts`
|
|
|
|
## 3) tRPC Router Inventory
|
|
- `program`
|
|
- `project`
|
|
- `user`
|
|
- `assignment`
|
|
- `evaluation`
|
|
- `file`
|
|
- `export`
|
|
- `audit`
|
|
- `settings`
|
|
- `gracePeriod`
|
|
- `learningResource`
|
|
- `partner`
|
|
- `notionImport`
|
|
- `typeformImport`
|
|
- `tag`
|
|
- `applicant`
|
|
- `liveVoting`
|
|
- `analytics`
|
|
- `avatar`
|
|
- `logo`
|
|
- `application`
|
|
- `mentor`
|
|
- `filtering`
|
|
- `specialAward`
|
|
- `notification`
|
|
- `message`
|
|
- `webhook`
|
|
- `projectPool`
|
|
- `wizardTemplate`
|
|
- `dashboard`
|
|
- `pipeline`
|
|
- `stage`
|
|
- `stageFiltering`
|
|
- `stageAssignment`
|
|
- `cohort`
|
|
- `live`
|
|
- `decision`
|
|
- `award`
|
|
|
|
## 4) Page Inventory (High-Level by Role Group)
|
|
|
|
### Admin
|
|
- members, invite members, programs, apply settings, pipeline wizard/advanced/editor, projects, mentors, awards, reports, settings, audit, messaging, partner, learning
|
|
|
|
### Applicant
|
|
- dashboard, team, pipeline views, stage docs/status views, mentoring, document center
|
|
|
|
### Jury
|
|
- stage list, assignment list, project evaluate pages, compare page, live page, awards, learning
|
|
|
|
### Mentor
|
|
- dashboard, projects, project detail, resources
|
|
|
|
### Auth/Public
|
|
- apply, edition apply, accept invite, login, onboarding, set password, public vote/live score, submission pages
|
|
|
|
## 5) Existing Test Inventory
|
|
|
|
### Unit
|
|
- `tests/unit/stage-engine.test.ts`
|
|
- `tests/unit/stage-assignment.test.ts`
|
|
- `tests/unit/stage-filtering.test.ts`
|
|
- `tests/unit/live-control.test.ts`
|
|
- `tests/unit/override-validation.test.ts`
|
|
- `tests/unit/award-governance.test.ts`
|
|
|
|
### Integration
|
|
- `tests/integration/pipeline-crud.test.ts`
|
|
- `tests/integration/stage-config.test.ts`
|
|
- `tests/integration/assignment-preview.test.ts`
|
|
- `tests/integration/cohort-voting.test.ts`
|
|
- `tests/integration/live-runtime.test.ts`
|
|
- `tests/integration/decision-audit.test.ts`
|
|
|
|
## 6) Legacy/Transition Observations
|
|
1. `roundId` fields still exist as legacy optional references in multiple models.
|
|
2. Stage/pipeline is active architecture but legacy wording remains in some routers/comments/UI labels.
|
|
3. Some critical business rules still rely on JSON keys and implicit route behavior.
|
|
|
|
This inventory is the baseline used for the redesign and migration plans in this folder.
|