Skip to content
Β 
Β 

Latest commit

Β 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Edvanta

Edvanta

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.

License Version Deploy

🌟 Key Features

AI-Powered Learning Ecosystem

  • πŸ€– 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.

Modern React Application

  • πŸ“± 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.

Universal Deployment

  • 🌐 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.

πŸ—οΈ Architecture Overview

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
Loading

Client (React App) ↔ REST API (Flask) ↔ AI Services (Gemini, MongoDB)

🎯 Feature Showcase

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

πŸ“ Project Structure

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

πŸš€ Quick Start

Quick start (under 5 minutes)

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 dev

The detailed step-by-step Quick Start is below this short guide.

Prerequisites

  • 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)

πŸ–₯️ Local Development

1. Clone Repository

git clone https://github.com/tanish-jain-225/edvanta.git
cd edvanta

2. Setup Backend

cd server
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your credentials (see server/.env.example for detailed setup)
python app.py

Backend runs at: http://localhost:5000

3. Setup Frontend

cd client
npm install
cp .env.example .env
# Edit .env with your credentials (see Frontend Configuration)
npm run dev

Frontend runs at: http://localhost:5173

🌐 Production Deployment

Vercel (Recommended) - βœ… READY

Both frontend and backend are production-ready for Vercel deployment:

Backend:

cd server
# Ensure all environment variables are configured
vercel --prod

Frontend:

cd client
# Ensure all environment variables are configured
vercel --prod

Deployment Requirements:

  • βœ… Vercel configurations ready (vercel.json)
  • βœ… Environment variables properly structured
  • βœ… Dependencies optimized for serverless
  • βœ… Build scripts validated

Other Platforms

The application auto-detects deployment environment and works on:

  • AWS Lambda / Netlify / Google Cloud / Heroku / Railway

βš™οΈ Configuration

All environment variables are fully documented in .env.example files with setup guides.

πŸ”§ Backend Configuration (server/.env)

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

🎨 Frontend Configuration (client/.env)

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

πŸ”§ API Endpoints

Core Services

Method Endpoint Description
GET / Health check & environment info
GET /api/runtime-features Feature availability status
GET /api/health Simple health check status

AI Doubt Solving Chat

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

AI Quizzes

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

AI Tutor

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

Learning Roadmaps

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

User Analytics

Method Endpoint Description
GET /api/user-stats Get user progress statistics

Resume Analyzer

Method Endpoint Description
POST /api/resume/analyze Upload resume (PDF/TXT) to Cloudinary and get Gemini AI feedback & analysis

Visual Content (Client-Side Only)

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

πŸ› οΈ Technology Stack

React Vite TailwindCSS Flask Python MongoDB

🎨 Frontend Stack

  • 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

βš™οΈ Backend Stack

  • Flask 3.1.1 - Lightweight web framework
  • Google Generative AI - Gemini API integration
  • PyMongo 4.6.1 - MongoDB driver

πŸ—„οΈ External Services

  • 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

🎨 Modern React Features

πŸš€ Performance & Development

  • 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

πŸ“± Progressive Web App

  • Offline Support - Full functionality without internet connection
  • Background Sync - Automatic data synchronization when online
  • Service Worker - Intelligent caching for offline-first experience

πŸ“± User 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

⚑ Interactive Features

  • Real-time Feedback - Live validation and instant UI updates
  • Form Optimization - Debounced inputs and real-time validation
  • Progressive Enhancement - Core functionality works without JavaScript

πŸ” Security Features

πŸ›‘οΈ Authentication & Authorization

  • Firebase Auth - Industry-standard authentication
  • JWT Tokens - Secure session management
  • Route Protection - Private route guards
  • Role-based Access - Feature-level permissions

πŸ”’ Data Protection

  • Environment Variables - Secure credential management
  • HTTPS Enforcement - Encrypted data transmission
  • Input Validation - XSS and injection prevention
  • CORS Configuration - Secure cross-origin requests

πŸ“Š Monitoring & Analytics

🎯 User Analytics

  • 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

πŸ” Quality & Testing

  • 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

🀝 Contributing

Contribution guidelines: See docs/CONTRIBUTING.md for detailed guidelines, testing rules, and PR process.

Development Workflow

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Setup development environment (see Quick Start)
  4. Make changes following code style guidelines
  5. Test both frontend and backend thoroughly
  6. Commit with descriptive messages
  7. Push to feature branch
  8. Open Pull Request with detailed description

Code Style Guidelines

  • 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

Project Guidelines

  • Architecture: Keep components small and focused
  • Fetching: Use the edvantaAPI client 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)

πŸ“ Available Scripts

Frontend (client/)

npm run dev       # Start development server
npm run build     # Build for production
npm run test      # Run unit/component tests
npm run lint      # Run ESLint

Backend (server/)

python app.py                    # Start development server
pytest                           # Run backend tests
pip install -r requirements.txt  # Install dependencies

🚨 Troubleshooting

Common Issues

Backend 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.

Health Checks

# Backend health
curl http://localhost:5000/
curl http://localhost:5000/api/runtime-features

# Frontend development server
npm run dev -- --debug

πŸ›£οΈ Roadmap & Future Improvements

Planned 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.

Contributors

Parth Narkar Tanish Sanghvi Pankaj Gupta Ayush Attarde

πŸ†˜ Support

  • Documentation: Check individual README files in client/ and server/
  • Issues: Open GitHub issue with error details and environment info
  • Health Checks: Use /api/runtime-features to 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.

About

Edvanta is a comprehensive AI-driven learning and guidance platform that combines personalized education with cutting-edge technology to enhance the learning experience for students and professionals.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages