This project provides an AI-powered solution to generate personalized study schedules for students preparing for exams. The application consists of a Flask backend that interacts with Google's generative AI to create the study schedule and a React frontend for the user interface.
- Input exam-related details like datesheet, favorite and disliked subjects, study hours, etc.
- Generate a personalized study schedule based on the provided information.
- Display the generated schedule in a user-friendly format.
- Flask
- React
- Google Generative AI
- Axios
- dotenv
- Flask-CORS
- React Markdown
Ensure you have the following installed:
- Python 3.x
- Node.js
- npm (Node Package Manager)
- Clone the repository:
git clone https://github.com/yourusername/ai-powered-exam-prep.git
cd ai-powered-exam-prep
-
Backend Setup:
a. Navigate to the backend directory:
cd backend
b. Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
c. Install the required packages:
pip install -r requirements.txt
d. Create a
.env
file in the backend directory and add your Google Generative AI API key:GOOGLE_GENAI_API_KEY=your_api_key_here
e. Run the Flask server:
flask run
-
Frontend Setup:
a. Navigate to the frontend directory:
cd frontend
b. Install the required packages:
npm install
c. Start the React development server:
npm run dev
- Visit the Google Cloud Console.
- Create a new project or select an existing one.
- Navigate to the "APIs & Services" section.
- Enable the Generative AI API.
- Go to "Credentials" and create an API key.
- Copy the API key and add it to the
.env
file in the backend directory as shown above.
ai-powered-exam-prep/
├── backend/
│ ├── app.py
│ ├── requirements.txt
│ └── .env
└── frontend/
├── public/
├── src/
│ ├── App.js
│ ├── App.css
│ └── index.js
├── package.json
└── README.md
POST /api/generate_schedule
- Generate a personalized study schedule based on provided input data.
App.js
- Main React component that contains the form for input and displays the generated study schedule.
- Open your browser and navigate to
http://localhost:3000
. - Fill in the form with the required details.
- Click on "Generate Schedule" to get your personalized study schedule.
If you want to contribute to this project, please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License.