A dynamic quiz system that adjusts question difficulty based on user performance, stores history, and visualizes learning progress using analytics.
- Difficulty changes after every answer.
- Ability score updates based on correctness and previous difficulty.
- No fixed order — every user gets a unique adaptive learning path.
- Questions stored with:
- Difficulty level (Easy / Medium / Hard)
- Topic tags
- Correct answer + multiple choices
Tracks and displays:
- Attempts in the last 7 days
- Difficulty progression curve
- Score improvement rate
- Accuracy over time
- Data stored locally per user
- Resume incomplete quizzes
- History preserved across sessions
| Component | Technology |
|---|---|
| Frontend | HTML, CSS, JavaScript (ES6) |
| Data Storage | LocalStorage |
| Charts | Chart.js |
| Version Control | Git & GitHub |
- User logs in.
- System starts with a neutral ability level (0).
- First question selected from medium difficulty.
- After each answer:
If Correct → increase difficulty If Wrong → decrease difficulty Ability Score updates
- Results are saved.
- Analytics update automatically.
((LatestScore - FirstScore)
- Filters stored timestamps
- Generates graph using Chart.js
- Firebase authentication & cloud storage
- Topic-wise mastery analytics
- Admin item-bank dashboard
- Leaderboards and gamification
- AI-based item generation
https://atharrva01.github.io/QuizSense/
This project is for academic and research purposes.