A comprehensive microservice for creating and managing assessments with quiz builder, automated grading, question banks, multiple question formats, plagiarism detection, and detailed analytics.
REQ-ASSESS-001: Assessment Creation
Instructors must be able to create assessments with title, description, instructions, passing score, time limit, and maximum attempts
REQ-ASSESS-002: Assessment Types
Support multiple assessment types: quiz, exam, practice test, graded assignment, survey
REQ-ASSESS-003: Assessment Settings
Configure shuffle questions, shuffle answers, show correct answers, allow review, randomize from question bank
REQ-ASSESS-004: Multi-Tenant Isolation
Assessments must be isolated per organization with proper data segregation
REQ-ASSESS-005: Assessment Status
Support assessment lifecycle: draft, published, archived
REQ-QUEST-001: Multiple Question Types
Support MCQ (single/multiple choice), true/false, short answer, essay, fill-in-the-blank, matching, coding challenges
REQ-QUEST-002: Question Bank
Create reusable question banks organized by topic, difficulty, and tags for easy reuse across assessments
REQ-QUEST-003: Rich Content Support
Questions must support rich text, images, code snippets, mathematical formulas (LaTeX), and media files
REQ-QUEST-004: Question Metadata
Track difficulty level, points, time allocation, category, and learning objectives for each question
REQ-QUEST-005: Bulk Import/Export
Support importing questions from CSV, Excel, QTI format, and exporting to standard formats
REQ-TAKE-001: Attempt Tracking
Track all assessment attempts with start time, end time, time taken, score, and submission status
REQ-TAKE-002: Auto-Save Progress
Automatically save learner responses periodically to prevent data loss
REQ-TAKE-003: Time Limit Enforcement
Enforce time limits with countdown timer and auto-submit when time expires
REQ-TAKE-004: Attempt Limits
Enforce maximum number of attempts and prevent retakes if limit is reached
REQ-TAKE-005: Resume Capability
Allow learners to pause and resume assessments (if configured by instructor)
REQ-GRADE-001: Auto-Grading
Automatically grade MCQ, true/false, matching, and fill-in-the-blank questions instantly upon submission
REQ-GRADE-002: Manual Grading
Provide interface for instructors to manually grade essay, short answer, and coding questions
REQ-GRADE-003: Partial Credit
Support partial credit for multiple-choice questions and manual grading
REQ-GRADE-004: Grading Rubrics
Create and apply grading rubrics for essay and coding questions for consistent evaluation
REQ-GRADE-005: Feedback System
Instructors can provide detailed feedback on individual questions and overall assessment
REQ-PLAG-001: Text Comparison
Compare submitted text answers against existing submissions and external sources for similarity
REQ-PLAG-002: Code Plagiarism
Detect code similarity in programming assessments accounting for variable name changes
REQ-PLAG-003: Similarity Reports
Generate detailed similarity reports with percentage match and highlighted sections
REQ-PLAG-004: Proctoring Integration
Support integration with browser lockdown and proctoring tools for high-stakes assessments
REQ-ANALYTICS-001: Learner Performance
Track individual learner performance across attempts with score trends and time analysis
REQ-ANALYTICS-002: Question Analytics
Analyze question performance: difficulty, discrimination index, average score, completion rate
REQ-ANALYTICS-003: Assessment Statistics
Provide overall assessment statistics: average score, pass/fail rate, completion rate, distribution
REQ-ANALYTICS-004: Export Reports
Export assessment results and analytics to CSV, Excel, and PDF formats
REQ-PERF-001: Assessment Loading
Assessments must load within 300ms for learners taking tests
REQ-PERF-002: Auto-Grading Speed
Objective questions must be graded within 200ms of submission
REQ-PERF-003: Concurrent Test Takers
System must support 10,000+ concurrent learners taking assessments simultaneously
REQ-PERF-004: Plagiarism Check Performance
Plagiarism detection must complete within 5 seconds for text up to 5000 words
REQ-SCALE-001: Question Bank Size
Support question banks with 100,000+ questions per organization without degradation
REQ-SCALE-002: Assessment Attempts
Handle millions of assessment attempts with efficient storage and retrieval
REQ-SCALE-003: Multi-Tenant Scaling
Efficiently support 1,000+ organizations with isolated assessment data
REQ-SEC-001: Answer Security
Correct answers must never be exposed to learners before or during assessment
REQ-SEC-002: Data Encryption
Encrypt sensitive assessment data at rest and in transit
REQ-SEC-003: Access Control
Enforce role-based access control for creating, viewing, and grading assessments
REQ-SEC-004: Audit Trail
Log all assessment activities including creation, attempts, grading, and modifications
REQ-AVAIL-001: Service Uptime
Service must maintain 99.9% uptime for high-stakes assessments
REQ-AVAIL-002: Data Backup
Automatic backup of assessment attempts every 30 seconds during active sessions
REQ-AVAIL-003: Disaster Recovery
Recovery Point Objective (RPO) of 5 minutes and Recovery Time Objective (RTO) of 1 hour
REQ-INT-001: User Service Integration
Validate learner and instructor IDs against User Management Service
REQ-INT-002: Course Service Integration
Link assessments to specific courses and lessons in Course Management Service
REQ-INT-003: Content Delivery Integration
Store and retrieve media files (images, videos) used in questions via Content Delivery Service
REQ-INT-004: Analytics Integration
Send assessment attempt and grading data to Analytics Service for reporting
REQ-INT-005: Notification Integration
Trigger notifications for grading completion, feedback availability, and deadline reminders
REQ-INT-006: Certificate Integration
Trigger certificate generation when learner passes assessment with required score
Use the Database Design page to validate that all requirements are properly implemented in the data model. Cross-reference each requirement ID with corresponding database tables, columns, and constraints.
Review Database Design