LiftSim

LiftSim is a web application designed for the building management officer to simulate the movement processes and monitor the overall crowdedness and waiting time of three lifts at S16.

Quick start

  1. Ensure you have Python 3.9 or above installed in your Computer.

  2. Download the zip file or clone the whole repository.

  3. Open the terminal and change directory to this folder.


How to run our web application using Docker container

1. Install Docker Desktop

2. Please run the following code to run our docker image in your localhost:

docker compose up

3. Open your Docker Desktop, and check whether the docker container is running

4. How to use our web application

  1. Generate Lift System Simulation

    a. With manual input:

    Users can input manually with ‘Add Request’ button. For each request, the user needs to have three inputs: Timestamp (HH:MM, for e.g., 10:03), Source floor (for e.g., 1), and Destination floor (for e.g., 3). Users could have multiple requests for one run, simply by clicking ‘Add Request’ button repeatedly and adding inputs. Request will be deleted with the ‘Remove Request Set’ button on the right. The simulation process will be triggered by pressing ‘Submit’ below the requests chunk. The ‘Refresh Speed’ slider is for adjusting the speed of the simulation process.

    b. Without manual input/Randomized input:

    If there is no request submitted, by pressing the ‘Start’ button above the simulation block, output with randomized input will be passed to the application and displayed on the simulated lift system. Users can pause the process by pressing ‘Pause/Resume’ button and resume the process by pressing that button again. Lastly, the process will end when pressing the ‘End’ button. Similarly, the ‘Refresh Speed’ slider is for adjusting the speed of the simulation process.

  2. Show Summary:

    This application also enables users to monitor the overall crowdedness within a new page. By pressing ‘Show the Summary Tab’ at the bottom, users are directed into a HTML file which includes a plot illustrating the number of tasks during a day and a table showing the summary of number of tasks and waiting time for each floor. The selector at top left is incorpated to select different time periods while the selector at top right is included to switch between different models for comparison.