A backend microservice that automatically generates educational quiz questions using AI. The system enables educators to create diverse, topic-specific questions with minimal effort, enhancing learning experiences through AI-assisted content creation.
Educators spend significant time creating quiz questions, which often leads to:
- Limited question variety
- Time constraints reducing question quality
- Difficulty creating questions at different difficulty levels
- Lack of explanation for correct answers
An automated system that:
- Generates questions in multiple formats (MCQ, True/False, Short Answer)
- Provides difficulty level customization
- Includes answer explanations
- Supports topic-based generation
- Ensures educational accuracy through AI
- Educators: Generate quiz questions for their courses
- Platform Administrators: Moderate and approve generated content
- Students (future): Take quizzes with AI-generated questions
- Backend: Java Spring Boot (REST APIs)
- AI Integration: HuggingFace Inference API
- Database: PostgreSQL (structured data) + Redis (caching)
- Security: JWT-based authentication with role-based access
- Documentation: OpenAPI/Swagger
-
Question Generation API
- Accepts: Topic, question count, difficulty level, question type
- Returns: Generated questions with options and correct answers
- Rate limiting: Max 20 questions per request
-
Question Management
- Store generated questions
- Approval workflow (pending → approved → archived)
- Search/filter by topic, difficulty, status
-
Security & Access Control
- JWT authentication
- Role-based permissions (Admin, Teacher, Student)
- Secure API key management via environment variables
-
Error Handling & Resilience
- Fallback question generation
- AI service failure handling
- Input validation
- Framework: Spring Boot 3.x with Spring Security
- Database: PostgreSQL with JPA/Hibernate
- Caching: Redis for rate limiting and session management
- API Client: Spring WebClient for HuggingFace API calls
- Documentation: OpenAPI 3.0 with Swagger UI
- Testing: JUnit 5, Mockito, Integration tests
- Question generation success rate: >90%
- Response time: <5 seconds per question
- API availability: 99.9%
- User satisfaction: >4/5 rating from educators
- Batch Processing: Generate questions in bulk for entire courses
- Quality Scoring: AI evaluates question quality
- Multi-language Support: Generate questions in different languages
- Analytics Dashboard: Track question usage and effectiveness
- Export Options: Export to various formats (JSON, CSV, Moodle XML)