Quizzy is a platform that allows users to create, share, and answer quiz questions. Users can either write questions manually or generate them automatically with the help of integrated AI models. The system also supports automated grading and answer analysis.
Designed with modularity, extensibility, and scalability in mind, our long-term willing of the platform is to develop into a comprehensive online exam system that can be broadly used across educational institutions!
Name: Donovan Chen
Student number: 48756091
This system is designed to develop a quiz platform, allowing students to create quiz or test questions for other users to answer. With the rise of AI, the platform integrates AI-powered capabilities, enabling users to manually create questions or leverage AI for automatic question generation and grading.
Overall, the core features includes:
User Management
User Registration
User Login
User Administration (Admin Only)
Quiz Management
Create Quiz
Review, Approve, or Unpublish Quiz (Admin Only)
Quiz Administration (Admin Only)
Share Quiz via QR Code *
Question Management
Create Questions
Edit & Delete Questions
AI-Generated Questions
Answer & Analysis
Submit Answers
Track Answer History
AI-Basesd Answer Evaluation & Summary
Grading System
Multiple Grading Strategies
Generate Scoring Results
Set Question Scoring Rules
Framework: Vue 3
State Management: Vex or Pinia
HTTP Requests: Axios
UI Components: Arco Design
Authentication Handling: JWT-based authentication (stored in local storage)
Based on the core features and ensuring Minimum Viable Product (MVP) that introduced in functionality part, we designed the requirement analysis table below:
Module | Task | Priority | Description |
---|---|---|---|
System Design | Determine technology selection | P0 | Determine what technology stack should be used |
System Design | SQL table design | P0 | Design the database tables |
User Module | Register | P0 | Implement user registration function |
User Module | Login | P0 | Implement user login functionality |
User Module | Manage Users | P0 | Manage User(Admin only CRUD) |
Quiz Module | Create Quiz | P0 | Creator can create Quizs, input name, description, tags |
Quiz Module | Edit Quiz | P0 | Creator can modify Quizs |
Quiz Module | Delete Quiz | P1 | Creator can delete their created Quizs |
Quiz Module | View Quiz List | P1 | Users can view all Quizs |
Quiz Module | View Quiz Details | P1 | Users can click into an Quiz to view details |
Quiz Module | View Own Quizs | P1 | Creator can view their own created Quizs |
Quiz Module | Manage Quizs | P1 | Manage Quizs (Admin only CRUD) |
Quiz Module | Approve or Unpublish Quizs | P0 | Approve or unpublish Quizs (Admin only) |
Quiz Module | Share Quiz | P2 | Generate a QR code for Quiz sharing |
Question Module | Create Questions | P1 | Creator can create and provide correct answers |
Question Module | Edit Questions | P1 | Creator can edit existing questions |
Question Module | Delete Questions | P1 | Creator can delete their own questions |
Question Module | Manage Questions | P1 | Manage questions (Admin only CRUD) |
Question Module | AI-Generated Questions | P1 | AI auto-generates questions |
Answer & Analysis | Submit Answers | P0 | Users can submit their answers to quizzes. |
Answer & Analysis | Track Answer History | P1 | Users can view their answer history and past submissions. |
Answer & Analysis | AI-Based Answer Evaluation & Summary | P1 | AI evaluates answers and provides summary feedback. |
Answer & Analysis | Manage Answer | P1 | Manage users’ answer (Admin only CRUD) |
Grading Module | Configure Grading Strategies | P1 | Creator can define grading rules |
Grading Module | Generate Grading Results | P0 | System calculates grading results |
Grading Module | Create Grading Rules | P0 | Define multiple scoring strategies |
Grading Module | Manage Grading Rules | P1 | Manage grading rules(Admin only CRUD) |
Modularity refers to the degree to which a system’s components can be separated and recombined. It is crucial for maintaining, testing, and evolving the system efficiently. For this project, modularity ensures that each part of the system can be developed and maintained independently. This will be achieved through layered architectural patterns and possibly a microservices architecture as the system scales.
Extensibility is the system’s ability to incorporate new features or support future requirements without major changes to the existing codebase. Since online quiz systems often need to update, such as adding new types of questions, enabling adaptive quizzes. Extensibility is a key attribute.
Scalability refers to the system’s ability to handle increased loads, such as a large number of concurrent users during testing. It is essential for ensuring consistent performance under growing demand. As our ideally willing of this platform is to be an online exam platform, it must support horizontal scaling and efficient load balancing.
Modularity can be evaluated on multiple levels:
Extensibility reflects the system’s capability to evolve and support additional features in the future. In this proposal, we will evaluate whether the architecture is flexible enough to support future extensions, such as new quiz types, advanced analytics, or integration with third-party tools.
Ideally, the system can be scaled up to function as an official online examination platform. We will assess whether the system can handle a large number of concurrent users, such as during mass online assessments or university-wide exams.