Implement 10 platform features: evaluation UX, admin tools, AI summaries, applicant portal
Batch 1 - Quick Wins: - F1: Evaluation progress indicator with touch tracking in sticky status bar - F2: Export filtering results as CSV with dynamic AI column flattening - F3: Observer access to analytics dashboards (8 procedures changed to observerProcedure) Batch 2 - Jury Experience: - F4: Countdown timer component with urgency colors + email reminder service with cron endpoint - F5: Conflict of interest declaration system (dialog, admin management, review workflow) Batch 3 - Admin & AI Enhancements: - F6: Bulk status update UI with selection checkboxes, floating toolbar, status history recording - F7: AI-powered evaluation summary with anonymized data, OpenAI integration, scoring patterns - F8: Smart assignment improvements (geo diversity penalty, round familiarity bonus, COI blocking) Batch 4 - Form Flexibility & Applicant Portal: - F9: Evaluation form flexibility (text, boolean, section_header types, conditional visibility) - F10: Applicant portal (status timeline, per-round documents, mentor messaging) Schema: 5 new models (ReminderLog, ConflictOfInterest, EvaluationSummary, ProjectStatusHistory, MentorMessage), ProjectFile extended with roundId + isLate. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -65,16 +65,25 @@ The MOPC Platform is a secure jury voting system built as a modern full-stack Ty
|
||||
│ PRESENTATION LAYER │
|
||||
├─────────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
|
||||
│ │ Admin Views │ │ Jury Views │ │ Auth Views │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ - Dashboard │ │ - Project List │ │ - Login │ │
|
||||
│ │ - Rounds │ │ - Project View │ │ - Magic Link │ │
|
||||
│ │ - Projects │ │ - Evaluation │ │ - Verify │ │
|
||||
│ │ - Jury Mgmt │ │ - My Progress │ │ │ │
|
||||
│ │ - Assignments │ │ │ │ │ │
|
||||
│ │ - Reports │ │ │ │ │ │
|
||||
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ Admin Views │ │ Jury Views │ │Applicant View│ │ Mentor Views │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ - Dashboard │ │ - Project Ls │ │ - Status │ │ - Assigned │ │
|
||||
│ │ - Rounds │ │ - Project Vw │ │ Tracker │ │ Projects │ │
|
||||
│ │ - Projects │ │ - Evaluation │ │ - Document │ │ - Messaging │ │
|
||||
│ │ - Jury Mgmt │ │ - My Progress│ │ Uploads │ │ │ │
|
||||
│ │ - Assignments│ │ - COI Decl. │ │ - Mentor │ │ │ │
|
||||
│ │ - Reports │ │ - Countdown │ │ Chat │ │ │ │
|
||||
│ │ - COI Review │ │ │ │ │ │ │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
│ │
|
||||
│ ┌──────────────────┐ ┌──────────────────┐ │
|
||||
│ │ Auth Views │ │ Observer Views │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ - Login │ │ - Reports/ │ │
|
||||
│ │ - Magic Link │ │ Analytics │ │
|
||||
│ │ - Verify │ │ - Round Stats │ │
|
||||
│ └──────────────────┘ └──────────────────┘ │
|
||||
│ │
|
||||
│ Built with: Next.js App Router + React Server Components + shadcn/ui │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -116,6 +125,11 @@ The MOPC Platform is a secure jury voting system built as a modern full-stack Ty
|
||||
│ │ Service │ │ Service │ │ Service │ │ Service │ │
|
||||
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
|
||||
│ │
|
||||
│ ┌────────────┐ ┌────────────┐ │
|
||||
│ │ Evaluation │ │ AI Eval │ │
|
||||
│ │ Reminders │ │ Summary │ │
|
||||
│ └────────────┘ └────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
@@ -151,8 +165,11 @@ The MOPC Platform is a secure jury voting system built as a modern full-stack Ty
|
||||
|
||||
| Component | Responsibility |
|
||||
|-----------|----------------|
|
||||
| **Admin Views** | Program/round management, project import, jury management, assignments, dashboards |
|
||||
| **Jury Views** | View assigned projects, evaluate projects, track progress |
|
||||
| **Admin Views** | Program/round management, project import, jury management, assignments, dashboards, COI review, bulk status updates, AI evaluation summaries |
|
||||
| **Jury Views** | View assigned projects, evaluate projects, track progress, COI declarations, countdown timer |
|
||||
| **Applicant Views** | Project status tracker, document uploads (per-round with deadline policy), mentor chat |
|
||||
| **Mentor Views** | View assigned projects, messaging with applicants |
|
||||
| **Observer Views** | Read-only access to all reports/analytics (round selector, tabs, all chart components) |
|
||||
| **Auth Views** | Login, magic link verification, session management |
|
||||
| **Layouts** | Responsive navigation, sidebar, mobile adaptations |
|
||||
| **UI Components** | shadcn/ui based, reusable, accessible |
|
||||
@@ -177,8 +194,10 @@ The MOPC Platform is a secure jury voting system built as a modern full-stack Ty
|
||||
| **EvaluationService** | Form submission, autosave, scoring |
|
||||
| **FileService** | MinIO uploads, pre-signed URLs |
|
||||
| **EmailService** | Magic links, notifications via Nodemailer |
|
||||
| **ExportService** | CSV/Excel generation |
|
||||
| **ExportService** | CSV/Excel generation, filtering results export with AI column flattening |
|
||||
| **AuditService** | Immutable event logging |
|
||||
| **EvaluationRemindersService** | Finds incomplete assignments, sends email reminders with countdown urgency |
|
||||
| **AIEvaluationSummaryService** | Anonymizes evaluation data, generates GPT-powered summaries with scoring patterns, strengths/weaknesses |
|
||||
|
||||
### Data Layer
|
||||
|
||||
@@ -345,8 +364,14 @@ The platform includes two assignment modes:
|
||||
```
|
||||
Score = (expertise_match × 40) + (load_balance × 25) +
|
||||
(specialty_match × 20) + (diversity × 10) - (conflict × 100)
|
||||
- (geo_diversity_penalty) + (previous_round_familiarity) - (coi_penalty)
|
||||
```
|
||||
|
||||
**Additional Scoring Factors** (added in Phase 1 enhancements):
|
||||
- **geoDiversityPenalty**: -15 per excess same-country assignment beyond threshold of 2
|
||||
- **previousRoundFamiliarity**: +10 bonus for jurors who reviewed the same project in a prior round
|
||||
- **coiPenalty**: Jurors with a declared Conflict of Interest are skipped entirely
|
||||
|
||||
## Admin Settings Panel
|
||||
|
||||
Centralized configuration for:
|
||||
@@ -363,8 +388,10 @@ Centralized configuration for:
|
||||
|------|------------|
|
||||
| **SUPER_ADMIN** | Full system access, all programs, user management |
|
||||
| **PROGRAM_ADMIN** | Manage specific programs, rounds, projects, jury |
|
||||
| **JURY_MEMBER** | View assigned projects only, submit evaluations |
|
||||
| **OBSERVER** | Read-only access to dashboards |
|
||||
| **JURY_MEMBER** | View assigned projects only, submit evaluations, declare COI |
|
||||
| **OBSERVER** | Read-only access to dashboards and all analytics/reports |
|
||||
| **MENTOR** | View assigned projects, message applicants via `mentorProcedure` |
|
||||
| **APPLICANT** | View own project status, upload documents per round, message mentor |
|
||||
|
||||
## Related Documentation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user