A comprehensive AI-powered learning assistant that transforms PDF documents into interactive quizzes, flashcards, and study plans.
- Quiz Generator: Convert PDF documents into interactive quizzes for effective learning
- Flashcards: Create digital flashcards from your study materials
- Study Planner: Generate personalized study plans based on your content
- Responsive Design: Works seamlessly on desktop and mobile devices
- OpenAI Integration: Powered by GPT-4o for intelligent content analysis
- Frontend: React (v19), React Router, Tailwind CSS
- Backend: Spring Boot, Java 17
- AI Integration: OpenAI API
- PDF Processing: PDFBox, react-pdftotext
# Navigate to the frontend directory
cd frontend
# Install dependencies
npm install
# Create a .env file with your OpenAI API key
echo "VITE_REACT_APP_OPENAI_API_KEY=your_openai_api_key_here" > .env
# Start the development server
npm run dev# Navigate to the backend/apiWrapper directory
cd backend/apiWrapper
# Update the OpenAI API key in application.properties
# openai.api.key=your_openai_api_key
# Start the Spring Boot application
./mvnw spring-boot:run- Launch the application and navigate to the home page
- Choose one of the three main features:
- Quizzer: Generate quizzes from PDF documents
- FlashCard: Create flashcards for study sessions
- Study Planner: Generate a comprehensive study plan
- Upload a PDF document and wait for the AI to process it
- Access your personalized learning materials
Make sure the BrowserRouter is properly set up in your App component to enable routing between different application features:
import { BrowserRouter, Routes, Route } from "react-router-dom";
const App = () => {
return (
<BrowserRouter>
<Navbar />
<div className="max-w-7xl mx-auto pt-20 px-6">
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="/upload" element={<UploadPdf />} />
<Route path="/study-plan" element={<StudyPlan />} />
</Routes>
<Footer />
</div>
</BrowserRouter>
);
};
export default App;- Enhanced analytics to track learning progress
- Customizable quiz difficulty levels
- Export functionality for quizzes and flashcards
- Multi-language support
If you encounter any API connectivity issues:
- Verify your OpenAI API key is correct
- Check that CORS is properly configured for your environment
- Ensure the backend server is running on the correct port (8080 by default)
Contributions are welcome! Feel free to submit a pull request or open an issue to discuss improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
A comprehensive AI-powered learning assistant that transforms PDF documents into interactive quizzes, flashcards, and study plans.
## π Features
- **Quiz Generator**: Convert PDF documents into interactive quizzes for effective learning
- **Flashcards**: Create digital flashcards from your study materials
- **Study Planner**: Generate personalized study plans based on your content
- **Responsive Design**: Works seamlessly on desktop and mobile devices
- **OpenAI Integration**: Powered by GPT-4o for intelligent content analysis
## π» Tech Stack
- **Frontend**: React (v19), React Router, Tailwind CSS
- **Backend**: Spring Boot, Java 17
- **AI Integration**: OpenAI API
- **PDF Processing**: PDFBox, react-pdftotext
## π οΈ Setup Instructions
### Frontend Setup
```bash
# Navigate to the frontend directory
cd frontend
# Install dependencies
npm install
# Create a .env file with your OpenAI API key
echo "VITE_REACT_APP_OPENAI_API_KEY=your_openai_api_key_here" > .env
# Start the development server
npm run dev
# Navigate to the backend/apiWrapper directory
cd backend/apiWrapper
# Update the OpenAI API key in application.properties
# openai.api.key=your_openai_api_key
# Start the Spring Boot application
./mvnw spring-boot:run- Launch the application and navigate to the home page
- Choose one of the three main features:
- Quizzer: Generate quizzes from PDF documents
- FlashCard: Create flashcards for study sessions
- Study Planner: Generate a comprehensive study plan
- Upload a PDF document and wait for the AI to process it
- Access your personalized learning materials
Make sure the BrowserRouter is properly set up in your App component to enable routing between different application features:
import { BrowserRouter, Routes, Route } from "react-router-dom";
const App = () => {
return (
<BrowserRouter>
<Navbar />
<div className="max-w-7xl mx-auto pt-20 px-6">
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="/upload" element={<UploadPdf />} />
<Route path="/study-plan" element={<StudyPlan />} />
</Routes>
<Footer />
</div>
</BrowserRouter>
);
};
export default App;- Enhanced analytics to track learning progress
- Customizable quiz difficulty levels
- Export functionality for quizzes and flashcards
- Multi-language support
If you encounter any API connectivity issues:
- Verify your OpenAI API key is correct
- Check that CORS is properly configured for your environment
- Ensure the backend server is running on the correct port (8080 by default)
Contributions are welcome! Feel free to submit a pull request or open an issue to discuss improvements.
This project is licensed under the MIT License - see the LICENSE file for details.