Smart Study Scheduling Made Simple
An intelligent study planner that helps students create personalized, difficulty-weighted study schedules with automatic revision planning.
Aura Planner is a web-based study scheduling assistant that takes the stress out of exam preparation. Simply input your topics, available study time, and difficulty levels - and let the algorithm create an optimized study plan with built-in revision sessions.
- π Difficulty-Weighted Scheduling - Topics are allocated time based on their difficulty (1-5 scale)
- π Smart Revision Strategy - Last day automatically reserved for revision of learned topics
- π Progress Tracking - Visual progress bars show completion percentage for each day
- π± Responsive Design - Works seamlessly on desktop, tablet, and mobile
- π Dark Mode - Easy on the eyes for late-night study planning
- π PDF Export - Export your study plan as a professional PDF document
- π¨ Modern UI - Built with Tailwind CSS for a clean, intuitive interface
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository
git clone https://github.com/Arhum19/SP23BSCS0040.git
-
Install Frontend Dependencies
cd auraplanner npm install -
Install Backend Dependencies
cd ../backend npm install -
Start the Backend Server
# From the backend directory npm start- Backend runs on:
http://localhost:5000
- Backend runs on:
-
Start the Frontend Development Server
# Open a new terminal, navigate to auraplanner directory cd auraplanner npm run dev
- Frontend runs on:
http://localhost:5174
- Frontend runs on:
-
Open Your Browser
- Navigate to
http://localhost:5174 - Start planning your study schedule! π
- Navigate to
Fill in the basic information about your study schedule:
- Number of Days: How many days until your exam?
- Available Hours: How many hours can you study each day?
For each topic you need to study:
- Topic Name: e.g., "Data Structures"
- Difficulty Level: Rate from 1 (Easy) to 5 (Very Hard)
- Subtopics (Optional): Break down the topic into smaller chunks
- Each subtopic has a name and percentage weightage
- Subtopic percentages should add up to 100%
Click "Generate Study Plan" and watch the algorithm create your personalized schedule!
- Expand/collapse days to see detailed sessions
- View progress bars for each day
- Export to PDF for printing or sharing
Schedule Configuration:
- Days: 7 days
- Daily Hours:
- Days 1-6: 4 hours each
- Day 7: 3 hours
Topics:
| Topic | Difficulty | Subtopics |
|---|---|---|
| Data Structures | 5 | Arrays (30%), Linked Lists (35%), Trees (35%) |
| Algorithms | 4 | Sorting (40%), Searching (30%), Dynamic Programming (30%) |
| Database Systems | 3 | SQL Basics (50%), Normalization (30%), Indexing (20%) |
πΈ Input Screenshot:
Days 1-6: Learning Phase
- Each day contains study sessions for different topics/subtopics
- Sessions are allocated based on difficulty weights
- Progress bars show completion percentage
Day 7: Revision Phase
- Final day reserved exclusively for revision
- Reviews all topics covered in previous days
- Organized revision sessions
πΈ Export PDF Screenshot:
Study-Planner-Assistant/
β
βββ auraplanner/ # Frontend (React + Vite)
β βββ src/
β β βββ components/ # React components
β β β βββ DayDropdown.jsx
β β β βββ ExportButton.jsx
β β β βββ PlanView.jsx
β β β βββ ProgressBar.jsx
β β β βββ TopicForm.jsx
β β βββ pages/
β β β βββ PlannerPage.jsx
β β βββ App.jsx
β β βββ main.jsx
β βββ package.json
β βββ vite.config.js
β
βββ backend/ # Backend (Node.js + Express)
| |__data/
| | βββ plans.json # Persisted study plans
| βββ node_modules/
β βββ src/
β β βββ scheduler.js # Core scheduling algorithm
β β βββ server.js # Express server
β βββ package.json
β
βββ documentation/ # Project documentation
βββ ProblemStatement.md
βββ AI-log.md
βββ TestPlan.md
βββ UseCases.md
βββ ReleaseRoadmap.md
- React 18 - UI framework
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Lucide React - Icon library
- Node.js - JavaScript runtime
- Express.js - Web framework
- CORS - Cross-origin resource sharing
DIFFICULTY_WEIGHTS = {
1: 1.0, // Easy
2: 1.2, // Medium-Easy
3: 1.4, // Medium
4: 1.7, // Medium-Hard
5: 2.0, // Very Hard
};- Last Day Reservation: Final day is exclusively for revision
- Learning Phase: Days 1 to N-1 for new content
- Time Allocation: Topics receive time proportional to difficulty Γ weight
- Dynamic Distribution: Sessions spread across available days
- Progress Calculation: Based on time consumed vs. allocated
- Minimum session duration: 15 minutes (0.25h)
- Revision only for topics with consumed time > 0.01h
- All topics distributed regardless of time constraints
- Progress shows realistic completion percentage
- Toggle all days open or closed with one click
- Individual day expansion for focused viewing
- System-friendly dark theme
- Reduces eye strain during late-night planning
- Persistent preference
- Mobile-first approach
- Touch-friendly controls
- Adapts to any screen size
- Professional table format
- Color-coded session types (Learning vs. Revision)
- Print-ready layout
- Browser-based (no external dependencies)
Comprehensive documentation is available in the /documentation folder:
- ProblemStatement.md - Project overview and scope
- AI-log.md - Development journey and evolution
- TestPlan.md - Test cases and validation
- UseCases.md - Use cases and system design
- ReleaseRoadmap.md - Future feature roadmap
- No Persistence: Plans are not saved (coming in v2.0 with database)
- Single User: No multi-user support or authentication
- Static Resources: No external learning resource links yet
- No Mobile App: Web-only (mobile apps planned for 2026)
- π User authentication (JWT)
- πΎ Database integration (MongoDB)
- π§ Email notifications
- π Multi-language support
- π Analytics integration
- π€ AI-powered schedule optimization
- π± Mobile applications (iOS & Android)
- π Topic resource links
- π€ Study buddy system
- π Smart notifications & alarms
- π³ Premium subscription model
- π¨βπ« Personal teacher consultations
- πΉ Live classes & recorded content
- π€ AI study coach
- ποΈ Voice commands
See ReleaseRoadmap.md for complete details.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Arhum19
- GitHub: @Arhum19
- Repository: Study-Planner-Assistant
- Built with β€οΈ for students struggling with study planning
- Special thanks to the open-source community
- Inspired by the need for smarter exam preparation tools
If you encounter any issues or have questions:
- π Open an issue
- π¬ Start a discussion in the repository
- π§ Contact the maintainer
If you find this project helpful, please consider:
- β Starring the repository
- π΄ Forking and contributing
- π’ Sharing with fellow students





