Database Systems - Emergency Resource Management System
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:
- 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.
- Add an Incident The user selects this option in order to add some basic information about an emergency incident that has just occurred.
- Search for Resources This option allows the user to search for and request available resources in the case of an emergency.
- Resource Status This option allows the user to view currently deployed resources and manage resource requests that she has sent or received.
- 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:
- Phase 1
- team05_p1_eer.pdf
- Enhanced Entity-Relationship (EER) Diagram
- team05_p1_ifd.pdf
- Information Flow Diagram (IFD)
- team05_p1_report.pdf
- Report with Data Types, Business Logic Constraints, Task Decomposition (TD) & Abstract Code (AC)
- team05_p1_eer.pdf
- Phase 2
- team05_p2_ac+SQL.pdf
- Abstract Code with in-line SQL queries added
- team05_p2_eer2rel.pdf
- Enhanced Entity-Relationship (EER) to Relational Mapping
- team05_p2_updatedEER.pdf
- Updated Enhanced Entity-Relationship (EER)
- team05_p2_schema.sql
- SQL Create Table statements to create schema (tables with constraints and keys)
- team05_p2_ac+SQL.pdf
- Phase 3
- Implementation/Code
Phase 3
Instructions to Run:
Setup Database Locally:
Using Ubuntu or Mac:
- Change to root (sudo) user
- cd into the directory of this file (setup folder)
- Set file permissions:
bash chmod a+rwx <setupUbuntu.sh or setupMac.sh>
- Run setup shell:
- For Ubuntu:
yes | ./setupUbuntu.sh
- For Mac:
yes | ./setupMac.sh
- For Ubuntu:
- If permissions denied, input the root password in lines 25 to 28 –password= pw and uncomment. Comment out lines 21 to 24.
Running App:
- cd into directory with app.py
- In terminal run:
python app.py
- Connect to local host (e.g. http://127.0.0.1:5000/) with browser
Pages
Overview:
- 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.
- Add an Incident The user selects this option in order to add some basic information about an emergency incident that has just occurred.
- Search for Resources This option allows the user to search for and request available resources in the case of an emergency.
- Resource Status This option allows the user to view currently deployed resources and manage resource requests that she has sent or received.
- Resource Report This option shows a summary report of all the user’s resources grouped by their primary Emergency Support Function.