Skip to content

Python fullstack webapp with an interactive carpark simulation model (using discrete-event simulation)

Notifications You must be signed in to change notification settings

sunroofgod/dsa3101-2310-14-carpark

Repository files navigation

python fullstack webapp with an interactive carpark simulation model (using discrete-event simulation)

Unit Tests

About The Project

The Student Recreation Center (SRC) is a bustling hub frequented for various activities, including exams, sporting events, and campus life activities. However, it has been temporarily closed for construction work related to the upcoming NUS student athlete dormitory. In light of this closure of SRC and its existing carpark (CP5), the nearby carparks such as Raffles Hall (CP4) and University Cultural Centre (CP3) have to compensate for this change. Failure to make adequate preparations for such closures could result in neighbouring carparks being overwhelmed, leaving drivers struggling to find parking on campus.

To address this issue, we aim to develop an interactive simulation model for UCI in the form of a webapp. This simulation will have the capability to mimic various parking events, such as reducing the availability of red/white lots at a specific carpark or closing down certain carparks. With this simulation tool, UCI will be better equipped to plan for potential disruptions in the future, ensuring that they can manage parking resources effectively when such events occur.

This project is part of our graded coursework in the National University of Singapore module DSA3101: Data Science in Practice.

Getting Started

  1. Clone the repo.

    git clone https://github.com/sunroofgod/dsa3101-2310-14-carpark.git
  2. Create a folder in the root of the cloned repo 'data'

  3. Download data from here

  4. Extract contents of the downloaded zip into the 'data' folder

Running Our Application (Docker Solution)

  1. Proceed to root of cloned local repository and dockerize Application
    docker compose up -d
  2. Wait for containers to be set up
  3. Proceed to our Application Site at https://localhost:8050/.

Running Our Application (Testing and Debugging)

  1. Checkout a new branch from master

    git checkout -b <branch-name>
  2. Modify Lines 74-78 of frontend/app.py

  1. Modify Lines 11-19 of backend/des/params.py

  1. Modify Line 1498 of frontend/pages/params.py

  1. Change working directory to root of repository

  2. Install Required Packages

    pip install requirements.txt
  3. Run Application for testing and debugging with command

    python frontend/app.py
  4. Proceed to our Application Site at https://localhost:8050/.

  5. After modifications, revert changes in Steps 2-4

This Full-stack project is built entirely (with love) in

Dash Python

(back to top)

About

Python fullstack webapp with an interactive carpark simulation model (using discrete-event simulation)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages