How newer1107/emqpgs works
EMQPGS manages examination question-paper production from academic setup and question contribution through moderation, bank approval, analysis, paper generation, dean selection, and COE export. Users enter through a responsibility-scoped workspace; the application exposes role-specific dashboards and API routes, with domain services backed by Prisma and MySQL. Optional AI analysis and MinIO-backed document storage support the workflow. The README documents the major flow and layering; sampled source confirms selected evaluation, storage, readiness, and dean-review behavior, but not every route-to-service connection.
Main entry points: route.ts API routes · modules Domain services · dean-review.service.ts Dean review · storage-service.ts Object storage service
Components 25
Access and Workspaces
- Login
app/login/page.tsx - Workspace selection
app/(auth)/workspace-select/page.tsx - Authorization
src/lib/auth/authorization-service.ts
Academic Setup
- Academic setup
app/(protected)/dashboard/coe/academic-setup/page.tsx - Curriculum and subjects
app/(protected)/dashboard/coordinator/subjects/page.tsx - Exam cycles
app/(protected)/dashboard/coe/exam-cycles/page.tsx
Question Bank Workflow
- Question contribution
app/(protected)/dashboard/contributor/submit-question/page.tsx - Question moderation
app/(protected)/dashboard/moderator/questions/page.tsx - Bank lifecycle
src/modules/question-banks/service.ts - Phase readiness
src/modules/readiness/engine.ts - Bank audit
src/modules/qb-audit/service.ts
Analysis and Production
- Bank analysis
app/(protected)/dashboard/coordinator/analysis/page.tsx - Analysis engine
src/modules/reports/analysis-engine.ts - Optional AI analysis
src/modules/reports/ai-report.service.ts - Paper generation
src/modules/paper-generation-engine/paper-generation-engine.ts - Variant scoring
src/modules/paper-generation-engine/evaluation-engine.ts - Dean review
src/modules/production/dean-review.service.ts - Exports
src/modules/production/export.service.ts
Services and Data
- API routes
app/api/question-banks/[id]/route.ts - Domain services
src/modules - MySQL via Prisma
src/lib/db.ts - Object storage service
src/lib/storage/storage-service.ts - MinIO object store
Other components
- Academic user
- Ollama
Connections 35
- Academic user → Login: signs in
- Login → Workspace selection: selects context
- Workspace selection → Authorization: sets scope
- Academic user → Academic setup: manages setup
- Academic user → Curriculum and subjects: manages subjects
- Academic user → Question contribution: submits questions
- Academic user → Question moderation: reviews questions
- Academic user → Bank analysis: analyzes banks
- Academic user → Dean review: reviews variants
- Academic setup → API routes: requests data
- Curriculum and subjects → API routes: requests data
- Exam cycles → API routes: requests data
- Question contribution → API routes: submits questions
- Question moderation → API routes: sends decisions
- Bank analysis → API routes: requests analysis
- Dean review → API routes: submits selection
- Exports → API routes: serves downloads
- API routes → Authorization: checks permissions
- API routes → Domain services: dispatches requests
- Domain services → MySQL via Prisma: reads and writes
- Domain services → Bank lifecycle: manages banks
- Bank lifecycle → Phase readiness: checks phase readiness
- Domain services → Bank audit: runs bank audits
- Domain services → Analysis engine: builds analysis
- Analysis engine → Optional AI analysis: adds AI interpretation
- Optional AI analysis → Ollama: requests AI output
- Domain services → Paper generation: generates variants
- Paper generation → Variant scoring: scores assignments
- Domain services → Dean review: submits review
- Dean review → MySQL via Prisma: stores selection
- Domain services → Exports: creates export packets
- Object storage service → MySQL via Prisma: records assets
- Object storage service → MinIO object store: stores objects
- Paper generation → Object storage service: stores generated papers
- Exports → Object storage service: stores export files