AI-powered personalised learning & career acceleration platform
A comprehensive full-stack educational platform that revolutionizes learning through artificial intelligence, offering personalized learning tools, beautiful responsive design, and seamless deployment across any platform.
- π€ Intelligent Doubt Solver - Context-aware chatbot with quick starter prompts, code syntax highlighting with copy-code feedback, and an integrated Text-to-Speech (TTS) speech reader.
- π Smart Quiz System - AI-generated personalized quizzes with automatic scoring, instant review, and history logs.
- π¨βπ« AI Tutor - Voice-enabled interactive conversational tutor with customizable speech synthesis (pitch slider, rate slider, system voices dropdown) and a pulsating audio wave recording visualizer.
- πΊοΈ Learning Roadmaps - Personalized career learning paths with interactive milestone tracking (completion checkboxes), progress bar cards, and persistent server-side MongoDB syncing.
- π¬ Visual Content Explorer - YouTube API integration for educational video discovery and embed previews.
- π Resume Analyzer - AI-powered resume feedback, scoring, and job role mapping with Cloudinary-backed PDF/TXT uploads, featuring a custom animated ATS Score circular gauge chart.
- π± Responsive Design - Mobile-first interface optimized for all screen sizes and devices.
- β‘ Lightning Fast - Powered by Vite build system with fast hot-reloading (HMR).
- π¨ Premium Light Mode Design - Refined, modern corporate educational theme with clean typography (Poppins/Inter), soft cards, elegant glassmorphic components, and elevation shadows. Locked to Light Mode to maximize visual accessibility.
- π₯ Hot Reload - Instant development feedback with Vite HMR.
- π Screen Fatigue Prevention - Smart break reminders with customizable timer reset.
- π Basic PWA - Offline support with network status alerts and background sync queueing.
- π Platform Agnostic - Fully compatible with Vercel serverless, AWS, Railway, Render, or local setups.
- π Serverless Ready - Optimized backend routing and modular Python handlers.
- π¦ Zero Configuration - Auto-resolves development vs production endpoints.
- π‘οΈ Production Grade - Secure API keys, input validation, and structured error boundaries.
- π Offline Access - Cached assets and local storage integration for resilient usability.
graph TB
subgraph "Frontend (React App)"
A[React App] --> B[Firebase Auth]
A --> C[TailwindCSS UI]
A --> D[Vite Build System]
C --> E[Radix UI Components]
end
subgraph "Backend (Flask API)"
F[Flask Server] --> G[AI Services]
F --> H[Database]
I[External APIs]
G --> J[Google Gemini]
H --> K[MongoDB]
P[YouTube API] --> Q[Video Discovery]
end
A -.-> F
D -.-> F
A -.-> P
Client (React App) β REST API (Flask) β AI Services (Gemini, MongoDB)
Edvanta provides a suite of AI-powered tools designed to make learning more interactive and personalized.
| Feature | Description | Interactive Capabilities | Status |
|---|---|---|---|
| Intelligent Chatbot | Doubt solving with session history | Quick starters, Code copy, Text-to-Speech (TTS) | β 10/10 Active |
| AI Tutor | Conversational tutor | Speech Rate/Pitch, Custom Voices, Audio Recording Wave | β 10/10 Active |
| Smart Quiz System | AI-generated quizzes & evaluation | Automatic grading, Interactive selection, History | β 10/10 Active |
| Learning Roadmaps | Personalized learning paths | Milestone checkboxes, Progress percentage bars, DB Sync | β 10/10 Active |
| Visual Content Explorer | YouTube video explorer | Video search, Modal player embed | β 10/10 Active |
| Resume Analyzer | AI-powered resume scanning | File upload, Animated ATS Score circular gauge, Job mapping | β 10/10 Active |
| Screen Fatigue | Eye strain prevention | Smart notifications, Break reminders | β 10/10 Active |
edvanta/
βββ assets/ # Global static assets (logo, branding images)
βββ docs/ # Project documentation (Setup, Contributing, License)
β βββ CONTRIBUTING.md # Rules and guidelines for contributors
β βββ LICENSE # Open-source license terms
β βββ SETUP.md # Step-by-step developer setup instructions
βββ client/ # React + Vite Frontend Application
β βββ src/
β β βββ components/ # Reusable UI components
β β β βββ Layout/ # Navigation (Navbar, Sidebar)
β β β βββ ui/ # Design system components
β β β βββ badge.jsx, button.jsx, card.jsx, input.jsx
β β β βββ progress.jsx, tabs.jsx
β β β βββ HeroSpline.jsx # 3D hero section
β β β βββ ScreenFatigueReminder.jsx # Break reminder system
β β β βββ PageTransition.jsx # Smooth page transitions
β β β βββ ScrollToTop.jsx # Auto-scroll component
β β β βββ OfflineIndicator.jsx # Network status indicator
β β β βββ custom-css/ # Custom CSS modules
β β βββ pages/ # Route-based page components
β β β βββ Home.jsx, Dashboard.jsx
β β β βββ auth/ # Login, Signup
β β β βββ tools/ # AI learning tools
β β β βββ ConversationalTutor.jsx # AI tutoring system
β β β βββ DoubtSolving.jsx # AI chatbot for Q&A
β β β βββ Quizzes.jsx # Quiz generation & scoring
β β β βββ Roadmap.jsx # Learning path generator
β β β βββ VisualContent.jsx # YouTube API video explorer
β β β βββ ResumeAnalysis.jsx # AI-powered resume analysis
β β βββ hooks/ # Custom React hooks
β β β βββ useAuth.js, useResponsive.js, helper.js
β β βββ lib/ # Core utilities
β β βββ api.js # Centralized API client
β β βββ firebase.js # Firebase configuration
β β βββ utils.js # Helper functions
β βββ public/ # Static assets
β β βββ manifest.json, edvanta-logo.png, default-avatar.svg
β βββ package.json, vite.config.ts, tailwind.config.js
β βββ .env.example # Environment template with full docs
βββ server/ # Flask Backend API
βββ api/
β βββ index.py # Vercel WSGI entry point
βββ app/
β βββ __init__.py # Application factory
β βββ config.py # Environment configuration
β βββ routes/
β β βββ __init__.py
β β βββ chatbot.py, quizzes.py, tutor.py
β β βββ roadmap.py, user_stats.py, resume.py
β βββ utils/ # Service integrations
β βββ ai_utils.py # Gemini AI integration
β βββ mongo_utils.py, quizzes_utils.py
βββ app.py # Local development entry point
βββ requirements.txt, runtime.txt, vercel.json
βββ .env.example # Environment template with full docs
If you want to get the app running locally quickly, this 2β5 minute flow will get both client and server started:
git clone https://github.com/tanish-jain-225/edvanta.git
cd edvanta
# start backend (in one terminal)
cd server && pip install -r requirements.txt && cp .env.example .env && python app.py
# start frontend (in another terminal)
cd client && npm install && cp .env.example .env && npm run devThe detailed step-by-step Quick Start is below this short guide.
- Node.js 18.0+ (for frontend)
- Python 3.10+ (for backend)
- MongoDB Atlas account (database)
- Google Gemini API key (AI features)
- Firebase project (authentication)
- YouTube Data API v3 key (visual content explorer)
git clone https://github.com/tanish-jain-225/edvanta.git
cd edvantacd server
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your credentials (see server/.env.example for detailed setup)
python app.pyBackend runs at: http://localhost:5000
cd client
npm install
cp .env.example .env
# Edit .env with your credentials (see Frontend Configuration)
npm run devFrontend runs at: http://localhost:5173
Both frontend and backend are production-ready for Vercel deployment:
Backend:
cd server
# Ensure all environment variables are configured
vercel --prodFrontend:
cd client
# Ensure all environment variables are configured
vercel --prodDeployment Requirements:
- β
Vercel configurations ready (
vercel.json) - β Environment variables properly structured
- β Dependencies optimized for serverless
- β Build scripts validated
The application auto-detects deployment environment and works on:
- AWS Lambda / Netlify / Google Cloud / Heroku / Railway
All environment variables are fully documented in .env.example files with setup guides.
Required: MongoDB URI, Gemini API Key
Optional: Secret Key, CORS settings
See server/.env.example for:
- Detailed setup instructions for each service
- Multiple naming convention support
- Troubleshooting guides
- Platform-specific deployment notes
Required: Firebase (6 vars), Backend URLs (2 vars), YouTube API
Optional: Environment override
See client/.env.example for:
- Step-by-step Firebase setup
- YouTube API key generation
- Development vs production mode
| Method | Endpoint | Description |
|---|---|---|
GET |
/ |
Health check & environment info |
GET |
/api/runtime-features |
Feature availability status |
GET |
/api/health |
Simple health check status |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/chat/message |
Send chat message to AI chatbot |
GET |
/api/chat/loadChat |
Load all chat sessions for a user |
POST |
/api/chat/createChat |
Create a new chat session |
PUT |
/api/chat/saveChat |
Save multiple chat sessions for a user |
PUT |
/api/chat/updateMessages/{session_id}/messages |
Update messages inside a chat session |
DELETE |
/api/chat/deleteChat/{session_id} |
Delete a chat session |
PATCH |
/api/chat/updateActivity/{session_id}/activity |
Update the last activity timestamp |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/quizzes/generate |
Generate AI quiz from topic |
POST |
/api/quizzes/submit |
Submit quiz answers for evaluation |
GET |
/api/tools/quizzes |
List saved quizzes for a user |
POST |
/api/tools/quizzes |
Save a quiz to database |
DELETE |
/api/tools/quizzes/{quiz_id} |
Delete a saved quiz by UUID |
GET |
/api/quiz-history |
Get quiz completion history |
POST |
/api/quiz-history |
Log quiz completion to history |
DELETE |
/api/quiz-history |
Clear quiz history for a user |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/tutor/ask |
Ask AI tutor a question |
POST |
/api/tutor/session/start |
Start tutor session with voice-aware init |
POST |
/api/tutor/session/end |
End active tutor session |
GET |
/api/tutor/session/active |
Get active tutor session status |
POST |
/api/tutor/voice/toggle |
Enable/disable voice response output |
GET |
/api/tutor/voice/connection |
Check voice connection status |
POST |
/api/tutor/voice/optimize |
Optimize text response for voice |
GET |
/api/tutor/chat/history |
Get pagination/filtered chat history |
POST |
/api/tutor/chat/clear |
Clear chat history for user |
GET |
/api/tutor/health |
Tutor health check |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/roadmap/generate |
Generate roadmap from goal/background |
GET |
/api/roadmap/user/{user_email} |
Get all roadmaps for a user |
GET |
/api/roadmap/{roadmap_id} |
Get specific roadmap details |
PUT |
/api/roadmap/{roadmap_id} |
Update roadmap milestones/progress |
DELETE |
/api/roadmap/{roadmap_id} |
Delete a roadmap |
GET |
/api/roadmap/download/{roadmap_id} |
Download roadmap as a PDF |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/user-stats |
Get user progress statistics |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/resume/analyze |
Upload resume (PDF/TXT) to Cloudinary and get Gemini AI feedback & analysis |
| Feature | Implementation | Description |
|---|---|---|
| YouTube Search | Client-side API | Search educational videos via YouTube Data API v3 |
| Video Preview | Embedded iframe | Preview videos with modal overlay |
| External Links | Direct navigation | Open videos in YouTube for full experience |
- React 18.3.1 - Modern React with hooks, Suspense, and concurrent features
- Vite 6.3.5 - Next-generation frontend build tool with HMR
- React Router DOM 7.8.0 - Declarative routing with nested route support
- TailwindCSS 4.1.12 - Utility-first CSS framework with JIT compiler
- Radix UI Components - Accessible, unstyled component primitives
- Lucide React 0.539.0 - Beautiful, customizable icon library
- Firebase 12.1.0 - Authentication and Firestore database
- Axios 1.11.0 - Promise-based HTTP client for API communication
- Flask 3.1.1 - Lightweight web framework
- Google Generative AI - Gemini API integration
- PyMongo 4.6.1 - MongoDB driver
- Google Gemini - AI content generation
- MongoDB Atlas - Cloud database
- Firebase - Authentication and real-time database
- YouTube Data API v3 - Educational video search and discovery
- Vercel - Serverless deployment platform
- Vite Build System - Lightning-fast development with HMR
- Code Splitting - Route-based lazy loading for optimal performance
- Tree Shaking - Optimized production builds with unused code elimination
- Modern Bundling - Efficient JavaScript chunks and asset optimization
- Service Worker - Intelligent caching for offline-first experience
- Offline Support - Full functionality without internet connection
- Background Sync - Automatic data synchronization when online
- Service Worker - Intelligent caching for offline-first experience
- Responsive Design - Mobile-first approach with TailwindCSS breakpoints
- Smooth Transitions - Page transitions and loading states
- Screen Fatigue Prevention - Smart break reminders with timer reset functionality
- Error Boundaries - Graceful error handling with user-friendly messages
- Offline Indicator - Real-time network status notifications
- Real-time Feedback - Live validation and instant UI updates
- Form Optimization - Debounced inputs and real-time validation
- Progressive Enhancement - Core functionality works without JavaScript
- Firebase Auth - Industry-standard authentication
- JWT Tokens - Secure session management
- Route Protection - Private route guards
- Role-based Access - Feature-level permissions
- Environment Variables - Secure credential management
- HTTPS Enforcement - Encrypted data transmission
- Input Validation - XSS and injection prevention
- CORS Configuration - Secure cross-origin requests
- Learning Progress - Quiz scores and completion rates
- Feature Usage - Tool adoption and engagement metrics
- Session Tracking - Time spent and interaction patterns
- Performance Metrics - Core Web Vitals and load times
- Vitest + JSDOM - Comprehensive frontend unit and component testing
- Pytest - Robust backend endpoint and logic validation
- GitHub Actions - Automated CI/CD pipeline for every commit
- Atomic Operations - Safe MongoDB updates with
$inc - Centralized API - Consistent error handling and network resilience
Contribution guidelines: See docs/CONTRIBUTING.md for detailed guidelines, testing rules, and PR process.
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Setup development environment (see Quick Start)
- Make changes following code style guidelines
- Test both frontend and backend thoroughly
- Commit with descriptive messages
- Push to feature branch
- Open Pull Request with detailed description
- Frontend: ESLint + Prettier, React best practices
- Backend: PEP 8, type hints where applicable
- Git: Conventional commits, feature branch workflow
- Testing: Unit tests for critical functionality
- Architecture: Keep components small and focused
- Fetching: Use the
edvantaAPIclient for all network requests - Testing: Follow the "10/10 quality" standard with JSDOM tests
- UI: Ensure mobile-first responsive design
- Accessibility: Write accessible code (WCAG compliance)
npm run dev # Start development server
npm run build # Build for production
npm run test # Run unit/component tests
npm run lint # Run ESLintpython app.py # Start development server
pytest # Run backend tests
pip install -r requirements.txt # Install dependenciesBackend Issues:
- MongoDB connection failed - Check
MONGODB_URI, verify network access in Atlas - Gemini API errors - Confirm valid
GEMINI_API_KEY, check quota (15 req/min free tier)
Frontend Issues:
- Firebase configuration invalid - Verify all 6
VITE_FIREBASE_*variables - API connection failed - Ensure backend is running, check
VITE_API_BASE_URL - YouTube API errors - Verify
VITE_YOUTUBE_API_KEY, check quota (100 req/day) - Vite build failed - Check TypeScript errors, verify TailwindCSS config
Detailed Troubleshooting: See server/.env.example and client/.env.example for comprehensive troubleshooting guides.
# Backend health
curl http://localhost:5000/
curl http://localhost:5000/api/runtime-features
# Frontend development server
npm run dev -- --debugPlanned items and improvements we plan to add (short-term and long-term):
- Improve conversational context with long-term memory and user profiling
- Add more fine-grained role-based access and admin dashboards
- Multi-language support and localization (i18n)
- CI/CD pipelines for automated tests and deployments (GitHub Actions)
- End-to-end tests and UX benchmarking
- Mobile app wrappers (Expo/React Native) and desktop builds
Contributions and suggestions welcome β please open an issue or a PR.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
| Parth Narkar | Tanish Sanghvi | Pankaj Gupta | Ayush Attarde |
- Documentation: Check individual README files in
client/andserver/ - Issues: Open GitHub issue with error details and environment info
- Health Checks: Use
/api/runtime-featuresto diagnose configuration - Community: Join our Discord for real-time support
π Built for the Future of Education
Edvanta combines cutting-edge AI technology with modern React development practices to create a scalable, accessible, and powerful learning platform that delivers exceptional user experiences across all devices.




