- Features
- Demo
- Installation
- Usage
- Project Structure
- Tech Stack
- Contributing
- License
- Authors & Acknowledgements
- 🎓 Personalized AI Tutoring: Adaptive explanations tailored to subject, level, learning style, and language.
- 📝 Quiz Generation: Custom, interactive multiple-choice quizzes with answer reveal and explanations.
- 📄 PDF Upload & Analysis: Extracts content, generates summaries, and creates flashcards from study PDFs.
- 🃏 Flashcards: Auto-generated, topic-based flashcards for active recall.
- 💬 PDF Discussion Chat: Ask questions about your uploaded PDF and get AI-powered, content-specific answers.
- 🌐 Multi-language Support: English, Hindi, Spanish, French.
- 🧠 Learning Style Adaptation: Visual, Text-based, and Hands-on learning formats.
Live Demo: Streamlit Cloud Link
-
Clone the repository:
git clone https://github.com/yourusername/StudyGenie.git cd StudyGenie -
Install dependencies:
pip install -r requirements.txt
-
Set up environment:
- Create a
.envfile in the root directory. - Add your Google Gemini API key:
GEMINI_API_KEY=your-gemini-api-key
- Create a
-
Start the backend (FastAPI):
cd backend uvicorn main:app --reload -
Launch the frontend (Streamlit):
cd ../frontend streamlit run [app.py](http://_vscodecontentref_/0)
- Ask a Question:
Go to the "Ask a Question" tab, select your preferences, and get a personalized explanation. - Take a Quiz:
Generate and interact with quizzes on your chosen subject and level. - Upload PDF:
Upload study materials, get summaries, and auto-generated flashcards. - Flashcards:
Review and navigate through flashcards generated from your PDF. - Discuss:
Chat with the AI about your uploaded PDF content.
StudyGenie/
│
├── backend/
│ ├── ai_engine.py # AI logic, prompt engineering, quiz/flashcard generation
│ ├── main.py # FastAPI app, API endpoints
│ └── utils.py # Utility functions (if any)
│
├── frontend/
│ └── app.py # Streamlit UI
│
├── Images/
│ └── AITutor.png # App screenshot(s)
│
├── requirements.txt # Python dependencies
├── runtime.txt # Python version
├── .env.example # Example environment variables
├── .gitignore
└── README.md
- Frontend: Streamlit
- Backend: FastAPI
- AI/LLM: Google Gemini via LangChain
- PDF Processing: PyPDF2
- Data Validation: Pydantic
- API Server: Uvicorn
- Environment Management: python-dotenv
Contributions are welcome!
Please open issues or submit pull requests for improvements, bug fixes, or new features.
- Fork the repo and create your branch.
- Make your changes and add tests if applicable.
- Ensure code style and formatting.
- Submit a pull request with a clear description.
This project is licensed under the MIT License.
Made with ❤️ for learners everywhere!
