🪢 Prepare, Respond, Recover, Repeat. 🪢
A disaster response management system for communities. Built for support, made to connect.
IT 2104
Banaag, Ashley Mae R.
Table of Contents
ResQnect is a disaster response management system designed to enhance the efficiency of relief operations. The system simplifies the coordination of volunteers, tracks essential resources like food and medical supplies, and assigns tasks to ensure organized disaster response efforts. With its streamlined interface, this enables users to manage volunteers, resources, and disaster-related tasks effectively. By facilitating clear communication and well-defined roles during emergencies, the system reduces delays and improves outcomes. Furthermore, it allows users to generate reports and analyze response times to continuously improve disaster readiness. The software is built with Object-Oriented Programming (OOP) principles, ensuring its modularity and maintainability. As communities face increasing risks from natural disasters, it serves as a tool to improve preparedness and resilience. Its ultimate goal is to empower local governments and organizations to save lives and resources during critical situations.
In developing ResQnect, core Object-Oriented Programming (OOP) principles were applied to create a modular and efficient system. Here's how each principle was implemented:
-
Encapsulation 💊
In the code, data related to volunteers, resources, and tasks is stored in private attributes within classes likeVolunteer
,Resource
, andTask
. These private attributes are accessed and modified only through getter and setter methods, ensuring the integrity of the data. For example, theResource
class ensures that the quantity of items cannot be set to a negative value, protecting the data from invalid inputs. -
Abstraction 🗄️
Complex operations are abstracted into separate classes likeVolunteerManager
,ResourceManager
, andTaskManager
. For instance, when adding a new volunteer, the user simply selects the "Manage Volunteers" option, and theVolunteerManager
class handles the creation and storage of the volunteer. Users interact with a straightforward menu system, while the internal complexities of data processing are hidden. -
Inheritance 🧬
A base classUser
is used to define common properties such asname
,contact
, andaddress
. TheVolunteer
class inherits fromUser
, reducing redundant code and enabling shared methods to be reused. This structure allows for easy future expansion, such as adding other user roles like coordinators or responders. -
Polymorphism 📑
Polymorphism is utilized through overridden methods liketoString()
. For example, theVolunteer
class overrides thetoString()
method to return detailed information about the volunteer, while theResource
class provides a different representation for its objects. This makes it easier to display relevant information based on the object type, improving user interaction.
Sustainable Development Goal (SDG) 11: Sustainable Cities and Communities emphasizes creating safe, resilient, and inclusive communities, and ResQnect directly contributes to this goal. The system improves preparedness by enabling local governments and organizations to track and manage critical resources such as food, water, and medical supplies, ensuring readiness for emergencies. It facilitates an efficient response by streamlining the assignment of tasks to volunteers, reducing delays in relief operations. This also supports recovery efforts by providing tools to monitor and track the completion of disaster response activities, ensuring affected communities receive timely support. Moreover, the system promotes resilience by generating detailed reports that analyze response times and resource usage, which can be used to improve future disaster preparedness strategies.
To run the ResQnect system, follow these steps for a smooth experience:
-
Save the Code
Clone or download the project files into a single directory. -
Compile the Program
- Open a terminal or command prompt.
- Navigate to the directory where the files are stored.
- Compile all Java files using the command:
javac *.java
-
Run the Program
- Start the system by running the main file:
java Main
- Start the system by running the main file:
When the program starts, the main menu will be displayed, offering the following options:
- Volunteer Management
- Resource Management
- Task Assignment
- Disaster Response Tracker
- Response Time Reports
- Exit
Enter the corresponding number to access the desired functionality.
- Choose 1. Volunteer Management from the main menu.
- The system will prompt you to:
- Enter the name of the volunteer.
- Specify the type of volunteer (ex., Medical, Rescue, or General).
- Indicate the volunteer’s availability (ex., Available (Yes) or Unavailable (No)).
- After inputting the details, the system will save the volunteer information for future use.
- Select 2. Resource Management from the main menu.
- The system will prompt you to add critical disaster response resources:
- Enter details such as the quantity of food, water, or medical supplies.
- Resource data will be stored securely and accessed when needed during disaster management.
- From the main menu, select 3. Task Assignment.
- You will be asked to:
- Select an available volunteer from the list.
- Assign a task (ex., delivering medical aid, conducting rescue operations).
- The system will update the task list and mark the task as Assigned, keeping a record of volunteer responsibilities.
- Choose 4. Disaster Response Tracker to view ongoing tasks.
- The system will display:
- A list of assigned tasks with their status (ex., Assigned, In Progress, Completed).
- You can update task statuses to reflect real-time progress, ensuring efficient disaster management.
- Select 5. Response Time Reports from the main menu.
- The system will generate detailed reports showing:
- The time taken to complete each task.
- The assigned and completion timestamps.
- These insights help analyze the efficiency of disaster response operations.
- Choose 6. Exit to safely close the application.
By following these steps, users can efficiently utilize ResQnect to prepare for and respond to disasters while maintaining organized records and reports.
🚨 Prepare, Respond, Recover, Repeat! 🚨