A comprehensive, intelligent educational platform designed to revolutionize exam preparation through adaptive learning, gamification, and advanced plagiarism detection.
Features โข Tech Stack โข Getting Started โข Documentation
- Overview
- Features
- Tech Stack
- Getting Started
- Project Structure
- Key Systems
- Documentation
- Contributing
- License
Edusmart+ is a next-generation educational platform that combines adaptive learning algorithms, comprehensive gamification, and intelligent plagiarism detection to create an engaging and effective learning environment for students preparing for competitive exams.
The platform supports multiple examination systems including GATE, JEE, CAT, NEET, and UPSC, providing students with personalized learning paths, real-time progress tracking, and competitive leaderboards.
- ๐ Adaptive Quiz System - Dynamic difficulty adjustment based on student performance
- ๐ Comprehensive Gamification - Streaks, badges, leaderboards, and progress tracking
- ๐ Advanced Plagiarism Detection - Multi-algorithm analysis for assignments
- ๐ Blog Platform - Educational content creation and sharing
- ๐ Analytics Dashboard - Detailed performance insights with interactive charts
- ๐ Firebase Authentication - Secure user management
- ๐ Dark Mode Support - Modern, accessible UI with theme switching
- Smart Question Selection - AI-driven adaptive difficulty based on student performance
- Rating System - Elo-inspired rating calculation for accurate skill assessment
- Category Progression - Dynamic categorization (Low โ Medium โ Best)
- Multiple Quiz Types - Full syllabus, subject-wise, and topic-wise tests
- Calibration Tests - Initial level assessment for personalized learning paths
- Streak Tracking - Daily quiz completion tracking with visual indicators
- 12 Unique Badges - Achievement system covering accuracy, speed, consistency, and improvement
- Multi-Criteria Leaderboards - Rank by score, accuracy, streak, or badges
- Progress Analytics - Interactive charts showing performance trends
- PDF Export - Professional progress reports with comprehensive statistics
- Multi-Algorithm Analysis - 6 text algorithms + 4 code-specific algorithms
- Assignment Management - Create, submit, and track assignments
- Side-by-Side Comparison - Visual highlighting of similar content
- Automated Flagging - Intelligent threshold-based detection (โฅ60% flagged)
- Comprehensive Reports - Detailed PDF reports with algorithm breakdowns
- GATE - Computer Science topics with 24 questions across 5 subjects
- JEE - Physics, Chemistry, Mathematics with 24 questions
- CAT - Quantitative Aptitude, Verbal Ability, Logical Reasoning
- NEET - Biology, Physics, Chemistry for medical entrance
- UPSC - Civil Services preparation materials
- Content Creation - Rich text editor for educational articles
- Category Management - Organized content by topics
- Reading Time Estimation - Automatic calculation
- Responsive Design - Mobile-friendly blog interface
- Modern UI/UX - Clean, intuitive interface built with shadcn/ui
- Dark Mode - System-aware theme switching
- Responsive Design - Optimized for desktop, tablet, and mobile
- Real-time Updates - Instant feedback and progress tracking
- Accessibility - WCAG compliant components
- React 18.3.1 - Modern UI library with hooks and concurrent features
- TypeScript 5.8.3 - Type-safe development
- Vite 5.4.19 - Lightning-fast build tool and dev server
- Tailwind CSS 3.4.17 - Utility-first CSS framework
- shadcn/ui - High-quality, accessible component library
- Radix UI - Unstyled, accessible component primitives
- Lucide React - Beautiful, consistent icon set
- Framer Motion 12.23.24 - Smooth animations and transitions
- React Query (TanStack Query) 5.83.0 - Server state management
- React Context API - Global state for auth and quiz data
- LocalStorage - Client-side data persistence
- React Router DOM 6.30.1 - Declarative routing
- Firebase 12.4.0 - Authentication and user management
- React Hook Form 7.61.1 - Performant form handling
- Zod 3.25.76 - TypeScript-first schema validation
- @hookform/resolvers - Form validation integration
- Recharts 2.15.4 - Composable charting library
- jsPDF 3.0.3 - PDF generation
- jspdf-autotable 5.0.2 - Table generation for PDFs
- ESLint 9.32.0 - Code linting
- TypeScript ESLint - TypeScript-specific linting rules
- Autoprefixer - CSS vendor prefixing
- PostCSS - CSS transformations
Ensure you have the following installed:
- Node.js - Version 18.x or higher
- npm - Version 9.x or higher (or yarn/pnpm)
- Git - For version control
- Clone the repository
git clone https://github.com/AvinashUmrao/edusmartPlus.git
cd edusmartPlus- Install dependencies
npm install- Configure Firebase (Optional - for authentication)
Create a .env file in the root directory:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id- Start the development server
npm run devThe application will be available at http://localhost:5173
- Build for production
npm run build- Preview production build
npm run preview# Start development server
npm run dev
# Build for production
npm run build
# Build for development (with source maps)
npm run build:dev
# Lint code
npm run lint
# Preview production build
npm run previewEdusmart+/
โโโ public/ # Static assets
โ โโโ favicon.ico
โ โโโ placeholder.svg
โ โโโ robots.txt
โ
โโโ src/
โ โโโ assets/ # Images and media files
โ โ โโโ blog-*.jpg # Blog post images
โ โ โโโ *.png # UI assets
โ โ
โ โโโ components/ # React components
โ โ โโโ blogs/ # Blog system components
โ โ โโโ exam/ # Exam preparation components
โ โ โโโ gamification/ # Badges, streaks, rewards
โ โ โโโ gate/ # GATE-specific components
โ โ โโโ home/ # Homepage components
โ โ โโโ layout/ # Layout components (Footer, etc.)
โ โ โโโ leaderboard/ # Leaderboard components
โ โ โโโ plagiarism/ # Plagiarism detection UI
โ โ โโโ progress/ # Progress tracking components
โ โ โโโ quiz/ # Quiz system components
โ โ โโโ ui/ # shadcn/ui components (50+ components)
โ โ
โ โโโ contexts/ # React Context providers
โ โ โโโ AuthContext.tsx # Authentication state
โ โ โโโ QuizContext.tsx # Quiz state management
โ โ
โ โโโ data/ # Static data and question banks
โ โ โโโ badges.ts # Badge definitions
โ โ โโโ jeeQuestionBank.ts # JEE questions
โ โ โโโ *.ts # Other data files
โ โ
โ โโโ lib/ # Utility functions and libraries
โ โ โโโ gamification.ts # Gamification logic
โ โ โโโ pdfGenerator.ts # PDF export functionality
โ โ โโโ plagiarismDetection.ts # Plagiarism algorithms
โ โ โโโ plagiarismStorage.ts # Storage utilities
โ โ โโโ utils.ts # General utilities
โ โ
โ โโโ pages/ # Page components (routes)
โ โ โโโ Home.tsx # Landing page
โ โ โโโ ExamPrep.tsx # Exam preparation hub
โ โ โโโ Gate.tsx # GATE preparation
โ โ โโโ GateQuiz.tsx # GATE quiz interface
โ โ โโโ Jee.tsx # JEE preparation
โ โ โโโ JeeQuiz.tsx # JEE quiz interface
โ โ โโโ Cat.tsx # CAT preparation
โ โ โโโ Neet.tsx # NEET preparation
โ โ โโโ Upsc.tsx # UPSC preparation
โ โ โโโ PlagiarismPage.tsx # Plagiarism detection
โ โ โโโ Blogs.tsx # Blog listing
โ โ โโโ CreateBlog.tsx # Blog creation
โ โ โโโ Auth.tsx # Authentication page
โ โ โโโ LeaderboardPage.tsx # Leaderboard
โ โ โโโ ProgressPage.tsx # Progress tracking
โ โ โโโ NotFound.tsx # 404 page
โ โ
โ โโโ types/ # TypeScript type definitions
โ โ โโโ plagiarism.ts # Plagiarism system types
โ โ
โ โโโ App.tsx # Main application component
โ โโโ main.tsx # Application entry point
โ โโโ index.css # Global styles
โ
โโโ dist/ # Production build output
โโโ .gitignore # Git ignore rules
โโโ package.json # Dependencies and scripts
โโโ tsconfig.json # TypeScript configuration
โโโ vite.config.ts # Vite configuration
โโโ tailwind.config.ts # Tailwind CSS configuration
โโโ postcss.config.js # PostCSS configuration
โโโ eslint.config.js # ESLint configuration
โโโ components.json # shadcn/ui configuration
โโโ README.md # This file
The adaptive quiz system uses an Elo-inspired rating algorithm to dynamically adjust question difficulty based on student performance:
- Rating Calculation: Students start at 300 rating and progress through Low (100-299), Medium (300-599), and Best (600+) categories
- Question Selection: Questions are selected based on current category and performance
- Performance Tracking: Detailed analytics track accuracy, time taken, and improvement over time
- Multiple Exam Types: Support for GATE, JEE, CAT, NEET, and UPSC with subject-specific question banks
Comprehensive gamification features to enhance student engagement:
Badges (12 types):
- โก Fast Learner - Complete 5 quizzes in a day
- ๐ Accuracy King/Queen - Achieve 90%+ accuracy
- ๐ฏ Perfect Score - Get 100% in any quiz
- ๐ฅ Comeback Champ - Improve by 30%+ after low score
- ๐ Streak Starter - Maintain 3-day streak
- ๐ช Week Warrior - Maintain 7-day streak
- ๐ Month Master - Maintain 30-day streak
- ๐ Speed Demon - Complete quiz in under 5 minutes
- ๐ Dedicated Learner - Complete 50 quizzes total
- ๐ Category Climber - Progress from Low to Best category
- ๐ฏ Consistent Performer - Maintain 75%+ accuracy over 10 quizzes
Leaderboard Features:
- Multi-criteria sorting (Score, Accuracy, Streak, Badges)
- Real-time updates after each quiz
- User position highlighting
- Top 3 special badges (Gold, Silver, Bronze)
Progress Tracking:
- Interactive charts (Line, Pie, Bar)
- Comprehensive statistics dashboard
- Quiz history with detailed logs
- Personalized improvement suggestions
- PDF export for progress reports
Advanced multi-algorithm plagiarism detection for both text and code:
Text Analysis Algorithms:
- Jaccard Similarity - Measures word set overlap
- Cosine Similarity - Calculates document vector angles
- TF-IDF - Weighs term importance across documents
- Levenshtein Distance - Character-level edit distance
- LCS (Longest Common Subsequence) - Finds matching sequences
- Semantic Similarity - Meaning-based similarity detection
Code-Specific Algorithms:
- AST Analysis - Analyzes code structure
- CFG Similarity - Compares program logic flow
- Winnowing Fingerprinting - Creates k-gram fingerprints
- Variable Renaming Detection - Identifies renamed variables
Features:
- Assignment creation and management
- Support for text, code, PDF, and image submissions
- Automated flagging (โฅ60% similarity)
- Side-by-side comparison with highlighting
- Comprehensive PDF reports
- Independent from gamification system
Detailed documentation is available for each major system:
- Adaptive Quiz System - Complete guide to the adaptive learning algorithm
- Gamification System - Badges, streaks, leaderboards, and progress tracking
- Plagiarism Detection - Multi-algorithm plagiarism detection system
- JEE System - JEE-specific quiz implementation
- GATE System - GATE quiz system details
- Blog System - Blog creation and management
- Quick Start Guide - Get started quickly
- Navigate to the exam preparation page (e.g.,
/gateor/jee) - Click on the "Quiz" tab
- Select quiz type (Full Syllabus, Subject-wise, or Topic-wise)
- Choose subject and topic (if applicable)
- Start the adaptive quiz
- Answer questions with real-time feedback
- View results with detailed analytics
- Check updated streak, badges, and leaderboard position
- Navigate to
/progress - View comprehensive statistics dashboard
- Analyze performance charts (accuracy trends, category distribution, subject performance)
- Review quiz history
- Read personalized improvement suggestions
- Export PDF report for offline viewing
For Teachers:
- Navigate to
/plagiarismand select "Teacher" role - Create assignments with detailed instructions
- View student submissions
- Run plagiarism analysis (requires โฅ2 submissions)
- Review flagged matches and algorithm breakdowns
- Download PDF reports
For Students:
- Navigate to
/plagiarismand select "Student" role - View available assignments
- Submit text or code answers
- Update submissions before deadline
- Track submission status
To enable authentication and data persistence:
- Create a Firebase project at Firebase Console
- Enable Authentication (Email/Password)
- Create a Firestore database
- Copy your Firebase config
- Create a
.envfile with your credentials (see Getting Started)
Theme Customization:
- Edit
tailwind.config.tsfor color schemes - Modify
src/index.cssfor global styles - Update
components.jsonfor shadcn/ui theme
Question Banks:
- Add questions to
src/data/jeeQuestionBank.tsor create new files - Follow the existing question format with difficulty levels
- Update subject and topic arrays
Gamification Settings:
- Modify badge criteria in
src/data/badges.ts - Adjust rating thresholds in
src/lib/gamification.ts - Customize streak requirements
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation as needed
- Ensure TypeScript types are properly defined
- Follow React best practices and hooks guidelines
- Use TypeScript for all new files
- Follow ESLint rules (run
npm run lint) - Use functional components with hooks
- Implement proper error handling
- Write reusable, modular components
Build Errors:
- Clear
node_modulesand reinstall:rm -rf node_modules package-lock.json && npm install - Ensure Node.js version is 18.x or higher
Firebase Authentication Issues:
- Verify
.envfile has correct Firebase credentials - Check Firebase console for enabled authentication methods
Quiz Not Loading:
- Check browser console for errors
- Verify question bank data is properly formatted
- Clear localStorage if needed
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- Bundle Size: Optimized with code splitting and lazy loading
- Load Time: < 2s on 3G networks
- Responsive: Fully responsive across all device sizes
- Firebase Authentication for secure user management
- Environment variables for sensitive data
- Client-side validation with Zod schemas
- Secure routing with protected routes
- XSS protection through React's built-in sanitization
This project is licensed under the MIT License.
MIT License
Copyright (c) 2025 Edusmart+
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- Avinash Umrao - @AvinashUmrao
This project was built using amazing open-source technologies:
- React - UI library
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS - Styling framework
- shadcn/ui - Component library
- Radix UI - Accessible primitives
- Lucide Icons - Icon library
- Recharts - Charting library
- Firebase - Backend services
- React Router - Routing
- React Query - Data fetching
- Framer Motion - Animations
For questions, issues, or feature requests:
- GitHub Issues: Create an issue
- Documentation: See the documentation section
- Mobile app (React Native)
- Real-time multiplayer quizzes
- AI-powered study recommendations
- Video lecture integration
- Discussion forums
- Mock test series
- Performance comparison with peers
- Integration with external plagiarism databases
- Advanced analytics dashboard for teachers
- Notification system for deadlines and achievements
If you find this project helpful, please consider:
- Giving it a โญ on GitHub
- Sharing it with fellow students and educators
- Contributing to the codebase
- Reporting bugs and suggesting features
Built with โค๏ธ for students, by students
Report Bug โข Request Feature โข Link