MOPC-App/docs/codex-architecture-redesign.../09-appendix-system-inventor...

3.5 KiB

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.