Skip to content

Releases: crim-ca/WildfireVisualizationProject

release3

Choose a tag to compare

@XavierGuertin XavierGuertin released this 07 Apr 17:44
5e63013

Main Achievements

Release 3 marks the successful delivery of the Wildfire Visualization Platform, achieving all stakeholder requirements and earning strong positive feedback. This release focuses on user feedback integration, frontend enhancements, and backend stability. Stakeholders were particularly pleased with the platform's seamless user experience, performance improvements, and alignment with project goals.

Key updates include:

  • Enhanced Feedback Handling: Improved attributions, a resizable map metadata window, and multiple fixes based on user feedback.
  • Frontend Innovations: Added customizable UI polygons and styles, dynamic asset heatmaps, and a new asset selection menu for better interactivity and customization.
  • Backend and Testing Enhancements: Improved asset processing logic, expanded tests for filters and simulations, and fixes to ensure a stable e2e pipeline.

This release successfully wraps up the project, delivering a robust and user-focused platform that meets expectations.

What's Changed


Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #313 (updated attributions) → 1
    • #316 (loading bar position fix) → 1
    • #307 (new asset selection menu) → 5
    • #291 (i18n for toast messages) → 2
    • #254 (customizable UI polygons) → 5
    • #311 (dynamic asset heatmaps) → 2
    • #315 (dataset title display) → 1
    • #303 (resizable MapMetaData window) → 2
    • #325, #326, #328 (multiple feedback fixes) → 3
    • #285 (e2e pipeline fixes) → 5
    • #330 (polygon style reset fix) → 3
    • #333 (asset processing logic fix) → 2
    • #315 (hotfix for title parameter) → 1
    • #285 (e2e filter and simulation tests) → 3
    • #340 (customization palette visibility bug) → 1
    • #340 (fix persistence issue) → 1

    Total Story Points:
    36

Contractor Estimate

  • Estimated Hours:

    • 36 points × ~3 hours/point = 108 hours
  • Estimated Cost:

    • 108 hours × 35.50 CAD/hour = $3,834.00 CAD
    • Contractor Estimate for Release 3: $3,834.00 CAD

Full Changelog: iteration12...release3

iteration12

Choose a tag to compare

@XavierGuertin XavierGuertin released this 27 Mar 23:36

Main Achievements

Iteration 12 brings significant enhancements to the Wildfire Visualization Platform, focusing on improving user interaction, backend efficiency, and addressing critical bug fixes to ensure a seamless and efficient user experience. Key highlights include:

  • Enhanced User Interface: Added timestamp display, modernized speed controls, and a 'Loaded' tag for the most recently loaded dataset, improving the overall user interface.
  • Improved Backend Handling: Implemented GlobalExceptionHandling and added endpoints for item asset display and caching, optimizing backend operations and resource allocation.
  • Bug Fixes and Performance Improvements: Fixed various frontend and backend bugs, optimized API calls, and improved performance for a more stable and efficient platform.
  • Offline and Factory Reset Enhancements: Addressed factory reset errors and offline functionality to ensure the platform remains robust and reliable under different conditions.

What's Changed

  • #231 - fix(frontend): Persisting Toast Notifications by @justncheng in #268
  • #261, #263, #265 - fix(frontend & backend): Factory reset errors by @lo-vil in #267
  • #214 - feat(backend): Implemented GlobalExceptionHandling by @adissuu in #264
  • #241, #181 - fix(frontend): Correct Layer Images & Add Scroll + Animation for Metadata by @Fetyali7 in #269
  • #238 - fix(frontend): Remove Print Statements for Map Extent by @yasminehilout in #273
  • #237, #275, #245, #272, #266 - feat(backend & frontend): Enhanced Filtering of Datasets and Fixed Bugs by @XavierGuertin in #277
  • #240 - bug(frontend): Fixed timeline blocking Available Datasets by @eo2000 in #276
  • #266 - fix(frontend): Add Missing French Translations for AvailableDatasets component by @yasminehilout in #274
  • #271 - fix(proj): Optimize API Calls & Resource Allocation for Improved Performance by @im-samwong in #279
  • #255 - bug(GeoServer): Remove Unnecessary GeoServer Files from Version Control by @PFratt in #278
  • Revert "#255 - bug(GeoServer): Remove Unnecessary GeoServer Files from Version Control" by @im-samwong in #281
  • #237 - fix(frontend): Fixing getCollections when map moves by @lo-vil in #282
  • #270 - feat(frontend): UI Enhancement – Timestamp Display & Modernized Speed Controls by @XavierGuertin in #283
  • #0 - chore(deployment): Remove auto image build of CI by @im-samwong in #284
  • #176 - feat(frontend): Show 'Loaded' tag for Most Recently Loaded Dataset by @yasminehilout in #280
  • #251 - feat(backend): Adding endpoints to handle item asset display and caching by @im-samwong in #286
  • #251 - feat(backend): Add reset item assets endpoint to handle clean wipe of item assets by @im-samwong in #288
  • #251 - feat(frontend): Enhance Frontend with Interactive Wildfire Asset Management and UI Improvements by @XavierGuertin in #292
  • #0 - feat(backend): Prod fix adding docker env geoserver url by @im-samwong in #297
  • #0 - feat(backend): Prod fix adding docker env geoserver url by @im-samwong in #298
  • #295, #296 - fix(frontend): Added fix for views and assets being blocked by @eo2000 in #299
  • #248 - feature(frontend): Move to area of selected dataset by @adissuu in #309
  • #307 - feat(backend): Preload and Register Wildfire Assets for Seamless Timestamp Transitions by @im-samwong in #308

Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #231 (persisting toast notifications) → 1
    • #261, #263, #265 (factory reset errors) → 1
    • #214 (GlobalExceptionHandling) → 3
    • #241, #181 (correct layer images, scroll + animation for metadata) → 2
    • #238 (remove print statements) → 1
    • #237, #275, #245, #272, #266 (enhanced filtering, bug fixes) → 3
    • #240 (timeline blocking available datasets) → 1
    • #266 (missing French translations) → 1
    • #271 (optimize API calls, resource allocation) → 2
    • #255 (remove unnecessary GeoServer files) → 1
    • Revert #255 → 0
    • #237 (fixing getCollections when map moves) → 1
    • #270 (UI enhancement, timestamp display, speed controls) → 2
    • #0 (remove auto image build of CI) → 0
    • #176 (show 'Loaded' tag) → 2
    • #251 (endpoints for item asset display and caching) → 3
    • #251 (reset item assets endpoint) → 3
    • #251 (interactive wildfire asset management) → 2
    • #0 (prod fix adding docker env geoserver url) → 0
    • #295, #296 (fix for views and assets) → 1
    • #248 (move to area of selected dataset) → 3
    • #307 (preload and register wildfire assets) → 3

    Total Story Points:
    36

Contractor Estimate

  • Estimated Hours:

    • 36 points × ~3 hours/point = 108 hours
  • Estimated Cost:

    • 108 hours × 35.50 CAD/hour = $3,834.00 CAD
    • Contractor Estimate for Iteration 12: $3,834.00 CAD

Full Changelog: iteration11...iteration12

iteration11

Choose a tag to compare

@XavierGuertin XavierGuertin released this 10 Mar 18:59
641ed3e

Main Achievements

Iteration 11 introduces significant improvements to the Wildfire Visualization Platform, focusing on enhancing offline functionality, refining the codebase, and addressing critical bug fixes to ensure a more robust and user-friendly experience. Key highlights include:

  • Offline Functionality: Implemented offline capabilities, including a tile server as an offline map provider, ensuring users can access essential features without an internet connection.
  • Codebase Refactoring: Multiple refactoring efforts were made based on feedback to improve code clarity, avoid hard-coded URLs, and remove outdated mock implementations.
  • Enhanced User Interaction: Added new features such as filtered datasets by region and timeline animation, along with the ability to deselect datasets, improving overall user interaction.
  • Bug Fixes and Maintenance: Addressed several bugs, including issues with the loading bar, deployment stability, and notification prompts, while also maintaining the build pipeline and database settings.

What's Changed


Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #196 (unclear purpose refactor) → 1
    • #198 (avoid hard-coding URLs) → 1
    • #199 (avoid logging SQL queries) → 1
    • #195 (remove mock implementation) → 1
    • #170 (offline functionality) → 5
    • #184 (offline map provider) → 3
    • #52 (filter datasets by region) → 3
    • #0 (build pipeline maintenance) → 1
    • #0 (db port update) → 1
    • #208 (remove mock, unused methods) → 1
    • #0 (build pipeline syntax error fix) → 1
    • #134 (accurate loading bar) → 1
    • #227 (deployment health check) → 2
    • #222 (add gitattributes) → 1
    • #194 (add comments to backend files) → 1
    • #207 (fetch items from collections) → 3
    • #188 (timeline animation) → 3
    • #212 (map context refactoring) → 2
    • #235, #236 (fix deployment env variables) → 2
    • #233 (offline mode refactor) → 3
    • #233 (add code coverage) → 1
    • #247 (deselect dataset) → 2
    • #244, #250, #239 (lazy loading, loading bar fix) → 3

    Total Story Points:
    42

Contractor Estimate

  • Estimated Hours:

    • 42 points × ~3 hours/point = 126 hours
  • Estimated Cost:

    • 126 hours × 35.50 CAD/hour = 4,473.00 CAD
    • Contractor Estimate for Iteration 11: $4,473.00 CAD

Full Changelog: iteration10...iteration11

iteration10

Choose a tag to compare

@XavierGuertin XavierGuertin released this 10 Mar 01:01
5acc4d2

Main Achievements

Iteration 10 focuses on extending the functionality of the platform by adding new endpoints for filtered datasets, enhancing data manipulation capabilities, and addressing critical bug fixes to improve the user experience. Key highlights include:

  • Enhanced Data Filtering: New endpoints were added to allow for filtered datasets, providing users with more control over the data they view and interact with.
  • Data Conversion and Manipulation: A data converter for STAC data was created, and mock STAC item data was inserted along with endpoints to manipulate these items, enhancing the backend's data handling capabilities.
  • Bug Fixes: Addressed issues related to notification prompts and metadata container behavior, ensuring a more polished and reliable user experience.
  • Improved Notification System: Notification prompts were fixed to ensure they appear on the highest z-index, avoiding any overlap or visibility issues.

What's Changed

  • #132 - feat(frontend & backend): Add Endpoints for Filtered datasets by @yasminehilout in #158
  • #180 - fix: [Bug]: Notification Prompts Should be on the Highest Z-Index by @XavierGuertin in #187
  • #81- feat(backend): Created Data Converter for Stac data by @adissuu in #186
  • #168 - feat(fullstack): Inserted mock STAC Item data and added endpoints to manipulate the items. by @LiamDaigle in #190
  • #189 - fix: [Bug]: Metadata container stays open after factory reset with previous dataset information by @XavierGuertin in #191

Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #132 (filtered datasets endpoints) → 5
    • #180 (notification prompts z-index fix) → 0
    • #81 (STAC data converter) → 3
    • #168 (mock STAC item data and endpoints) → 5
    • #189 (metadata container fix) → 0

    Total Story Points:
    13

Contractor Estimate

  • Estimated Hours:

    • 13 points × ~3 hours/point = 39 hours
  • Estimated Cost:

    • 39 hours × 35.50 CAD/hour = 1,384.50 CAD
    • Contractor Estimate for Iteration 10: $1,384.50 CAD

Full Changelog: iteration9...iteration10

Iteration 9

Choose a tag to compare

@XavierGuertin XavierGuertin released this 13 Feb 15:38
07c44ff

Main Achievements

Iteration 9 focuses on enhancing configuration management, data persistence, and addressing critical bug fixes to improve the overall user experience. Key highlights include:

  • Improved Configuration Management: Enhancements were made to configuration management, data persistence, and factory reset functionality, ensuring a more robust and user-friendly system.
  • Bug Fixes: Fixed issues related to the loading bar and load dataset functionality, as well as data display on the map to allow for quick alternation between different geometries.
  • Documentation Update: Added a video to the README to provide a visual overview of Release 2.

What's Changed


Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    Total Story Points:
    10

Contractor Estimate

  • Estimated Hours:

    • 10 points × ~3 hours/point = 30 hours
  • Estimated Cost:

    • 30 hours × 35.50 CAD/hour = 1065.00 CAD
    • Contractor Estimate for Iteration 9: $1065.00 CAD

Full Changelog: release2...iteration9

Release 2

Choose a tag to compare

@XavierGuertin XavierGuertin released this 27 Jan 03:36
d942e70

Main Achievements

The second major release brings together a variety of frontend and backend improvements, focusing on enhancing data management, user experience, and system stability. Key highlights include:

  • Refined Data Pipeline: Database operations were improved with PostgreSQL persistence, pgSTAC integration, and automated data fetching/saving.
  • Enhanced Frontend Control: The loading bar was refactored, alongside new functionality to reset the map, update settings, and load dataset polygons.
  • Better CI/CD & Maintenance: Continuous integration pipelines were refined to separate e2e tests, with multiple fixes for production environments and SonarQube coverage.
  • Expanded API Endpoints: New endpoints to retrieve collections and reset them in the database support a more dynamic user experience.

What's Changed


Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #0 (nx fix) → 1
    • #136 (fetch/save collections) → 3
    • #0 (README fix) → 0
    • #136 (SonarQube fix) → 0
    • #111 (Connect PostGIS/GeoServer) → 5
    • #145 (duplicate key bug) → 1
    • #149 (retrieve collections) → 3
    • #102 (loading bar refactor) → 3
    • #84 (reset collections) → 5
    • #151 (README update) → 0
    • #0 (e2e pipeline separation) → 1
    • #133 (metadata endpoints) → 5
    • #0 (general maintenance) → 1
    • #120 (saving settings) → 3
    • #0 (fix prod connection) → 3
    • #120 (localStorage bug) → 3
    • #135 (map reset) → 2
    • #147 (load dataset polygon) → 3

    Total Story Points:
    42

Contractor Estimate

  • Estimated Hours:

    • 42 points × ~3 hours/point = 126 hours
  • Estimated Cost:

    • 126 hours × 35.50 CAD/hour = 4,473.00 CAD
    • Contractor Estimate for Release 2: $4,473.00 CAD

Full Changelog: iteration7...release2

Iteration 7

Choose a tag to compare

@XavierGuertin XavierGuertin released this 20 Jan 23:19
500d03a

Main Achievements

This iteration introduced significant enhancements to both backend and frontend functionalities. The team continued to emphasize testing, data persistence, internationalization, and UI refinements. Key highlights include:

  • End-to-End Testing: Added automated E2E tests for dataset availability and metadata, enhancing overall test coverage.
  • Database Persistence: Configured PostgreSQL within Docker to ensure persistent data storage and streamlined development workflows.
  • Internationalization: Introduced support for English and French translations, allowing users to switch languages.
  • UI Refinements: Removed an unnecessary checkbox from the sidebar and refactored the map component for cleaner user interactions.
  • Backend Overhaul: Integrated pgstac, postgis, and postgresql for robust data handling, with added refactoring to accommodate multiple environments.

What's Changed

  • #104 - test(e2e): Added E2E tests for available_datasets and metadata by @LiamDaigle in #109
  • #116 - feat(PostgreSQL): Persist PostgreSQL Database in Docker by @PFratt in #126
  • #119 - feat(frontend): Added Translation for 'en' and 'fr' by @adissuu in #127
  • #124 - fix(frontend): Remove checkbox from sidebar by @eo2000 in #129
  • #117 - feat(proj): Initial backend with pgstac, postgis, postgresql db + frontend refactoring for API interactions + different environment runs by @im-samwong in #139
  • #118 - feat(frontend): Initial Map Refactoring by @LiamDaigle in #125

Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #104 → 2 points
    • #116 → 5 points
    • #119 → 3 points
    • #124 → 1 point
    • #117 → 5 points
    • #118 → 5 points
      Total Story Points: 2 + 5 + 3 + 1 + 5 + 5 = 21
  • (No additional setup tasks were recorded this iteration.)

Total Velocity for Iteration 7: 21 points


Contractor Estimate

  • Estimated Hours:

    • Story-Pointed Tasks: 21 points × ~3 hours/point = 63 hours
  • Estimated Cost:

    • 63 hours × 35.50 CAD/hour = 2,236.50 CAD
    • Contractor Estimate for Iteration 7: $2,236.50 CAD

New Contributors

Full Changelog: iteration6...iteration7

Iteration 6

Iteration 6 Pre-release
Pre-release

Choose a tag to compare

@XavierGuertin XavierGuertin released this 20 Jan 23:19
5649aee

Iteration 6

Main Achievements

During this iteration, the team focused on expanding core frontend functionality to enhance user interaction and control. Highlights include:

  • Introducing a Load Dataset button in the Metadata panel, streamlining dataset selection.
  • Enabling users to modify endpoint settings directly in the UI for flexible backend configurations.
  • Adding a project license to clarify usage rights and project governance.

What's Changed


Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #101 → 3 points
    • #100 → 3 points
      Total Story Points: 3 + 3 = 6
  • Setup Tasks (Estimated):

    • Create LICENSE: 0 point

Total Velocity for Iteration 6: 6 (story-pointed) + 0 (setup) = 6 points


Contractor Estimate

  • Estimated Hours:

    • Story-Pointed Tasks: 6 points × ~3 hours/point = 18 hours
    • Setup Tasks: 0 point × ~1 hours/point = 0 hours
    • Total Estimated Hours: 18 hours
  • Estimated Cost:

    • 18 hours × 35.50 CAD/hour = 639.00 CAD
    • Contractor Estimate for Iteration 6: $639.00 CAD

Full Changelog: iteration5...iteration6

Iteration 5

Iteration 5 Pre-release
Pre-release

Choose a tag to compare

@XavierGuertin XavierGuertin released this 20 Jan 23:19
cd14c1e

Iteration 5

Main Achievements

In this iteration, the team focused on increasing test coverage for frontend components, improving documentation, and establishing a direct connection to GeoServer. Significant refactoring took place to ensure the codebase remains organized and maintainable. Key accomplishments include:

  • Adding unit tests for core UI components and metadata panels.
  • Refining and streamlining the frontend code structure through refactoring efforts.
  • Establishing a connection with GeoServer for data retrieval.
  • Updating project documentation to reflect recent architectural and implementation changes.

What's Changed


Velocity and Contractor Estimate

Velocity Calculation

  • Closed Tasks with Story Points:

    • #99 → 5 points
    • #47 → 3 points
    • #103 → 3 points
    • #80 → 3 points
      Total Story Points: 14
  • Setup Tasks (Estimated):

    • Update README.md (#106): 1 point

Total Velocity for Iteration 5: 13 (story-pointed) + 1 (setup) = 14 points


Contractor Estimate

  • Estimated Hours:

    • Story-Pointed Tasks: 13 points × ~3 hours/point = 39 hours
    • Setup Tasks Estimate: 1 point × ~1 hour/point = 1 hours
    • Total Estimated Hours: 40 hours
  • Estimated Cost:

    • 40 hours × 35.50 CAD/hour = $1,420.00CAD
    • Contractor Estimate for Iteration 5: $1,420.00 CAD

Full Changelog: release1...iteration5

Release 1 (Iteration 4)

Choose a tag to compare

@XavierGuertin XavierGuertin released this 10 Nov 23:33
baef148

Main Achievements

Significant progress was made with a focus on refining frontend components. Key accomplishments included implementing the datasets sidebar, metadata display, layers sidebar, and user navigation options like map reset, settings, and language selection.

Closed Issues

Velocity and Contractor Estimate

  • Velocity Calculation:

    • Total Story Points for Closed Tasks:
      • Completed tasks totaling 41 points.
    • Setup Tasks without Story Points (Estimated):
      • [Bug] Border on Body Element Prevents Full-Screen Elements: 1 point (minor)
      • Create Demo for Release 1 Presentation: 3 points (high complexity)
      • Total Estimated Points for Setup Tasks: 4 points
    • Total Velocity for Iteration 4: 41 (story pointed) + 4 (setup estimate) = 45 points
  • Contractor Estimate:

    • Estimated Hours:
      • Tasks with Story Points: 41 points x ~3 hours per point = 123 hours
      • Setup Tasks Estimate: 4 points x ~3 hours per point = 12 hours
      • Total Estimated Hours: 135 hours
    • Estimated Cost: 135 hours * 35.50 $/hr = 4792.50 $

Contractor Estimate for Iteration 4: $4,792.50 CAD

What's Changed

  • #57-feat(frontend): Laying Groundwork for Front End Concept by @XavierGuertin in #58
  • #53 - feat(UI): Added loading bar component to be used for any loading processes by @im-samwong in #59
  • #34 - feat(actions): Explicitly defined base branch by @LiamDaigle in #55
  • #34 - fix(frontend): Modified configurations to make builds work locally by @LiamDaigle in #54
  • #34 - feat(actions): Adding Docker Build CI/CD to the Pipeline by @LiamDaigle in #60
  • #34 - feat(actions): Fixed docker-build.yml and attempting to fix CI.yml by @LiamDaigle in #62
  • #47 - feat(frontend): Added the UI component for MetaData by @LiamDaigle in #61
  • #63 feat(Setup) - Set Up Docker Hub and Github Workflow to Push Docker Images by @XavierGuertin in #64
  • #63 feat(Setup) - Set Up Docker Hub and Github Workflow to Push Docker Images by @XavierGuertin in #68
  • #29 feat(frontend) - Added the ability to switch between different map layers and to draw bounds for wildfire events. by @PFratt in #66
  • #36 - feat(docker): Containerized GeoServer by @lo-vil in #65
  • #70 - feat(backend): Implement Initial Data Retrieval from JSON File in Spring Boot Backend by @XavierGuertin in #71
  • #39 - feat(unit-test): updated dependencies and created sample test for jest tests by @adissuu in #56
  • #51 - feat(frontend): Added Buttons to UI by @Kadestery in #75
  • #74 - fix(Nx): Bug fix by transforming all nx config to local runner by @im-samwong in #76
  • #34 - feat(CICD): Added config to CICD to do code checks. by @im-samwong in #77
  • #33 - fix(sonar): Sonarqube configurations had to be switched to CICD for security by @im-samwong in #78
  • #33 - fix(sonar): Splitting the backend and frontend CI into two jobs and adding an extra sonar project by @im-samwong in #87
  • #48 - feat(frontend): Added Sidebar for Available Datasets by @yasminehilout in #67
  • #26 - feat(frontend): Synthetic Wildfire Simulation Controls by @lo-vil in #89
  • #53 - fix(UI): Added the loading bar for datasets for UI purposes by @Fetyali7 in #90
  • #88 - Fix(UI): Fixed the gap preventing full-screen elements by @Fetyali7 in #94
  • #63 - feat(docker): Setting up deployment to docker hub by @im-samwong in #96
  • #91 - feat(backend) - Add logging by @justncheng in #95
  • #4 - chore(documentation): Update Developer Getting Started Guide by @PFratt in #93

New Contributors

Full Changelog: iteration3...release1