Database Systems - Emergency Resource Management System

3 minute read

Code for this project is available on GitHub.

Database Systems - Team Project

Team Members:
Evan Althouse, Chang-Zhou Gong, Tich Mangono, David Ribeiro

Languages:
Python, SQL, Javascript, HTML, CSS

Libraries:
jQuery

Frameworks:
Flask, Bootstrap

Relational Database Management System:
MariaDB (MySQL)

Overview:

Emergency Resource Management System (ERMS)

Build an information management tool that supports government agencies and municipalities in locating and activating resources after an emergency such as a natural disaster, hazardous material spill, etc. The system is used because such events require resources above and beyond the set of resources that would normally meet a municipality’s typical operational needs. Users of the system can:

  1. Add a Resource Allows the user to add resources that will be available for use in case of a nearby emergency incident. Other users in the system will be able to search for and request these resources.
  2. Add an Incident The user selects this option in order to add some basic information about an emergency incident that has just occurred.
  3. Search for Resources This option allows the user to search for and request available resources in the case of an emergency.
  4. Resource Status This option allows the user to view currently deployed resources and manage resource requests that she has sent or received.
  5. Resource Report This option shows a summary report of all the user’s resources grouped by their primary Emergency Support Function.

Project Separated into Three Phases:

  1. Phase 1
  2. Phase 2
  3. Phase 3
    • Implementation/Code

Phase 3

Instructions to Run:

Setup Database Locally:

Using Ubuntu or Mac:

  1. Change to root (sudo) user
  2. cd into the directory of this file (setup folder)
  3. Set file permissions:
    bash chmod a+rwx <setupUbuntu.sh or setupMac.sh>
  4. Run setup shell:
    • For Ubuntu:
        yes | ./setupUbuntu.sh
      
    • For Mac:
        yes | ./setupMac.sh
      
  5. If permissions denied, input the root password in lines 25 to 28 –password= pw and uncomment. Comment out lines 21 to 24.

Running App:

  1. cd into directory with app.py
  2. In terminal run:
     python app.py
    
  3. Connect to local host (e.g. http://127.0.0.1:5000/) with browser

Pages

Overview:

  1. Add a Resource Allows the user to add resources that will be available for use in case of a nearby emergency incident. Other users in the system will be able to search for and request these resources.
  2. Add an Incident The user selects this option in order to add some basic information about an emergency incident that has just occurred.
  3. Search for Resources This option allows the user to search for and request available resources in the case of an emergency.
  4. Resource Status This option allows the user to view currently deployed resources and manage resource requests that she has sent or received.
  5. Resource Report This option shows a summary report of all the user’s resources grouped by their primary Emergency Support Function.

Login

Login

Main Menu

Add Resource

1. Empty Form

AddResource1

2. Empty Form Submit with Required Fields

AddResource2

3. Filled Form

AddResource3

4. Submitted Form

AddResource4

Add Incident

1. Empty Form

AddIncident1

2. Empty Form Submit with Required Fields

AddIncident2

3. Filled Form

AddIncident3

4. Submitted Form

AddIncident4

Search Resources

1. Empty Form

SearchResources1

2. Empty Form Search - Returns All Incidents

SearchResources2

3a. Search Ford

Search Criteria - Keyword: Ford; ESF: Transportation; Location: 500; Incident: MD-3: Earthquake

SearchResources3

3b. Search Ford - Results

SearchResources4

4a. Search Incident: MD-2: Volcano

Search Criteria - ESF: Transportation; Location: 5000; Incident: MD-2: Volcano

SearchResources5

4b. Search Ford - Results

SearchResources6

4c. Search Ford - Requested FBI Police Car (Pending Request)

SearchResources7

Resource Status

1. Resource Status for Current User (testindividual)

ResourceStatus1

2. Return Resource (Other User’s Resource) - Peter’s Other Fire Truck

ResourceStatus2

3. Deploy Resource (Owned Resource) - Fire Truck

ResourceStatus3

Resource Report

Resource Report By Primary ESF

ResourceReport1