SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Wildfire
App
Personal Practical Project
Katlin Kalde
Sept-Nov 2023
https://gitlab.com/java-remote-ee27-
course/wildfire-app
Wildfire App
The Wildfire app project idea
When my plane was about to land in Trapani, I saw a small
fire on a field. As one of my friends in Trapani works at forest
fires department, I was thinking how reporting of wildfires
could be made easier.
A week later, when I was leaving, Palermo airport was closed
due to the raging wildfires. A week before the Catania
airport.
The Wildfire App.
My first bigger Java programming project at Software
Development Academy
Wildfire App
WILDFIRE TAB
• Add Wildfire name, latitude, longitude,
radius, coefficient values to the "wildfire"
database
Wildfire App
MAP TAB
• After saving wildfire info in database, the
"Map" tab shows all wildfires info right
away.
Wildfire App
Wildfire App
WILDFIRE TAB
• Only double values are allowed in
latitude, longitude, radius and coefficient
fields
Wildfire App
Wildfire App
MAP TAB
• All wildfires in Database are displayed in
the table when pressing “Show wildfires”.
• Some initial wildfires are auto-generated
at the app start, so if app starts, the info
of auto-generated wildfires is shown.
Wildfire App
MAP TAB
• When selecting one of the wildfires in
wildfires table:
▫ Open Street Map of the fire location is
displayed (querying latitude, longitude from
database and connecting OSM).
Wildfire App
MAP TAB / PEOPLE IN AREA TAB
• When selecting one of the wildfires in
map tab:
▫ People in Red Zone are displayed in
"People in Area" tab.
Wildfire App
MAP TAB
• Deleting a wildfire:
▫ Wildfires can be deleted from table and
database by pressing "Delete a wildfire"
button.
Wildfire App
MAP TAB
• Deleting a wildfire:
▫ If no wildfire is selected then pressing
“Delete a wildfire” button causes an alert
modal to be shown with text: “To delete a
wildfire, please select a wildfire first!”
Wildfire App
MAP TAB
• Updating a wildfire:
▫ Wildfires can be updated by pressing
“Update wildfire" button.
Wildfire App
MAP TAB
• Updating a wildfire:
▫ After selecting a particular wildfire and
pressing "Update wildfire", a new scene is
displayed to update wildfire info in
database.
Wildfire App
MAP TAB
• Updating a wildfire:
▫ As the result the Wildfire info is updated
both in app and database
Wildfire App
DATABASE VIEW
• Updating a wildfire:
▫ As the result the Wildfire info is updated
both in app and database
Wildfire App
FIRESTATIONS TAB
• In firestations tab you can see all
firestations (from database).
• The functionality to show the closest
firestations is yet to be developed
Wildfire App
PEOPLE IN AREA TAB
• To see people in Red Zone, select a
wildfire in MAP tab.
• The functionality of button “Update status
of people in area” is to be developed yet.
Wildfire App
PEOPLE IN AREA TAB
• You may also query the data of all people
from database if you press “Display all
residents” button.
Wildfire App
RESCUERS IN AREA TAB
• If you have selected a wildfire in MAP tab,
then “Rescuers in Area” shows which
rescuers are currently working in this
particular wildfire area.
• With initial demo data you may see that
only Corleone has sent rescuers to the
area.
Wildfire App
RESCUERS IN AREA TAB
• If no rescuers are connected to the
wildfire in database, the alert is
displayed: “No rescuers connected to the
wildfire yet!”
Wildfire App
RESCUERS IN AREA TAB
• If no rescuers are connected to the
wildfire yet (i.e. Trapnani Fire, Palermo
Fire), then the alert is displayed:
No rescuers connected to the wildfire yet!
Wildfire App
ADD RESCUERS IN AREA VIEW
• If you pressed the button “Add rescuers in
area” then a new view to add rescuers is
shown.
• The view is still in development (not
working at the moment)
Wildfire App
WEATHER TAB
• To see weather broadcast of the wildfire
area:
▫ MAP tab → select wildfire
▫ WEATHER tab → “Get weather data”
• Real time 5-day weather data of the
selected location is fetched through the
Open Weather Map API
Wildfire App
THE CODE
• The code is divided into packages:
▫ Controllers (which control the actions of tabs,
buttons, views etc.)
▫ Data:
◦ Dao (interfaces, classes)
◦ Entities
◦ Utils (hibernateUtil class for hibernate settings)
▫ Weatherdata (defining weather data from
web)
Wildfire App
USED TECHNOLOGIES
• Java
• JavaFx
• Hibernate
• MySql (for database)
• Open Weather Map API (for fetching
weather data from web)
• Map data is fetched from Open Street Map
from web (no API key needed)
Wildfire App
PREREQUISITES TO RUN THE CODE
• Maven
• Mysql DB
• intelliJ (optional)
• OpenWeatherMap API key (if you want to fetch weather data from web)
Wildfire App
TO RUN THE APP
• git clone this repository locally https://gitlab.com/java-
remote-ee27-course/wildfire-app.git
• verify MySql is running on the target system
• create a MySql database named: wildfire (or use dump
provided)
• copy the file
src/main/resources/app.properties.example into
src/main/resources/app.properties and provide
appropriate options
• Get Open Weather Map "Call 5 day / 3 hour forecast
data" API key to fetch weather data from web:
https://openweathermap.org/forecast5
• provide API key to your new file:
src/main/resources/app.properties
• the database tables will be created automatically
because of the HBM2DDL_AUTO=create
• launch the application, the entry point is:
com.lunamezzogiorno.wildfireapp.WildfireApp
class
Wildfire App
DATABASE SCHEMA

Contenu connexe

Similaire à Wildfire App

MD-IV-CH-ppt.ppt
MD-IV-CH-ppt.pptMD-IV-CH-ppt.ppt
MD-IV-CH-ppt.pptbharatt7
 
Academy PRO: HTML5 API multimedia
Academy PRO: HTML5 API multimediaAcademy PRO: HTML5 API multimedia
Academy PRO: HTML5 API multimediaBinary Studio
 
3 - Thermometer.pptx thermometer thermometer thermometer
3 - Thermometer.pptx thermometer thermometer thermometer3 - Thermometer.pptx thermometer thermometer thermometer
3 - Thermometer.pptx thermometer thermometer thermometeraustcornish143
 
Favourite Import Export Ref Guide
Favourite Import Export Ref GuideFavourite Import Export Ref Guide
Favourite Import Export Ref Guideguestab3577f
 
Processing 2.0 + Open Data
Processing 2.0 + Open DataProcessing 2.0 + Open Data
Processing 2.0 + Open DataSteven Battle
 
Integration for Planet Satellite Imagery
Integration for Planet Satellite ImageryIntegration for Planet Satellite Imagery
Integration for Planet Satellite ImagerySafe Software
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookKyle McInnes
 
Aero app updates how to v1.1510.12
Aero app updates how to v1.1510.12Aero app updates how to v1.1510.12
Aero app updates how to v1.1510.125101AVNREGT
 
IRJET- Women Safety Application using Firebase and Geocoder
IRJET-  	  Women Safety Application using Firebase and GeocoderIRJET-  	  Women Safety Application using Firebase and Geocoder
IRJET- Women Safety Application using Firebase and GeocoderIRJET Journal
 
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_largerRilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_largerRilwan Kujenya
 
Mobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptMobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptfranksvalli
 
GIS Development for Seismic Vulnerability Kiel-Germany 2007
GIS Development for Seismic Vulnerability Kiel-Germany 2007GIS Development for Seismic Vulnerability Kiel-Germany 2007
GIS Development for Seismic Vulnerability Kiel-Germany 2007Vladimir Gutierrez, PhD
 
Introduction to Android for Quality Engineers
Introduction to Android for Quality EngineersIntroduction to Android for Quality Engineers
Introduction to Android for Quality EngineersAhmed Faidy
 
Heart check - Fourth Deadline
Heart check - Fourth DeadlineHeart check - Fourth Deadline
Heart check - Fourth DeadlineMauro Papa
 
P.N. 4219640_inDex User's Manual
P.N. 4219640_inDex User's ManualP.N. 4219640_inDex User's Manual
P.N. 4219640_inDex User's ManualDavid Wise
 
Ch5 intent broadcast receivers adapters and internet
Ch5 intent broadcast receivers adapters and internetCh5 intent broadcast receivers adapters and internet
Ch5 intent broadcast receivers adapters and internetShih-Hsiang Lin
 
Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015kingsBSD
 

Similaire à Wildfire App (20)

MD-IV-CH-ppt.ppt
MD-IV-CH-ppt.pptMD-IV-CH-ppt.ppt
MD-IV-CH-ppt.ppt
 
Academy PRO: HTML5 API multimedia
Academy PRO: HTML5 API multimediaAcademy PRO: HTML5 API multimedia
Academy PRO: HTML5 API multimedia
 
AndroidAppPPT
AndroidAppPPTAndroidAppPPT
AndroidAppPPT
 
3 - Thermometer.pptx thermometer thermometer thermometer
3 - Thermometer.pptx thermometer thermometer thermometer3 - Thermometer.pptx thermometer thermometer thermometer
3 - Thermometer.pptx thermometer thermometer thermometer
 
Favourite Import Export Ref Guide
Favourite Import Export Ref GuideFavourite Import Export Ref Guide
Favourite Import Export Ref Guide
 
Processing 2.0 + Open Data
Processing 2.0 + Open DataProcessing 2.0 + Open Data
Processing 2.0 + Open Data
 
Integration for Planet Satellite Imagery
Integration for Planet Satellite ImageryIntegration for Planet Satellite Imagery
Integration for Planet Satellite Imagery
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBook
 
Aero app updates how to v1.1510.12
Aero app updates how to v1.1510.12Aero app updates how to v1.1510.12
Aero app updates how to v1.1510.12
 
IRJET- Women Safety Application using Firebase and Geocoder
IRJET-  	  Women Safety Application using Firebase and GeocoderIRJET-  	  Women Safety Application using Firebase and Geocoder
IRJET- Women Safety Application using Firebase and Geocoder
 
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_largerRilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
RilwanKujenyaBDSDDVBAC-Thesis-HYDRAAR_larger
 
Mobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptMobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScript
 
GIS Development for Seismic Vulnerability Kiel-Germany 2007
GIS Development for Seismic Vulnerability Kiel-Germany 2007GIS Development for Seismic Vulnerability Kiel-Germany 2007
GIS Development for Seismic Vulnerability Kiel-Germany 2007
 
Introduction to Android for Quality Engineers
Introduction to Android for Quality EngineersIntroduction to Android for Quality Engineers
Introduction to Android for Quality Engineers
 
Heart check - Fourth Deadline
Heart check - Fourth DeadlineHeart check - Fourth Deadline
Heart check - Fourth Deadline
 
Safe Building for schools app.
Safe Building for schools app.Safe Building for schools app.
Safe Building for schools app.
 
P.N. 4219640_inDex User's Manual
P.N. 4219640_inDex User's ManualP.N. 4219640_inDex User's Manual
P.N. 4219640_inDex User's Manual
 
Global mapperhelp
Global mapperhelpGlobal mapperhelp
Global mapperhelp
 
Ch5 intent broadcast receivers adapters and internet
Ch5 intent broadcast receivers adapters and internetCh5 intent broadcast receivers adapters and internet
Ch5 intent broadcast receivers adapters and internet
 
Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015Our Data Ourselves, Pydata 2015
Our Data Ourselves, Pydata 2015
 

Dernier

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Dernier (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Wildfire App

  • 1. Wildfire App Personal Practical Project Katlin Kalde Sept-Nov 2023 https://gitlab.com/java-remote-ee27- course/wildfire-app
  • 2. Wildfire App The Wildfire app project idea When my plane was about to land in Trapani, I saw a small fire on a field. As one of my friends in Trapani works at forest fires department, I was thinking how reporting of wildfires could be made easier. A week later, when I was leaving, Palermo airport was closed due to the raging wildfires. A week before the Catania airport. The Wildfire App. My first bigger Java programming project at Software Development Academy
  • 3. Wildfire App WILDFIRE TAB • Add Wildfire name, latitude, longitude, radius, coefficient values to the "wildfire" database
  • 4. Wildfire App MAP TAB • After saving wildfire info in database, the "Map" tab shows all wildfires info right away. Wildfire App
  • 5. Wildfire App WILDFIRE TAB • Only double values are allowed in latitude, longitude, radius and coefficient fields Wildfire App
  • 6. Wildfire App MAP TAB • All wildfires in Database are displayed in the table when pressing “Show wildfires”. • Some initial wildfires are auto-generated at the app start, so if app starts, the info of auto-generated wildfires is shown.
  • 7. Wildfire App MAP TAB • When selecting one of the wildfires in wildfires table: ▫ Open Street Map of the fire location is displayed (querying latitude, longitude from database and connecting OSM).
  • 8. Wildfire App MAP TAB / PEOPLE IN AREA TAB • When selecting one of the wildfires in map tab: ▫ People in Red Zone are displayed in "People in Area" tab.
  • 9. Wildfire App MAP TAB • Deleting a wildfire: ▫ Wildfires can be deleted from table and database by pressing "Delete a wildfire" button.
  • 10. Wildfire App MAP TAB • Deleting a wildfire: ▫ If no wildfire is selected then pressing “Delete a wildfire” button causes an alert modal to be shown with text: “To delete a wildfire, please select a wildfire first!”
  • 11. Wildfire App MAP TAB • Updating a wildfire: ▫ Wildfires can be updated by pressing “Update wildfire" button.
  • 12. Wildfire App MAP TAB • Updating a wildfire: ▫ After selecting a particular wildfire and pressing "Update wildfire", a new scene is displayed to update wildfire info in database.
  • 13. Wildfire App MAP TAB • Updating a wildfire: ▫ As the result the Wildfire info is updated both in app and database
  • 14. Wildfire App DATABASE VIEW • Updating a wildfire: ▫ As the result the Wildfire info is updated both in app and database
  • 15. Wildfire App FIRESTATIONS TAB • In firestations tab you can see all firestations (from database). • The functionality to show the closest firestations is yet to be developed
  • 16. Wildfire App PEOPLE IN AREA TAB • To see people in Red Zone, select a wildfire in MAP tab. • The functionality of button “Update status of people in area” is to be developed yet.
  • 17. Wildfire App PEOPLE IN AREA TAB • You may also query the data of all people from database if you press “Display all residents” button.
  • 18. Wildfire App RESCUERS IN AREA TAB • If you have selected a wildfire in MAP tab, then “Rescuers in Area” shows which rescuers are currently working in this particular wildfire area. • With initial demo data you may see that only Corleone has sent rescuers to the area.
  • 19. Wildfire App RESCUERS IN AREA TAB • If no rescuers are connected to the wildfire in database, the alert is displayed: “No rescuers connected to the wildfire yet!”
  • 20. Wildfire App RESCUERS IN AREA TAB • If no rescuers are connected to the wildfire yet (i.e. Trapnani Fire, Palermo Fire), then the alert is displayed: No rescuers connected to the wildfire yet!
  • 21. Wildfire App ADD RESCUERS IN AREA VIEW • If you pressed the button “Add rescuers in area” then a new view to add rescuers is shown. • The view is still in development (not working at the moment)
  • 22. Wildfire App WEATHER TAB • To see weather broadcast of the wildfire area: ▫ MAP tab → select wildfire ▫ WEATHER tab → “Get weather data” • Real time 5-day weather data of the selected location is fetched through the Open Weather Map API
  • 23. Wildfire App THE CODE • The code is divided into packages: ▫ Controllers (which control the actions of tabs, buttons, views etc.) ▫ Data: ◦ Dao (interfaces, classes) ◦ Entities ◦ Utils (hibernateUtil class for hibernate settings) ▫ Weatherdata (defining weather data from web)
  • 24. Wildfire App USED TECHNOLOGIES • Java • JavaFx • Hibernate • MySql (for database) • Open Weather Map API (for fetching weather data from web) • Map data is fetched from Open Street Map from web (no API key needed)
  • 25. Wildfire App PREREQUISITES TO RUN THE CODE • Maven • Mysql DB • intelliJ (optional) • OpenWeatherMap API key (if you want to fetch weather data from web)
  • 26. Wildfire App TO RUN THE APP • git clone this repository locally https://gitlab.com/java- remote-ee27-course/wildfire-app.git • verify MySql is running on the target system • create a MySql database named: wildfire (or use dump provided) • copy the file src/main/resources/app.properties.example into src/main/resources/app.properties and provide appropriate options • Get Open Weather Map "Call 5 day / 3 hour forecast data" API key to fetch weather data from web: https://openweathermap.org/forecast5 • provide API key to your new file: src/main/resources/app.properties • the database tables will be created automatically because of the HBM2DDL_AUTO=create • launch the application, the entry point is: com.lunamezzogiorno.wildfireapp.WildfireApp class