This project is a Independent Project submission for 3rd Semester Exams: Key Components:
Tkinter: Graphical User Interface (GUI) framework for Python. Creates windows, buttons, labels, input fields, and other interactive elements. Python: Programming language for logic, calculations, and database interactions. Handles user input, data processing, and timetable generation. Database: Stores course information, student details, teacher availability, and other relevant data. SQLite (built-in with Python) or external databases like MySQL or PostgreSQL can be used. General Workflow:
Database Setup: Create tables to store course details, resources, constraints, etc. Establish a connection between Python and the database. GUI Design (Tkinter): Build a user-friendly interface with elements for: Input (courses, teachers, time slots, constraints) Displaying the generated timetable User interaction (buttons for generating, saving, exporting) Data Handling (Python): Retrieve user input from GUI elements. Fetch relevant data from the database. Implement a scheduling algorithm to generate the timetable, considering constraints and preferences. Timetable Creation: Construct the timetable using Python data structures (lists, dictionaries). Apply formatting and visual elements for clarity. Timetable Display: Present the generated timetable within the Tkinter interface. Additional Features (Optional): Saving timetables to different formats (PDF, Excel, CSV). Importing/exporting data from/to external sources. User authentication and access control. Database Interaction: Store generated timetables in the database for future reference. Allow modifications and updates to existing data.