Skip to content

Latest commit

 

History

History
293 lines (232 loc) · 8.22 KB

File metadata and controls

293 lines (232 loc) · 8.22 KB

🎯 AptiFix - Project Summary

A comprehensive AI-powered MCQ practice platform for aptitude test preparation


📋 Project Overview

AptiFix is a free, full-featured MCQ practice platform designed to help students prepare for Round 1 aptitude tests in tech company placements. Built with React and powered by Google Gemini AI, it offers dynamic question generation, personalized learning, and comprehensive analytics.

🌐 Live URLs


✨ Complete Feature List

🎮 Practice Modes (6 Types)

Mode Description Location
Practice Customizable quizzes with category, count, timer /practice
Quick Quiz 5-question instant quizzes (Speed/Normal/Challenge/Survival) /quick-quiz
Mock Test Full-length timed tests (15-50 questions, 30-120 min) /mock-test
Daily Challenge Daily quizzes with bonus points & streaks /daily-challenge
Topic Practice Focused practice on specific topics /topic-practice
Company Practice Company-specific patterns (TCS, Infosys, etc.) /company-practice

🤖 AI Features

Feature Description
Dynamic Question Generation Fresh MCQs generated using Google Gemini AI
AI Tutor Chat-based personalized learning assistant
Smart Recommendations Topic suggestions based on weak areas
5-Model Fallback Automatic switching between AI models for reliability

AI Model Chain:

  1. gemini-2.0-flash (Primary)
  2. gemini-2.0-flash-lite
  3. gemma-3-4b-it
  4. gemma-3-1b-it
  5. gemini-2.5-flash-lite-preview-06-17

📊 Analytics & Tracking

Feature Charts/Metrics
Dashboard Performance trend line chart, stats cards, recent sessions
Analytics Page Area chart, Pie chart, Bar chart, Topic performance
Insights Weak topics, strong topics, improvement suggestions
History Complete session logs with filtering

🏆 Gamification

Feature Description
Leaderboard Global rankings with "All Time" and "This Week" views
Badges 12+ achievement badges (First Quiz, Streak Master, etc.)
Points System Earn points for correct answers, challenges, streaks
Streaks Daily practice streak tracking

📚 Learning Tools

Tool Description
Flashcards Topic-wise cards with flip animation, mastery tracking
Study Materials Formulas, concepts, tips for each topic
Bookmarks Save important questions for revision
Review Mistakes Practice previously wrong questions
Previous Papers 10+ previous year placement papers

🎨 User Experience

Feature Description
Dark Mode Full dark theme across all 21 pages
Responsive Desktop, tablet, mobile optimized
Settings Timer, notifications, sound, dark mode toggles
Google Sign-In One-click authentication

🛠 Tech Stack

Frontend

React 18.3.1        - UI Framework
Vite 5.4.2          - Build Tool & Dev Server
Tailwind CSS 3.4.17 - Utility-first CSS
React Router 7.1.1  - Client-side Routing
Recharts 2.15.0     - Charts & Visualizations
Lucide React 0.469.0 - Icon Library
Firebase 11.1.0     - Auth & Database SDK

Backend

Node.js             - JavaScript Runtime
Express 4.21.2      - Web Framework
@google/generative-ai 0.24.1 - Gemini AI SDK
CORS                - Cross-Origin Resource Sharing
dotenv              - Environment Variables

Infrastructure

Firebase Firestore  - NoSQL Document Database
Firebase Auth       - Google OAuth Provider
Vercel              - Frontend Hosting (Free)
Render              - Backend Hosting (Free)

📁 File Structure (21 Pages)

src/pages/
├── Home.jsx           # Landing page
├── Login.jsx          # Google authentication
├── Dashboard.jsx      # Main dashboard with stats
├── Practice.jsx       # Practice configuration
├── Quiz.jsx           # Quiz interface
├── Results.jsx        # Quiz results & review
├── QuickQuiz.jsx      # Quick quiz modes
├── MockTest.jsx       # Full mock test
├── DailyChallenge.jsx # Daily challenges
├── TopicPractice.jsx  # Topic-based practice
├── CompanyPractice.jsx # Company-specific
├── PreviousPapers.jsx # Previous papers
├── Leaderboard.jsx    # Rankings
├── Achievements.jsx   # Badges
├── Flashcards.jsx     # Study flashcards
├── StudyMaterials.jsx # Learning content
├── AiTutor.jsx        # AI assistant
├── Analytics.jsx      # Performance charts
├── Insights.jsx       # Performance insights
├── History.jsx        # Session history
├── Bookmarks.jsx      # Saved questions
├── ReviewMistakes.jsx # Wrong answers
└── Settings.jsx       # User preferences

📊 Database Schema (Firestore)

Collections

users/{userId}

{
  displayName: "Jeeva N",
  email: "user@gmail.com",
  photoURL: "https://...",
  points: 79,
  streak: 5,
  badges: ["first_quiz", "streak_3"],
  settings: { darkMode: true, timer: true }
}

sessions/{sessionId}

{
  userId: "abc123",
  category: "Quantitative Aptitude",
  totalAttempted: 10,
  correctAnswers: 7,
  completedAt: Timestamp,
  questions: [...]
}

leaderboard/{id}

{
  userId: "abc123",
  userName: "Jeeva N",
  photoURL: "https://...",
  score: 79,
  totalQuizzes: 5
}

🎯 Categories & Topics

Quantitative Aptitude

  • Number Systems, Percentages, Profit & Loss
  • Time & Work, Time Speed Distance
  • Probability, Permutation & Combination

Logical Reasoning

  • Puzzles, Coding-Decoding, Blood Relations
  • Syllogisms, Seating Arrangement, Direction Sense

Verbal Ability

  • Reading Comprehension, Grammar, Vocabulary
  • Para Jumbles, Sentence Correction

Technical

  • Data Structures, Algorithms, DBMS
  • Operating Systems, Computer Networks, OOP

🏢 Supported Companies

Company Pattern Duration Difficulty
TCS NQT 90 min Medium
Infosys InfyTQ 60 min Medium-Hard
Wipro NLTH 60 min Medium
Cognizant GenC 75 min Medium
Capgemini Game-based 60 min Medium
Accenture Mixed 90 min Medium
Amazon OA 120 min Hard
Google OA 90 min Very Hard

📈 Stats & Metrics

Metric Abbreviation Description
Questions Targeted QT Total questions in session
Total Attempted TA Questions answered
Accurate Questions AQ Correct answers
Accuracy % - (Correct / Attempted) × 100

🚀 Deployment

Frontend (Vercel)

  1. Connect GitHub repository
  2. Framework: Vite
  3. Build command: npm run build
  4. Output: dist
  5. Add environment variables

Backend (Render)

  1. Create Web Service
  2. Connect GitHub repository
  3. Build command: npm install
  4. Start command: node server.js
  5. Add GEMINI_API_KEY environment variable

👨‍💻 Developer

Jeeva N

  • GitHub: @jeeva5655
  • Project: MCQ Practice App (AptiFix)

📅 Development Timeline

Phase Features
Phase 1 Core quiz functionality, Firebase integration
Phase 2 AI question generation, Gemini integration
Phase 3 Gamification (leaderboard, badges, streaks)
Phase 4 Learning tools (flashcards, study materials)
Phase 5 Analytics, insights, AI tutor
Phase 6 Company practice, previous papers
Phase 7 Dark mode, UI polish

🎉 Key Achievements

  • ✅ 21 fully-functional pages
  • ✅ Complete dark mode support
  • ✅ AI-powered question generation
  • ✅ 5-model fallback for reliability
  • ✅ Real-time leaderboard
  • ✅ Comprehensive analytics
  • ✅ Mobile-responsive design
  • ✅ 100% free deployment

Made with ❤️ for placement preparation