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
 
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
 
From Events to Situations: An Event-web perspective
From Events to Situations: An Event-web perspectiveFrom Events to Situations: An Event-web perspective
From Events to Situations: An Event-web perspectiveVivek Singh
 

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
 
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
 
From Events to Situations: An Event-web perspective
From Events to Situations: An Event-web perspectiveFrom Events to Situations: An Event-web perspective
From Events to Situations: An Event-web perspective
 

Dernier

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Dernier (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

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