A comprehensive React + FastAPI quiz system with AI-powered question generation, spaced repetition learning, and collaborative study features.
- AI Question Generation: Generate multiple-choice questions from lecture notes using vLLM with Qwen/Qwen2.5-Coder-3B-Instruct-AWQ
- Multiple Quiz Modes: Upload text files or generate questions from documents
- Personalized Feedback: AI-powered explanations for incorrect answers
- One-page Quiz Flow: Take entire quizzes on a single page with immediate scoring
-
📊 Quiz Dashboard with Analytics
- Comprehensive performance metrics and quiz statistics
- Real-time analytics with difficulty ratings and attempt tracking
- Visual progress indicators and performance trends
-
📈 Study Progress Tracking
- Weekly activity monitoring with detailed breakdowns
- Subject-specific performance analytics
- Study streak tracking and consistency metrics
- Goal setting and achievement tracking
-
⏱️ Timed Quiz Mode
- Configurable time limits (3-30 minutes)
- Real-time countdown timer with visual indicators
- Auto-submit when time expires
- Time pressure performance analytics
-
👥 Collaborative Study Sessions
- Create and join study rooms with unique codes
- Real-time participant management
- Synchronized quiz sessions with ready states
- Host controls for session management
-
🧠 Smart Review System with Spaced Repetition
- SM-2 algorithm implementation for optimal learning
- Personalized review scheduling based on performance
- Difficulty-based card management
- Long-term retention optimization
- React 19 with TypeScript
- Tailwind CSS for styling
- Vite for fast development
- shadcn/ui components
- Lucide React icons
- React Router for navigation
- FastAPI with Python 3.11
- SQLAlchemy ORM with SQLite
- vLLM for AI question generation
- Pydantic for data validation
- CORS middleware for cross-origin requests
Quiz,Question,Choice- Core quiz structureAttempt,AttemptAnswer- Quiz attempt trackingStudySession,QuizAnalytics- Progress trackingStudyRoom,StudyRoomParticipant- Collaborative featuresReviewCard,ReviewSession,ReviewResult- Spaced repetition
- Python 3.11+
- Node.js 18+
- CUDA-compatible GPU (for AI features)
cd backend
# Create conda environment
conda env create -f environment.yaml
conda activate quiz-app
# Run the server
python main.pyThe backend will be available at http://localhost:8000
cd frontend
# Install dependencies
npm install
# Start development server
npm run devThe frontend will be available at http://localhost:5173
- View comprehensive analytics and performance metrics
- Monitor study streaks and consistency
- Quick access to all features
- Upload lecture notes or text files
- Configure number of questions (1-20)
- AI generates contextual multiple-choice questions
- Get personalized feedback on incorrect answers
- Upload pre-formatted quiz files
- Support for text format with Q: and choice markers
- Immediate quiz creation and taking
- Select any existing quiz
- Choose time limit (3-30 minutes)
- Real-time countdown with auto-submit
- Performance tracking under time pressure
- Create study rooms with custom names and descriptions
- Share 6-character room codes with friends
- Wait for all participants to be ready
- Synchronized quiz sessions
- Add quizzes to your review deck
- SM-2 spaced repetition algorithm
- Review cards when due
- Rate difficulty to optimize scheduling
- Weekly activity charts
- Subject-specific performance analytics
- Study streak monitoring
- Goal achievement tracking
GET /api/quizzes- List all quizzesPOST /upload- Upload quiz filePOST /generate-questions- AI question generationPOST /generate-feedback- AI feedback generation
GET /api/dashboard/{user_id}- Dashboard statisticsGET /api/progress/{user_id}/weekly- Weekly progressGET /api/progress/{user_id}/subjects- Subject progressGET /api/progress/{user_id}/streaks- Study streaks
POST /api/study-rooms/create- Create study roomPOST /api/study-rooms/join- Join study roomGET /api/study-rooms/{room_id}- Get room detailsPOST /api/study-rooms/{room_id}/start- Start session
POST /api/review/add-cards- Add quiz to review deckGET /api/review/due-cards- Get cards due for reviewPOST /api/review/start-session- Start review sessionPOST /api/review/submit-result- Submit review resultGET /api/review/stats- Review statistics
-
Enhanced User Experience
- Modern, responsive UI with Tailwind CSS
- Intuitive navigation with clear visual feedback
- Real-time updates and progress indicators
-
Advanced Analytics
- Comprehensive performance tracking
- Visual charts and progress indicators
- Personalized insights and recommendations
-
Collaborative Learning
- Real-time study sessions with friends
- Synchronized quiz taking experience
- Social learning features
-
Scientific Learning Approach
- SM-2 spaced repetition algorithm
- Evidence-based review scheduling
- Long-term retention optimization
-
Scalable Architecture
- Modular component design
- RESTful API with proper data modeling
- Extensible database schema
- Real-time Chat: Add messaging to study rooms
- Advanced Analytics: Machine learning insights
- Mobile App: React Native implementation
- Gamification: Points, badges, and leaderboards
- Export Features: PDF reports and data export
- Integration: LMS and calendar integrations
This project is part of the VIP W-SB-Q-Stud group coursework.
Stashed changes