A web application that creates tailored study plans based on user goals (e.g., "Prepare for CAT 2025") and feedback (e.g., "I’m struggling with calculus"). It uses NLP to interpret user input, A* to optimize the study schedule, Hill Climbing to adjust task priorities, and Min-Max to balance study and leisure activities.
- Features
- How It Works
- Getting Started
- Usage
- Architecture & Design
- API Reference
- Contributing
- License
- Personalized Study Plans: Input your goals and topics you struggle with; get a customized, actionable study schedule.
- Adaptive Scheduling: Plans are updated in real-time based on your feedback.
- Intelligent Algorithms: Utilizes advanced algorithms to maximize productivity and balance leisure.
- Natural Language Processing (NLP) for understanding user input.
- A* Search for optimizing study timeline.
- Hill Climbing for adjusting task priorities.
- Min-Max for balancing study and leisure.
- Goal Tracking & Analytics: Visual progress tracker and detailed analytics.
- User-Friendly Interface: Designed for ease of use with interactive dashboards.
- Goal Setting:
Enter your exam (e.g., CAT 2025), subjects, and preferred study style. - Feedback Integration:
Specify topics where you feel weak (e.g., calculus, vocabulary). System adapts schedule accordingly. - Continuous Adaptation:
As you give daily/weekly feedback, your plan and priorities are adjusted using intelligent algorithms.
-
Natural Language Processing (NLP):
Parses your written goals and feedback, identifies key subjects and pain points. -
A Search Algorithm:*
Finds the most efficient path toward your target exam date, scheduling necessary topics while considering difficulty and available time. -
Hill Climbing:
Adjusts the order and priority of topics based on your ongoing feedback to maximize learning effectiveness. -
Min-Max Strategy:
Balances study load and leisure time, preventing burnout and promoting holistic success.
- Python 3.8+
pippackage manager
git clone https://github.com/rohit03-cmd/Personalized-Study-Planner.git
cd Personalized-Study-Planner
pip install -r requirements.txtpython app.pyOr use the provided runner/launch script as documented.
- Register/Login: Create a user profile.
- Enter Goals: Specify exam/year (e.g., "CAT 2025"), subjects, time available.
- Provide Feedback: Update the app with topics you find difficult.
- Receive Study Plan: View your personalized schedule, daily tasks, and progress.
- Track Progress: Update completion; system adapts plan based on new feedback.
nlp/: NLP utilities for parsing user inputplanner/: Core planning algorithms (A*, Hill Climb, Min-Max)api/: RESTful API endpoints for frontend/backend communicationmodels/: Data models (Users, Plans, Tasks)frontend/: (Optional, if included) User interface code
- POST /plan – Create study plan
- POST /feedback – Submit user feedback (struggling topics, mood)
- GET /progress – Retrieve current progress stats
- (Expand with endpoints as project matures)
- Fork the repository
- Create a feature branch (
git checkout -b feature-name) - Commit your changes
- Open a Pull Request
- Ensure code passes all tests and style checks
Distributed under the MIT License. See LICENSE for more information.
- Algorithms inspired by AI planning techniques.
- Thanks to the Python communities for libraries and inspiration.