Releases: crim-ca/WildfireVisualizationProject
Release list
release3
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
- #313 - feat(feedback): Updated attributions and changed the attribution display by @PFratt in #314
- #316 - fix(frontend): Loading Bar Changes Position by @justncheng in #317
- #307 - feat(frontend): New Assets selection Menu by @lo-vil in #319
- #291 - fix(backend & frontend) Ensure All Toast Messages Use i18n and Remove Hardcoded Strings by @Fetyali7 in #321
- #254 - feat(frontend) : Customizable UI Polygons & Datalayer Styles by @XavierGuertin in #322
- #311 - feat(frontend): Dynamically Create Asset Heatmaps by @PFratt in #324
- #315 - fix(app) Imported and displayed title for datasets by @adissuu in #318
- #303 - feat(feedback): Resizable MapMetaData Window by @Kadestery in #320
- #325 #326 #328 - fix(feedback): Multiple User Feedback by @lo-vil in #329
- #285 - fix(e2e): Fixed e2e pipeline and existing e2e tests by @LiamDaigle in #331
- #330 - refactor(frontend): Polygon styles not resetting on factory reset by @XavierGuertin in #332
- #333 - fix(backend): Fix asset processing logic to handle real results from
pgstac.itemsby @im-samwong in #334 - #315 - hotfix(backend) - Added
titleparameter to the returned collections by @adissuu in #335 - #285 - test(e2e): Added filter tests and simulation tests by @LiamDaigle in #337
- #340 : bug(frontend) - Visibility and Behavior of Customization Palette by @XavierGuertin in #341
- #340: fix(frontend): Fix Persistance Issue by @XavierGuertin in #343
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
titleparameter) → 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
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
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
- #196 - refactor[Feedback]: Unclear Purpose of File and Directory by @XavierGuertin in #201
- #198 refactor[Feedback]: Avoid Hard-Coding URLs by @XavierGuertin in #202
- #199 - refactor[Feedback]: Avoid Logging Entire SQL Queries by @XavierGuertin in #204
- #195 - refactor[Feedback] : Remove Mock Implementation that was created in early stage by @XavierGuertin in #203
- #170 - feat(Offline): Offline functionality by @PFratt in #193
- #184 - feat(frontend): Added Tile Server as an offline map provider by @im-samwong in #206
- #52 - feat: Toggle - Filter Datasets By Region by @yasminehilout in #205
- #0 - chore(ci): Build pipeline maintenance for new services. by @im-samwong in #217
- #0 - chore(db): Default 5432 port conflicting with other local DBs. Update to 5433. by @im-samwong in #216
- #208 - chore: CleanUp - Remove Mock and unused methods by @XavierGuertin in #218
- #0 - chore(ci): Syntax error from build pipeline maintenance for new services. by @im-samwong in #219
- #134 - fix(frontend): Accurate loading bar by @justncheng in #215
- #227 - fix(deployment): Added dependency for health check for backend and fix deployment by @im-samwong in #228
- #222 - fix(tileserver-init): Adding gitattributes by @im-samwong in #226
- #194 - chore(backend): Adding comments to all backend files by @LiamDaigle in #229
- #207 - feat(backend & frontend) : Fetch Items from Collections Using new Endpoint Data by @XavierGuertin in #224
- #188 - feat(backend & frontend): Timeline Animation by @lo-vil in #230
- #212 - refactor(feedback): MapContext Refactoring by @PFratt in #232
- #235, #236 - fix(deployment): Fix Missing Environment Variables & Improve Deployment Stability by @im-samwong in #256
- #233 - refactor(offline): Refactor Offline Mode by @PFratt in #234
- #233 - fix(frontend): Added code coverage by @PFratt in #258
- #247 - fix(frontend & backend): Enable User Deselect Dataset by @lo-vil in #259
- #244, #250, #239 - fix(proj): Implement Full Lazy Loading for Collections & Fix Stuck Loading Bar Bug by @im-samwong in #257
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
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
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
- Added Release 2 Video to ReadME by @LiamDaigle in #165
- #172 - fix: [Bug] Loading bar / Load Dataset bug fix by @lo-vil in #182
- #179 - fix(frontend): Fixed data display on map so it can alternate different geometries quickly by @im-samwong in #183
- #166 #173 #174 #171 #169 #178 #177 - feat(frontend & backend): Enhance Configuration Management, Data Persistence, and Factory Reset Functionality by @XavierGuertin in #167
Velocity and Contractor Estimate
Velocity Calculation
-
Closed Tasks with Story Points:
- #165 (README update) → 0
- #172 (loading bar bug fix) → 1
- #179 (map data display fix) → 1
- #166 #173 #174 #171 #169 #178 #177 (enhancements) → 8
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
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
- #0 - fix(backend): Updating nx files for backend by @im-samwong in #141
- #136 feat(Backend) - Fetch And Save to DB the Hirondelle's Endpoint Collections by @XavierGuertin in #142
- fix README.MD by @XavierGuertin in #143
- #136 - fix: Fixed SonarQube's coverage report by adding tests by @XavierGuertin in #144
- #111 - feat(PostgreSQL/GeoServer): Connect PostGIS with GeoServer by @PFratt in #140
- #145 - fix: [Bug] ERROR: duplicate key value violates unique constraint: "collections_id_key" by @XavierGuertin in #146
- #149 - feature: [Backend] Create Endpoint to Retrieve a List of Collections from the Database by @XavierGuertin in #150
- #102 - fix(frontend): Refactor loading bar by @justncheng in #148
- #84 - feature(frontend & backend): Add endpoint to reset collections and update frontend with reset button by @XavierGuertin in #156
- #151 - chore(readme): Added my information by @eo2000 in #152
- #0 - chore(ci): Separating e2e tests into a different pipeline by @im-samwong in #157
- #133 - feat(Fullstack): Created metadata endpoints and implemented them on the frontend by @LiamDaigle in #155
- #0 - chore(proj): Update README.md & Maintenance by @im-samwong in #159
- #120 - feat(frontend): Saving the settings by @eo2000 in #153
- #0 - fix(ci): Fixed connection between frontend and backend on prod by @im-samwong in #160
- #120 - fix(frontend): localStorage bug fix by @eo2000 in #162
- #135 - feat(frontend & backend): Map Reset by @PFratt in #161
- #147 - feat(frontend, backend, test) - Loading dataset polygon onto map by @lo-vil in #164
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
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, andpostgresqlfor 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:
-
(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
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
- #101 - feat(frontend): Added Load Dataset Button in MapMetaData by @Kadestery in #114
- #100 -feat(frontend): Added Endpoint Modification Prompt in Settings Button by @yasminehilout in #113
- Create LICENSE by @lo-vil in #122
Velocity and Contractor Estimate
Velocity Calculation
-
Closed Tasks with Story Points:
-
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
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
- #99 - chore(UI): Adding unit tests for used components by @im-samwong in #105
- #47 - feat(frontend) - Added Unit Tests and Toggleability to the Metadata by @LiamDaigle in #97
- Update README.md by @lo-vil in #106
- #103 - Chore(frontend): Refactoring frontend files by @adissuu in #108
- #80 - feat(GeoServer): Create connection with Geoserver by @PFratt in #110
Velocity and Contractor Estimate
Velocity Calculation
-
Closed Tasks with Story Points:
-
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)
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
-
Completed Tasks:
- Implement synthetic wildfire simulation controls (start, stop, parameters) (#26) (5 points)
- Develop map display using OpenLayers with multiple geospatial data layers (#29) (5 points)
- Set up Github Actions for CI/CD pipelines for automated build and deployment (#34) (3 points)
- Containerize GeoServer with Docker and ensure its integration with backend services (#36) (5 points)
- Set up unit testing framework for frontend (Next.js) and backend (Spring Bot) (#39) (3 points)
- Implement sidebar for available datasets based on geographic region (#48) (3 points)
- Implement map reset, settings and language option for user navigation (#51) (2 points)
- Display loading progress bar when a dataset is selected (#53) (2 points)
- Laying Groundwork for Front End Concept (#57) (8 points)
- Add logging to backend (#91) (5 points)
-
Setup Tasks (No Story Points):
- [Bug] Border on Body Element Prevents Full-Screen Elements
- Create Demo for Release 1 Presentation
-
Expected Work vs. Actual Work:
- Accomplished as Planned: Tasks or user stories completed as expected.
- Pushed to Later/Closed:
- Build user-friendly dataset selection panel (#27) (3 points): Closed as a duplicate.
- Add toggle control for filtering datasets by region (#52) (2 points): Pushed to the next iteration due to lack of dataset access; frontend part complete, backend part to follow.
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
-
Total Story Points for Closed Tasks:
-
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 $
-
Estimated Hours:
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
- @LiamDaigle made their first contribution in #55
- @PFratt made their first contribution in #66
- @lo-vil made their first contribution in #65
- @Kadestery made their first contribution in #75
- @yasminehilout made their first contribution in #67
- @Fetyali7 made their first contribution in #90
- @justncheng made their first contribution in #95
Full Changelog: iteration3...release1