EduMate is a comprehensive educational website designed for students across different academic levels, featuring interactive animations, AI-powered learning, and personalized educational content.
- 6-10 Standards (Science): Physics, Chemistry, Biology, Mathematics
- JEE Preparation: Advanced Physics, Chemistry, Mathematics, Mock Tests
- Engineering: Computer Science and Information Technology courses
- π¬ Interactive Animations: Visual learning through animated concepts
- π€ AI-Powered Learning: Personalized explanations and assistance
- π Dark/Light Mode: Customizable theme with system preference detection
- π± Responsive Design: Works seamlessly on desktop, tablet, and mobile
- π€ User Authentication: Secure signup/login with session management
- π Progress Tracking: Monitor learning progress and time spent
- π API Integration: GeeksforGeeks, OpenAI, Khan Academy resources
- π Animated Character: Interactive learning assistant
- Python 3.8 or higher
- pip (Python package installer)
-
Clone the repository
git clone <repository-url> cd EduMate
-
Install dependencies
pip install -r requirements.txt
-
Run the Flask backend
python app.py
-
Open the website
- Navigate to
http://localhost:5000for the backend - Open
home.htmlin your browser for the main website
- Navigate to
EduMate/
βββ home.html # Main homepage
βββ login.html # User authentication
βββ standards.html # Educational standards page
βββ about.html # About us page
βββ contact.html # Contact page
βββ index.html # Animation interface
βββ app.py # Flask backend server
βββ requirements.txt # Python dependencies
βββ text_to_animation.py # AI animation generation
βββ README.md # This file
- Welcome section with feature highlights
- Educational standards preview
- User navigation and theme toggle
- Animated character assistant
- User registration with detailed forms
- Secure authentication system
- Social login options (Google, Facebook)
- Form validation and error handling
- 6-10 Standards: Science subjects for middle/high school
- JEE Preparation: Comprehensive exam preparation
- Engineering: Computer Science and IT branches
- API integration for external resources
- Company information and mission
- Team member profiles
- Statistics and achievements
- Contact information
- Contact form with validation
- FAQ section
- Social media links
- Business information
- Interactive concept animations
- Subject selection and navigation
- Progress tracking
- AI-powered explanations
The Flask backend (app.py) provides the following endpoints:
POST /api/register- User registrationPOST /api/login- User loginGET /api/user/<id>- Get user information
POST /api/progress- Update learning progressGET /api/progress/<user_id>- Get user progress
GET /api/geeksforgeeks/<topic>- GeeksforGeeks contentPOST /api/openai/explain- AI explanationsGET /api/khan_academy/<subject>- Khan Academy content
The website features an interactive animated character that:
- Provides learning assistance
- Helps navigate through subjects
- Explains complex concepts
- Responds to user interactions
- Automatic system preference detection
- Manual toggle in navigation
- Persistent theme selection
- Smooth transitions between themes
- Optimized colors for accessibility
:root {
--primary-color: #667eea;
--secondary-color: #764ba2;
--accent-color: #f093fb;
--text-dark: #2d3748;
--text-light: #718096;
--bg-light: #f7fafc;
--bg-dark: #1a202c;
--card-bg: #ffffff;
--border-color: #e2e8f0;
}The website is fully responsive with:
- Mobile-first approach
- Flexible grid layouts
- Touch-friendly interactions
- Optimized images and animations
- Cross-browser compatibility
- User fills out detailed registration form
- System validates email and phone number
- Password is securely hashed
- User data is stored in database
- JWT token is generated for session management
- User enters credentials
- System validates against database
- Session token is generated
- User data is stored in localStorage
- Automatic redirect to main application
The system tracks:
- Learning progress percentage
- Time spent on each topic
- Last accessed subjects
- Overall learning statistics
- Access to programming articles
- Algorithm explanations
- Code examples and tutorials
- AI-powered explanations
- Personalized learning assistance
- Concept clarification
- Educational video content
- Practice exercises
- Progress tracking
- Data Structures: Stack, Queue, Linked List
- Algorithms: Bubble Sort, Binary Search
- Mathematics: Geometric concepts, Functions
- Science: Physics simulations, Chemical reactions
- Step-by-step explanations
- Interactive controls (Play, Pause, Restart)
- Visual progress indicators
- Real-time concept demonstration
- Add animation data to
initializeAnimationData() - Create animation setup method
- Implement step execution logic
- Add visual styling for elements
- Update standards page with new subject
- Add subject-specific animations
- Create API endpoints for content
- Update navigation and routing
python app.py- Set up production database
- Configure environment variables
- Set up web server (nginx/Apache)
- Deploy to cloud platform (AWS, Heroku, etc.)
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For support and questions:
- Email: support@edumate.com
- Phone: +1 (555) 123-4567
- Website: Contact page for form submission
- Real-time collaboration features
- Advanced AI tutoring
- Mobile app development
- Offline learning capabilities
- Gamification elements
- Virtual reality integration
EduMate - Transforming education through interactive learning and AI-powered personalization.