Developer-facing notes for the Philippine Weather Forecast System.
This project is a JavaFX desktop application for weather monitoring, alert logging, weather history, charts, backup import/export, and simple user management.
For the full system documentation, see:
- Java 21
- JavaFX 21
- Maven
- SQLite
- OkHttp
- Gson
- OpenWeatherMap API
- Main class:
com.basilanweather.Main - Startup flow:
- Splash screen
- Login/Register
- Main dashboard
src/main/java/com/basilanweather/Main.javasrc/main/java/com/basilanweather/MainDashboard.javasrc/main/java/com/basilanweather/WeatherApp.javasrc/main/java/com/basilanweather/DatabaseManager.javasrc/main/java/com/basilanweather/ExportPanel.javasrc/main/java/com/basilanweather/LogPanel.javabuild-exe.ps1fix-exe-launcher.ps1
Compile only:
mvn compileRebuild jar:
mvn packageBuild the Windows executable app image:
powershell -ExecutionPolicy Bypass -File ".\build-exe.ps1"Generated executable:
dist/BasilanWeather/BasilanWeather.exe
- The local database file is
basilan_weather.db. - A default admin account is seeded automatically:
- Username:
admin - Password:
admin123
- Username:
- Weather logs and alerts are stored locally in SQLite.
- Export/import backup currently supports the CSV formats generated by this app.
- The logs page includes history search by barangay, municipality, condition, and timestamp.
- The app image build uses
jpackageplusfix-exe-launcher.ps1to patch JavaFX launcher settings.
- If the executable fails after a packaging change, rerun:
powershell -ExecutionPolicy Bypass -File ".\fix-exe-launcher.ps1"-
If you add new JavaFX modules, update both:
pom.xmlfix-exe-launcher.ps1
-
If you rename the packaged app, also verify:
build-exe.ps1fix-exe-launcher.ps1
-
If the weather API changes, update:
WeatherService.javaWeatherData.java
- The OpenWeatherMap API key is currently hardcoded in
WeatherService.java. - For production or public submission, move it to configuration or environment variables.
- Do not commit sensitive replacement keys to a public repository.
Use this order:
- Read this
README.mdfirst. - Read docs/APP_DOCUMENTATION.md.
- Read docs/USER_MANUAL.md for user-facing operation steps.
- Read docs/EVALUATOR_QA.md for likely panel or evaluator questions.
- Check the relevant Java class in
src/main/java/com/basilanweather/. - Rebuild using
build-exe.ps1if the question is about packaging or the.exe.
- Move the API key out of source code
- Add duplicate protection on backup import
- Add delete/edit actions for users and logs
- Add automated tests
- Move the database file to a user app-data directory for packaged builds