Schedule App is an algorithm designed to efficiently organize academic subjects and their corresponding schedules. Given a set of subjects, their priority, and time availability, the system generates multiple optimized schedule variations for users to choose from.
- 📄 PDF Integration: Automatically extract subject and schedule data from university-provided PDFs.
- 🖊️ Manual Input: Manually input subjects and their details.
- ⚙️ Priority Organization: Sorts subjects by relevance and priority.
- 📊 Schedule Variations: Generates up to 5 optimized schedule variations.
- 📑 Export Options: Export schedules in PDF or CSV formats.
- Relevance Level
- Name
- Credits
- Groups
- Weekly Schedule per Group
- Optimized Schedule Variations
- Export as PDF or CSV
- Data Input: User manually inputs subjects or uploads a PDF.
- Data Extraction: System extracts and processes subject details.
- Priority Organization: Subjects are sorted by priority.
- Schedule Generation: The system generates up to 3 schedule variations.
- Export: The final schedule can be exported as PDF or CSV.
{
id: int,
subjects: [] int
}
{
id: int,
name: string,
priority: int,
credits: int,
groups_id: [] int
}
{
id: int,
schedule_date1: Datetime,
duration_schedule1: int,
schedule_date2: Datetime,
duration_schedule2: int
}
subjects = read_data()
read_data
extracts data from PDF or manual input and converts it into structuredSubject
objects.
schedule.subjects = subjects
schedule.generate_variations()
generate_variations
generates up to 3 optimal schedule combinations.
- Clone the repository:
git clone https://github.com/SSAYKO/schedule_app.git
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
Feel free to fork this repository and submit pull requests.
This project is licensed under the MIT License.
by SSAYKO