blackopsrepl/meeting-scheduling-python
1
1---2title: Meeting Scheduling (Python)3emoji: ๐4colorFrom: gray5colorTo: green6sdk: docker7app_port: 80808pinned: false9license: apache-2.010short_description: SolverForge Quickstart for the Meeting Scheduling problem11---12 13# Meeting Scheduling (Python)14 15Schedule meetings between employees, where each meeting has a topic, duration, required and preferred attendees.16 17- [Prerequisites](#prerequisites)18- [Run the application](#run-the-application)19- [Test the application](#test-the-application)20 21## Prerequisites22 231. Install [Python 3.11 or 3.12](https://www.python.org/downloads/).24 252. Install JDK 17+, for example with [Sdkman](https://sdkman.io):26 27 ```sh28 $ sdk install java29 ```30 31## Run the application32 331. Git clone the solverforge-quickstarts repo and navigate to this directory:34 35 ```sh36 $ git clone https://github.com/SolverForge/solverforge-quickstarts.git37 ...38 $ cd solverforge-quickstarts/fast/meeting-scheduling-fast39 ```40 412. Create a virtual environment:42 43 ```sh44 $ python -m venv .venv45 ```46 473. Activate the virtual environment:48 49 ```sh50 $ . .venv/bin/activate51 ```52 534. Install the application:54 55 ```sh56 $ pip install -e .57 ```58 595. Run the application:60 61 ```sh62 $ run-app63 ```64 656. Visit [http://localhost:8080](http://localhost:8080) in your browser.66 677. Click on the **Solve** button.68 69## Test the application70 711. Run tests:72 73 ```sh74 $ pytest75 ```76 77## Problem Description78 79Schedule meetings between employees, where:80 81* Each meeting has a topic, duration, required and preferred attendees.82* Each meeting needs a room with sufficient capacity.83* Meetings should not overlap with other meetings if they share resources (room or attendees).84* Meetings should be scheduled as soon as possible.85* Preferred attendees should be able to attend if possible.86 87## More information88 89Visit [solverforge.org](https://www.solverforge.org).90 