-
Notifications
You must be signed in to change notification settings - Fork 0
Overall Architecture and Class Diagrams
Show us the layers in your system and your domain classes. You can also include individual class diagrams in your stories on GitHub Put in your highlevel arch diagram (ie the major components)
For all existing arch diagrams, please only describe changes in your arch
The proposed wildfire visualization platform will be built using a Frontend-Backend split architecture to provide scalable and real-time data visualization for climate and data scientists. The frontend (MVC) will be developed using Angular with open-source mapping tools (TBD) to display interactive maps and visualize data. The backend will be developed using Spring Boot with a TBD database for local data storage. This enables the integration of various data sources such as wildfire, meteorological, and geographic data.
The software architecture outlined in this document is a proposed solution and is currently under review by the stakeholders. The details, including the tech stack and architecture, will be finalized after further clarifications.
This report outlines the proposed software architecture for the wildfire visualization platform project. The system aims to visualize historical wildfire data, with plans to integrate multiple datasets for future simulations and communication protocols across jurisdictions. This platform will be built using a Frontend-Backend split architecture that follows the MVC (Model-View-Controller) pattern for the frontend and REST API architecture for the backend.
The following diagram provides a visual representation of the system's overall architecture, showcasing the interaction between the Presentation Layer, Business Layer, and Data Layer. This architecture follows a standard n-tier approach, with each layer having distinct responsibilities and interacting through well-defined interfaces.
- Presentation Layer: Responsible for rendering the UI and handling user interactions.
- Business Layer: Manages business logic, data processing, and services.
- Data Layer: Stores and provides access to geospatial and application data.
Below is the architecture diagram that illustrates these layers and the flow of data between them:

The following diagrams represent the key workflows of the wildfire visualization platform. These flowcharts outline how the application is launched, the process of checking configurations, and the steps involved in loading the application with datasets for visualization. Understanding these workflows helps provide clarity on the sequence of operations and the system's behavior during critical functions.
- Launch Application: Illustrates the process of initializing and starting the application.
- Application Configuration Check: Describes how the system checks its configurations to ensure all necessary settings are in place before proceeding.
- Dataset Configuration Check: Explains the process of validating the dataset configurations for visualization.
- Load Application: Details how the application loads datasets and prepares the interface for user interaction.
The frontend (built with Angular) will communicate with the backend (Spring Boot) via RESTful APIs. The frontend will send HTTP requests to the backend to retrieve or process data, and the backend will return data in JSON format.
- The user selects a region on the interactive map and requests wildfire data for a specific time period.
- The frontend sends a GET request to the backend’s
/api/wildfiresendpoint with necessary parameters (e.g., region, date). - The backend processes the request by querying the local database and, if necessary, merging the results with external API data (e.g., weather data).
- The backend returns the processed data in JSON format.
- The frontend renders the data on the map, displaying wildfire events, weather conditions, and other relevant information.
- Map Component: Displays interactive maps with wildfire and weather data.
- Data Visualization Component: Renders graphs, charts, and filters for analyzing the data.
- User Interaction Component: Allows users to filter and interact with the data (e.g., zoom, filter by time).
-
Controller Layer: Defines the API endpoints (e.g.,
/api/wildfires,/api/weather). - Service Layer: Implements business logic, including data fusion, processing, and validation.
- Repository Layer: Manages database queries and local data storage.

The backend will be responsible for merging multiple datasets (wildfire, geographic, meteorological) into a coherent dataset for visualization.
To improve performance, the backend will implement caching mechanisms to store frequently accessed data, reducing the load on external APIs.
This architecture is flexible to future enhancements, including:
- Simulation of Wildfire Data: For training and predictive modeling.
- Communication Protocols: To integrate with emergency response teams and government jurisdictions.
This software architecture proposition provides a robust, scalable, and maintainable foundation for building the wildfire visualization platform. By leveraging modern frameworks like Angular and Spring Boot, combined with best practices in CI/CD and containerization, the platform will meet current visualization needs and be adaptable to future features.
Note: Class diagrams and other specific components will be added soon, once the final work package is received from the stakeholders.