This is a Flask application that helps assign labs to classes without collisions. It takes an Excel file as input, which contains class information such as start time, days, course number, section, course title, faculty, and capacity.
- Reads sample data from an Excel file
- Assigns labs to classes without collisions using a constraint satisfaction problem
- Removes duplicate classes
- Prints the schedule in a table format for both Monday-Wednesday (MW) and Tuesday-Thursday (TR) classes
- Clone the repository
- Install the required dependencies:
pip install flask openpyxl
- Run the Flask application:
python scheduler.py
- Access the application in your web browser at
http://localhost:5000
- Click the "Choose File" button and select the Excel file containing the class information
- Click the "Upload" button
- The application will assign labs to classes and display the schedule in a table format for both MW and TR classes
scheduler.py
: The main Flask application fileuploaded_file.xlsx
: The Excel file containing the class information (uploaded by the user)templates/upload.html
: The HTML template for the file upload pagetemplates/schedule.html
: The HTML template for displaying the generated schedule
- Flask: A lightweight Python web framework
- openpyxl: A Python library for reading and writing Excel files
- constraint: A Python library for solving constraint satisfaction problems (CSPs)
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License.