GrishaSethi/EduBot

EduBot : an AI-powered interactive learning assistant built as part of the Intel Unnati program. Provides real-time, personalized answers and study support using LLM-based knowledge querying and tutoring.

JavaScript

0

19 commits

updated Jul 12, 2025

See the code

README

๐ŸŽ“ EduBot - AI-Powered Educational Assistant

Intel Unnati Project - Revolutionizing Learning Through Interactive AI

Node.js React Express Tailwind CSS Gemini AI


๐ŸŒŸ About Intel Unnati

Intel Unnati is a transformative initiative aimed at democratizing education through cutting-edge AI technology. This project represents our commitment to making learning accessible, engaging, and personalized for students worldwide.

๐ŸŽฏ Project Vision

  • Democratizing Education: Making quality education accessible to all
  • AI-Powered Learning: Leveraging artificial intelligence for personalized learning experiences
  • Interactive Engagement: Creating immersive and fun learning environments
  • Skill Development: Fostering critical thinking and problem-solving skills

๐Ÿš€ Features

๐Ÿ“š Smart Quiz Generation

  • AI-Powered Questions: Generate quizzes on any topic using Gemini AI
  • Difficulty Levels: Choose from Easy ๐Ÿ˜Š, Medium ๐Ÿค”, or Hard ๐Ÿง 
  • Customizable: Set number of questions (1-20)
  • Real-time Generation: Instant quiz creation with detailed explanations

๐ŸŽฎ Interactive Learning Experience

  • Power-ups System:
    • ๐Ÿ’ก Hints: Get helpful clues (3 per quiz)
    • ๐ŸŽฏ 50/50: Eliminate two wrong answers
    • โญ๏ธ Skip: Skip difficult questions
  • Visual Feedback: Beautiful animations and progress indicators
  • Achievement System: Unlock badges and track progress

๐Ÿค– AI Learning Assistant

  • 24/7 Support: Get help anytime with the integrated chatbot
  • Voice Interaction: Speak to the AI assistant
  • Text-to-Speech: Listen to AI responses
  • Smart Suggestions: Get related topics and examples
  • Markdown Support: Rich formatting for better understanding

๐Ÿ† Gamification Elements

  • Achievement Badges:
    • ๐Ÿฅ‡ First Quiz Completion
    • ๐Ÿง  Perfect Score
    • ๐Ÿ’ก No Hints Used
  • Performance Tracking: Monitor learning progress
  • Progress Visualization: Beautiful charts and statistics

๐ŸŽจ Modern UI/UX

  • Glassmorphism Design: Modern glass-like interface
  • Animated Elements: Smooth transitions and micro-interactions
  • Responsive Design: Works on all devices
  • Dark/Light Theme: Comfortable viewing experience
  • Accessibility: Inclusive design for all users

๐Ÿ› ๏ธ Technology Stack

Frontend

  • โš›๏ธ React 18 - Modern UI framework
  • ๐ŸŽจ Tailwind CSS - Utility-first CSS framework
  • ๐Ÿš€ Vite - Fast build tool
  • ๐Ÿ“ฑ Responsive Design - Mobile-first approach

Backend

  • ๐ŸŸข Node.js - JavaScript runtime
  • ๐Ÿš‚ Express.js - Web application framework
  • ๐Ÿ”„ Nodemon - Development server
  • ๐Ÿ”’ CORS - Cross-origin resource sharing

AI Integration

  • ๐Ÿค– Google Gemini AI - Advanced language model
  • ๐Ÿ”‘ API Integration - RESTful API endpoints
  • ๐Ÿ“ Prompt Engineering - Optimized AI prompts

Development Tools

  • ๐Ÿ“ฆ npm - Package manager
  • ๐Ÿ” ESLint - Code quality
  • ๐ŸŽฏ TypeScript - Type safety (optional)

๐Ÿ“ฆ Installation & Setup

Prerequisites

  • Node.js (v18 or higher)
  • npm (v8 or higher)
  • Google Gemini API key

1. Clone the Repository

git clone https://github.com/GrishaSethi/EduBot.git
cd edubot-intel-unnati

2. Install Dependencies

Backend Setup

npm install

Frontend Setup

cd frontend
npm install
cd ..

3. Environment Configuration

Create a .env file in the root directory:

GEMINI_API_KEY=your_gemini_api_key_here

Get your Gemini API key:

  1. Visit Google AI Studio
  2. Create a new API key
  3. Copy and paste it in the .env file

4. Start the Application

Start Backend Server

npm run dev

Backend will run on: http://localhost:5001

Start Frontend Server (in a new terminal)

cd frontend
npm run dev

Frontend will run on: http://localhost:5173

5. Access the Application

Open your browser and navigate to: http://localhost:5173


Project Assets

๐Ÿ—๏ธ Project Structure

quiz+chatbot/
โ”œโ”€โ”€ ๐Ÿ“ frontend/                 # React frontend application
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/       # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŽฏ QuizForm.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ QuizDisplay.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿค– Chatbot.jsx
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ† Achievements.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ utils/           # Utility functions
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ contexts/        # React contexts
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ styles/          # CSS styles
โ”‚   โ””โ”€โ”€ ๐Ÿ“ public/              # Static assets
โ”œโ”€โ”€ ๐Ÿ“ routes/                  # Express.js routes
โ”‚   โ”œโ”€โ”€ ๐ŸŽฏ quiz.js             # Quiz generation endpoints
โ”‚   โ””โ”€โ”€ ๐Ÿค– chatbot.js          # Chatbot endpoints
โ”œโ”€โ”€ ๐Ÿ“ utils/                   # Backend utilities
โ”‚   โ””โ”€โ”€ ๐Ÿ“ generatePrompt.js   # AI prompt generation
โ”œโ”€โ”€ ๐Ÿš€ index.js                # Main server file
โ””โ”€โ”€ ๐Ÿ“‹ package.json            # Project dependencies

๐Ÿ”ง API Endpoints

Quiz Generation

POST /api/generate-quiz
Content-Type: application/json

{
  "topic": "Quantum Physics",
  "numQuestions": 5,
  "difficulty": "medium"
}

Chatbot

POST /api/chatbot
Content-Type: application/json

{
  "message": "Explain photosynthesis"
}

๐ŸŽจ Customization

Styling

  • Modify frontend/src/index.css for global styles
  • Update frontend/tailwind.config.js for theme customization
  • Edit component files for specific styling

AI Prompts

  • Customize prompts in utils/generatePrompt.js
  • Adjust chatbot behavior in routes/chatbot.js

Features

  • Add new power-ups in QuizDisplay.jsx
  • Create new achievements in utils/achievements.js
  • Extend API endpoints in route files

๐Ÿงช Testing

Backend Testing

# Test API endpoints
curl http://localhost:5001
curl -X POST http://localhost:5001/api/generate-quiz \
  -H "Content-Type: application/json" \
  -d '{"topic":"Math","numQuestions":3,"difficulty":"easy"}'

Frontend Testing

  • Open browser developer tools
  • Check console for errors
  • Test responsive design on different screen sizes

๐Ÿš€ Deployment

Backend Deployment

  1. Set up environment variables on your hosting platform
  2. Deploy to platforms like:
    • Heroku
    • Vercel
    • Railway
    • DigitalOcean

Frontend Deployment

  1. Build the project: npm run build
  2. Deploy to platforms like:
    • Vercel
    • Netlify
    • GitHub Pages

๐Ÿ™ Acknowledgments

  • Intel Unnati for the vision and support
  • Google Gemini AI for powerful AI capabilities
  • React & Express communities for amazing frameworks
  • Open Source Contributors for inspiration and tools

Happy Quizzing! ๐Ÿš€

GrishaSethi/EduBot

EduBot : an AI-powered interactive learning assistant built as part of the Intel Unnati program. Provides real-time, personalized answers and study support using LLM-based knowledge querying and tutoring.

JavaScript

0

19 commits

updated Jul 12, 2025

See the code

README

๐ŸŽ“ EduBot - AI-Powered Educational Assistant

Intel Unnati Project - Revolutionizing Learning Through Interactive AI

Node.js React Express Tailwind CSS Gemini AI


๐ŸŒŸ About Intel Unnati

Intel Unnati is a transformative initiative aimed at democratizing education through cutting-edge AI technology. This project represents our commitment to making learning accessible, engaging, and personalized for students worldwide.

๐ŸŽฏ Project Vision

  • Democratizing Education: Making quality education accessible to all
  • AI-Powered Learning: Leveraging artificial intelligence for personalized learning experiences
  • Interactive Engagement: Creating immersive and fun learning environments
  • Skill Development: Fostering critical thinking and problem-solving skills

๐Ÿš€ Features

๐Ÿ“š Smart Quiz Generation

  • AI-Powered Questions: Generate quizzes on any topic using Gemini AI
  • Difficulty Levels: Choose from Easy ๐Ÿ˜Š, Medium ๐Ÿค”, or Hard ๐Ÿง 
  • Customizable: Set number of questions (1-20)
  • Real-time Generation: Instant quiz creation with detailed explanations

๐ŸŽฎ Interactive Learning Experience

  • Power-ups System:
    • ๐Ÿ’ก Hints: Get helpful clues (3 per quiz)
    • ๐ŸŽฏ 50/50: Eliminate two wrong answers
    • โญ๏ธ Skip: Skip difficult questions
  • Visual Feedback: Beautiful animations and progress indicators
  • Achievement System: Unlock badges and track progress

๐Ÿค– AI Learning Assistant

  • 24/7 Support: Get help anytime with the integrated chatbot
  • Voice Interaction: Speak to the AI assistant
  • Text-to-Speech: Listen to AI responses
  • Smart Suggestions: Get related topics and examples
  • Markdown Support: Rich formatting for better understanding

๐Ÿ† Gamification Elements

  • Achievement Badges:
    • ๐Ÿฅ‡ First Quiz Completion
    • ๐Ÿง  Perfect Score
    • ๐Ÿ’ก No Hints Used
  • Performance Tracking: Monitor learning progress
  • Progress Visualization: Beautiful charts and statistics

๐ŸŽจ Modern UI/UX

  • Glassmorphism Design: Modern glass-like interface
  • Animated Elements: Smooth transitions and micro-interactions
  • Responsive Design: Works on all devices
  • Dark/Light Theme: Comfortable viewing experience
  • Accessibility: Inclusive design for all users

๐Ÿ› ๏ธ Technology Stack

Frontend

  • โš›๏ธ React 18 - Modern UI framework
  • ๐ŸŽจ Tailwind CSS - Utility-first CSS framework
  • ๐Ÿš€ Vite - Fast build tool
  • ๐Ÿ“ฑ Responsive Design - Mobile-first approach

Backend

  • ๐ŸŸข Node.js - JavaScript runtime
  • ๐Ÿš‚ Express.js - Web application framework
  • ๐Ÿ”„ Nodemon - Development server
  • ๐Ÿ”’ CORS - Cross-origin resource sharing

AI Integration

  • ๐Ÿค– Google Gemini AI - Advanced language model
  • ๐Ÿ”‘ API Integration - RESTful API endpoints
  • ๐Ÿ“ Prompt Engineering - Optimized AI prompts

Development Tools

  • ๐Ÿ“ฆ npm - Package manager
  • ๐Ÿ” ESLint - Code quality
  • ๐ŸŽฏ TypeScript - Type safety (optional)

๐Ÿ“ฆ Installation & Setup

Prerequisites

  • Node.js (v18 or higher)
  • npm (v8 or higher)
  • Google Gemini API key

1. Clone the Repository

git clone https://github.com/GrishaSethi/EduBot.git
cd edubot-intel-unnati

2. Install Dependencies

Backend Setup

npm install

Frontend Setup

cd frontend
npm install
cd ..

3. Environment Configuration

Create a .env file in the root directory:

GEMINI_API_KEY=your_gemini_api_key_here

Get your Gemini API key:

  1. Visit Google AI Studio
  2. Create a new API key
  3. Copy and paste it in the .env file

4. Start the Application

Start Backend Server

npm run dev

Backend will run on: http://localhost:5001

Start Frontend Server (in a new terminal)

cd frontend
npm run dev

Frontend will run on: http://localhost:5173

5. Access the Application

Open your browser and navigate to: http://localhost:5173


Project Assets

๐Ÿ—๏ธ Project Structure

quiz+chatbot/
โ”œโ”€โ”€ ๐Ÿ“ frontend/                 # React frontend application
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/       # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŽฏ QuizForm.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ QuizDisplay.jsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿค– Chatbot.jsx
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ† Achievements.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ utils/           # Utility functions
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ contexts/        # React contexts
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ styles/          # CSS styles
โ”‚   โ””โ”€โ”€ ๐Ÿ“ public/              # Static assets
โ”œโ”€โ”€ ๐Ÿ“ routes/                  # Express.js routes
โ”‚   โ”œโ”€โ”€ ๐ŸŽฏ quiz.js             # Quiz generation endpoints
โ”‚   โ””โ”€โ”€ ๐Ÿค– chatbot.js          # Chatbot endpoints
โ”œโ”€โ”€ ๐Ÿ“ utils/                   # Backend utilities
โ”‚   โ””โ”€โ”€ ๐Ÿ“ generatePrompt.js   # AI prompt generation
โ”œโ”€โ”€ ๐Ÿš€ index.js                # Main server file
โ””โ”€โ”€ ๐Ÿ“‹ package.json            # Project dependencies

๐Ÿ”ง API Endpoints

Quiz Generation

POST /api/generate-quiz
Content-Type: application/json

{
  "topic": "Quantum Physics",
  "numQuestions": 5,
  "difficulty": "medium"
}

Chatbot

POST /api/chatbot
Content-Type: application/json

{
  "message": "Explain photosynthesis"
}

๐ŸŽจ Customization

Styling

  • Modify frontend/src/index.css for global styles
  • Update frontend/tailwind.config.js for theme customization
  • Edit component files for specific styling

AI Prompts

  • Customize prompts in utils/generatePrompt.js
  • Adjust chatbot behavior in routes/chatbot.js

Features

  • Add new power-ups in QuizDisplay.jsx
  • Create new achievements in utils/achievements.js
  • Extend API endpoints in route files

๐Ÿงช Testing

Backend Testing

# Test API endpoints
curl http://localhost:5001
curl -X POST http://localhost:5001/api/generate-quiz \
  -H "Content-Type: application/json" \
  -d '{"topic":"Math","numQuestions":3,"difficulty":"easy"}'

Frontend Testing

  • Open browser developer tools
  • Check console for errors
  • Test responsive design on different screen sizes

๐Ÿš€ Deployment

Backend Deployment

  1. Set up environment variables on your hosting platform
  2. Deploy to platforms like:
    • Heroku
    • Vercel
    • Railway
    • DigitalOcean

Frontend Deployment

  1. Build the project: npm run build
  2. Deploy to platforms like:
    • Vercel
    • Netlify
    • GitHub Pages

๐Ÿ™ Acknowledgments

  • Intel Unnati for the vision and support
  • Google Gemini AI for powerful AI capabilities
  • React & Express communities for amazing frameworks
  • Open Source Contributors for inspiration and tools

Happy Quizzing! ๐Ÿš€