0% found this document useful (0 votes)
10 views7 pages

Product Requirements Document (PRD)

QuizGenie is a full-stack quiz web application that utilizes AI to auto-generate MCQ quizzes based on user-defined syllabi, offering personalized study materials and tracking user progress. The platform targets students aged 15-30 and includes features such as user authentication, quiz management, admin controls, and gamification elements like leaderboards. The tech stack comprises MERN technologies and Groq API for AI functionalities, with a focus on fast loading times and secure, scalable design.

Uploaded by

parag4053
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views7 pages

Product Requirements Document (PRD)

QuizGenie is a full-stack quiz web application that utilizes AI to auto-generate MCQ quizzes based on user-defined syllabi, offering personalized study materials and tracking user progress. The platform targets students aged 15-30 and includes features such as user authentication, quiz management, admin controls, and gamification elements like leaderboards. The tech stack comprises MERN technologies and Groq API for AI functionalities, with a focus on fast loading times and secure, scalable design.

Uploaded by

parag4053
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Product Requirements Document (PRD)

Project Name: QuizGenie


Author: Abhinandan
Tech Stack: MERN + Groq API (Mixtral AI)

1. Overview

QuizGenie is a full-stack quiz web app that allows users to take topic-based MCQ quizzes generated
from a given syllabus using AI (Groq’s Mixtral model). It provides auto-generated quizzes, result-based
personalized study material in Hindi or English, and tracks user improvement over time.

2. Goals

• Auto-generate quizzes from plain syllabus (no manual question entry).


• Personalize improvement plans based on quiz results.
• Offer study material in English or Hindi based on user preference.
• Enable admin control over quiz content, users, and AI-generated content.
• Include gamified features like leaderboards, email reminders, and quiz timers.

3. Target Users

• Students preparing topics like HTML, CSS, JS, etc.


• Age: 15–30
• Language: UI in English, Study material in Hindi/English
• Platforms: Mobile + Desktop Web

4. Features & Functional Requirements

4.1 Authentication & User Management

Feature Description

Register/Login With email & password (JWT auth)

Forgot Password Email with OTP or reset link

Block/Unblock Admin control over user access

Roles User / Admin (Role-based access)

4.2 Quiz Experience (User)

Feature Description

Category Selection Select topics like HTML, CSS, JS

Quiz Generation 30 questions: max 2 per heading, randomly from 1000+ MCQs
Feature Description

Timer Configurable quiz timer (optional by admin)

Submit Quiz Submit answers and receive detailed results

Question Navigation Next, Previous, Flag for Review

Final Button "Submit Quiz" when all answered or time ends

4.3 Result & Improvement

Feature Description

Detailed Result Total Score, Correct/Wrong, Topic-wise analysis

Feedback Topic-wise performance chart

Suggest to Study Show: "Want to study this topic? → YES / NO"

Language Choice If YES, ask for Hindi or English

Show Study Material Based on user language + weak topics

Save Progress Save which topics user viewed or skipped

4.4 AI Integration (Groq - Mixtral)

Feature Description

Syllabus Upload Accept plain syllabus as text

Topic Extraction AI parses heading and subheadings

MCQ Generation AI generates 5–7 subtopics per heading, 1000+ MCQs per subject

Study Material AI generates topic-wise content in Hindi & English

Admin Control All AI tasks monitored and editable by admin

4.5 Admin Panel

Feature Description

User List View users with quiz history & performance

Block/Unblock Toggle user access

Category CRUD Add/Edit/Delete subject categories

Syllabus Upload Upload syllabus manually or AI-based parsing

MCQ CRUD Add/Edit/Delete or Bulk Upload MCQs

Study Material Upload Upload or edit Hindi/English material

Quiz History See who attempted what and scores


Feature Description

AI Logs Monitor auto-generation attempts (retry/edit failed ones)

Stats Dashboard Track usage, attempts, average scores

4.6 Bonus Features

Feature Description

Leaderboard Based on scores (daily, weekly, monthly)

Shareable Quiz Links Generate short URL to share quiz

Email Reminders Notify inactive users to study/take quiz

Resume Incomplete Quiz Let user resume a quiz in progress

Bookmark Questions Save tough questions for later review

Certificate Generator Optional feature for completed quizzes

5. Tech Stack

Layer Technology

Frontend React.js, Tailwind CSS, React Router, Recharts

Backend Node.js, Express.js

DB MongoDB (Mongoose ODM)

Auth JWT + bcrypt

AI API Groq API (Mixtral 8x7B)

Hosting Vercel (Frontend), Render/ Railway (Backend)

Email Nodemailer

File Uploads Cloudinary / S3 (optional)

Charts Recharts / Chart.js

6. File & Folder Structure

client/
├── public/
│ └── index.html

├── src/
│ ├── assets/ # Images, logos, SVGs
│ │ └── icons/
│ │ └── illustrations/

│ ├── components/ # Reusable components
│ │ ├── Button.jsx
│ │ ├── Input.jsx
│ │ └── Loader.jsx

│ ├── features/ # Feature-wise pages + logic
│ │ ├── auth/ # Login, register
│ │ │ └── Login.jsx
│ │ │ └── Register.jsx
│ │ ├── quiz/ # Quiz Start, Attempt, Result
│ │ ├── dashboard/ # User dashboard
│ │ ├── admin/ # Admin panel
│ │ └── common/ # Shared views

│ ├── context/ # Global Contexts (React Context API)
│ │ ├── AuthContext.jsx
│ │ └── ThemeContext.jsx

│ ├── hooks/ # Custom Hooks
│ │ ├── useAuth.js
│ │ ├── useQuiz.js
│ │ └── useDebounce.js

│ ├── layouts/ # Page layouts
│ │ ├── MainLayout.jsx
│ │ ├── AdminLayout.jsx
│ │ └── AuthLayout.jsx

│ ├── routes/ # React Router DOM config
│ │ └── AppRoutes.jsx

│ ├── services/ # API services via Axios
│ │ ├── api.js # Axios instance
│ │ ├── auth.js
│ │ ├── quiz.js
│ │ └── admin.js

│ ├── utils/ # Helper functions
│ │ ├── formatter.js
│ │ ├── constants.js
│ │ ├── validators.js
│ │ └── chartConfig.js

│ ├── pages/ # Final routed page components
│ │ └── Home.jsx
│ │ └── About.jsx
│ │ └── NotFound.jsx

│ ├── styles/ # Tailwind and custom CSS
│ │ ├── index.css
│ │ └── theme.css

│ ├── App.jsx
│ ├── main.jsx
│ └── .prettierrc

├── tailwind.config.js
├── postcss.config.js
├── vite.config.js
├── package.json
└── .env

server/
├── config/
│ ├── db.js # MongoDB connection
│ └── groqClient.js # Groq API setup
├── controllers/ # Route logic
│ ├── auth.controller.js
│ ├── quiz.controller.js
│ ├── admin.controller.js
│ └── ai.controller.js
├── middlewares/
│ ├── auth.middleware.js # JWT check
│ ├── asyncHandler.js # Catch async errors
│ ├── error.middleware.js # Global error handler
│ └── validate.middleware.js # Request body validator
├── models/
│ ├── User.model.js
│ ├── Quiz.model.js
│ ├── Category.model.js
│ ├── MCQ.model.js
│ ├── StudyMaterial.model.js
│ ├── Syllabus.model.js
│ └── Report.model.js
├── routes/
│ ├── auth.routes.js
│ ├── quiz.routes.js
│ ├── admin.routes.js
│ ├── ai.routes.js
│ └── index.js # Combine all routes
├── utils/
│ ├── apiResponse.js # Success/failure standard format
│ ├── apiError.js # Custom APIError class
│ ├── constants.js # Role, status, enums
│ ├── mailer.js # NodeMailer for emails
│ ├── groq.helper.js # Interact with Groq AI
│ └── logger.js # Optional: Winston logger setup
├── validators/
│ ├── auth.validator.js
│ ├── quiz.validator.js
│ └── admin.validator.js
├── .env
├── .prettierrc
├── app.js
├── server.js
├── package.json
└── README.md

7. API Integrations

API Use

Groq API (Mixtral) Topic extraction, MCQ generation, Study material

NodeMailer Password reset, reminders

MongoDB Store user, quiz, syllabus, study data

8. Non-Functional Requirements

• Fast loading time (<2s for main pages)


• Secure endpoints & role-based access
• Scalable MCQ and user base
• Mobile-responsive UI
• SEO-friendly landing pages

9. Testing Strategy

Layer Tools

Unit Testing Jest

API Testing Postman

UI Testing React Testing Library

Manual Testing Before deployment (Admin, Quiz, Auth flows)

10. Timeline (Suggestive Phase)

Phase Task

Phase 1 PRD, Wireframes, Tech Setup

Phase 2 Auth + Admin Panel + Category & Syllabus Upload

Phase 3 AI Integration (Syllabus → Quiz + Study Material)

Phase 4 User Quiz Panel + Result System

Phase 5 Bonus Features + Polish

Phase 6 Testing + Deployment

You might also like