A powerful AI-powered educational tutoring system that helps students learn and understand various topics through interactive sessions.
- Overview
- Features
- Tech Stack
- Project Structure
- Getting Started
- Environment Variables
- API Documentation
- Deployment
AI Tutor is an educational platform that leverages artificial intelligence to provide personalized tutoring experiences. The application consists of a modern frontend built with React and a robust backend powered by FastAPI.
- 🔐 Secure authentication with JWT and Google OAuth
- 🤖 AI-powered tutoring sessions
- 📝 Document analysis and assistance
- 💬 Interactive learning experience
- 📱 Responsive design for all devices
- 🔄 Real-time updates and caching
- ⚛️ React.js
- 🎨 Tailwind CSS
- 🔄 Redux for state management
- 📱 Responsive design
- 🔒 JWT authentication
- 🐍 Python
- ⚡ FastAPI
- 🗄️ SQLAlchemy
- 🔐 JWT & OAuth2
- 🤖 Google Gemini AI
- 📦 PostgreSQL
ai-tutor/
├── frontend/ # Frontend React application
│ ├── public/ # Static files
│ ├── src/ # Source files
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ ├── store/ # Redux store
│ │ └── utils/ # Utility functions
│ └── package.json # Frontend dependencies
│
└── backend/ # Backend FastAPI application
├── alembic/ # Database migrations
├── migrations/ # Migration versions
├── app.py # Main application file
├── models.py # Database models
├── schemas.py # Pydantic schemas
├── database.py # Database configuration
└── requirements.txt # Backend dependencies
- Node.js (v14 or higher)
- Python (v3.8 or higher)
- PostgreSQL
cd frontend
npm install
npm startcd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app:app --reloadREACT_APP_API_URL=http://localhost:8000
REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id
DATABASE_URL=postgresql://user:password@localhost:5432/ai_tutor
SECRET_KEY=your_secret_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GEMINI_API_KEY=your_gemini_api_key
FRONTEND_URL=http://localhost:3000
The API documentation is available at /docs when running the backend server. Key endpoints include:
- 🔐
/token- Authentication endpoint - 👤
/users/me- Get current user info - 🎓
/tutor- AI tutoring endpoint - 📤
/upload- Document upload and analysis - 🔍
/health- Health check endpoint
cd frontend
vercelcd backend
# Configure your production environment variables
uvicorn app:app --host 0.0.0.0 --port 8000This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.