-
Notifications
You must be signed in to change notification settings - Fork 0
Meeting Minutes
- Meeting #1: September 29th - 10:00 AM
- Meeting #2: October 6th - 10:12 AM
- Meeting #3: October 7th - 12:00 PM - With Stakeholder
- Meeting #4: October 7th - 12:30 PM
- Meeting #5: October 13th - 10:00 AM
- Meeting #6: October 20th - 10:00 AM
- Meeting #7: October 21st - 12:00 PM - With Stakeholder
- Meeting #8: October 27th - 10:00 AM
- Meeting #9: November 3rd - 10:00 AM
- Meeting #10: November 8th - 11:00 AM
- Meeting #11: November 10th - 10:00 AM
- Meeting #12: November 22nd - 11:00 AM
- Meeting #13: November 30th - 10:00 AM
- Meeting #14: December 20th - 11:00 AM
- Meeting #15: January 6th - 12:00 PM
- Meeting #16: January 19th - 10:30 AM
- Meeting #17: January 19th - 10:30 AM
- Meeting #18: January 29th - 8:00 AM - With Stakeholder
- Meeting #19: February 9th - 10:30 AM
- Meeting #20: February 14th - 9:00 AM
- Meeting #21: February 26th - 8:30 AM
- Yasmine Hilout
- Ali Fetanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Daigle
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
Absent:
- Justin Cheng
Note taker: Yasmine Hilout
-
Repository Structure:
- Team discussed how to structure the repository to include both documentation and app code.
- Decision: Create a dedicated folder for all documentation within the repository.
-
Software Architecture Proposal:
- Waiting for stakeholder approval on the Software Architecture Proposal.
-
Liability Documents:
- Stakeholder signed the liability documents
-
Jenkins for CI/CD:
- Discussion about whether to use the free Jenkins service or request the stakeholder to cover costs.
-
Risk Mitigation:
- Need to mitigate the risks (Data inaccuracy, interoperability issues, browser compatibility, Big Data Handling, User Adoption).
- What should we do now that this project is not part of the government funding? Risks are now not the same for User Adoption, it's more strictly research.
-
Project Funding:
- The project is no longer part of government funding, affecting user adoption risks.
- Decision: User and requirements will change due to funding withdrawal. Team needs to consult Rigby on next steps.
-
Work Package:
- Stakeholder expected to send the draft Work Package by Monday, May 30th. Once received, team will focus on finalizing documentation.
-
Issue Tracking:
- ScrumMaster (Sam) will upload issues, including user story descriptions, Story Points, Priority, and Risk.
- Team members assigned to issues: must document further details based on the Teacher's given example.
-
Documentation:
- Documentation completion deadline: End of the week.
- Louis will create an issue format template for consistency.
- Finish elements of Peter's Setup Document covering Legal and Ethical issues, Personas, Economic, Risk, Diversity statement, etc.
-
Milestone 1:
- Close Issues for Milestone 1 Today.
-
Tech Stack:
- Agreed on the overall tech stack.
- Uncertainty around database decisions:
- Do we need to implement a cache?
- Should we connect to external databases to complete datasets?
- Need stakeholder input to finalize the database approach
- Louis Villemure:
- Create a format template for issue documentation to ensure consistency.
- Samuel Wong (ScrumMaster) (Maybe others too):
- Upload issues with user stories, Story Points, Priority, and Risk details.
- Team Members:
- Complete documentation for issues assigned using the provided format.
- Focus on closing issues for Milestone 1 by the end of the day.
- Collaborate on completing Peter's Setup Document (covering Legal and Ethical issues, Personas, Economic Risks, and Diversity Statement).
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Justin Cheng
Absent:
- Xavier Guertin
Note taker: Yasmine Hilout
-
Most of the documentation is defined, but missing Architecture Diagrams.
-
Gab, Xavier, and Sam created projects in GitHub. Now, the status for the board follows the ReadMe format:
- When you pick up the user story, whoever accepts the user story needs to write the acceptance criteria and break it down into tasks.
- SubTasks of a User Story can be done in parallel by multiple members.
-
Sam made a guideline for our documentation of tasks:
Task Documentation Guidelines -
User Story Labeling:
- Correct labels:
TA-reviewedandStakeholder Signed-Off. - We discussed if we should create an issue for the user story, then break down the tasks as subtasks, or create separate issues for each subtask.
- Decision: Create an issue for each subtask, label them as subtasks, and cross-reference them using the parent/child method. This needs further confirmation. Vote was 67% (6 votes) for split into subtask issues, 33% (3 votes) no splitting into subtask issues.
- Correct labels:
-
Sam will update the guidelines to reflect the cross-referencing format between the user story issue and the subtasks issues.
-
Gab created a wiki page for naming conventions:
Naming Conventions- We need to follow it to track changes across releases, commit conventions, and branch conventions.
-
Thibeault's Document:
Thibeault sent another document on Tuesday for our project:
Document -
In response to the document, a Final System Architecture was made and sent to the stakeholder on Tuesday:
Final System Architecture- This version includes the additional information we received from the Stakeholder's document.
-
Gab's Tool Proposal: Gab proposed using nx, a tool for creating monorepos, which might simplify the implementation of frontend (Electron, Next.js) and backend (Springboot), and improve versioning and dependency management.
- Vote for implementing nx by the end of the call.
- Everyone should read about nx and vote.
-
Issues in Repo:
Gab, Xavier, and Sam defined issues in the repository, as well as the work breakdown for iteration 2:
Work Breakdown for Iteration 2 -
Documentation Split:
We should ask CRIM if they have additional documentation requirements.
- Sam: Update guidelines to include cross-referencing.
- All: Review and vote on the use of nx by the end of the call.
- Yasmine: Ask CRIM about specific documentation requirements and clarify exactly who our users are and their goals during the upcoming meeting.
- Go to meeting with Stakeholder:
- Scheduled: Monday 7th October, 2024.
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
- Thibault Languillat (Stakeholder)
Note taker: Yasmine Hilout
-
UI and Interface:
- The stakeholder still needs to provide the UI and interface.
-
Datasets:
-
Question: How will we access the datasets?
- For past data: No API, we pull the datasets directly from them.
- For live data: We may be able to use live information (specifics unclear).
- The stakeholder will also provide the link to the dataset list they would like to visualize.
-
Question: How will we access the datasets?
-
Caching Mechanism:
- Question: How should the JSON data be renewed? Is there a specific criterion for data expiration?
- Answer: The datasets will represent past events, so no updates to the data will be required. However, if you want to re-request the download, that is possible.
- Note: The stakeholder mentioned that the pipeline to process the data might change, but not the data itself.
-
Documentation Requirements:
- Question: What type of documentation does the stakeholder want?
- Answer: Documentation should include architecture and class diagrams, along with in-code documentation.
-
Application Modes:
-
PAST EVENTS Mode:
- OGC API will be used for past events.
- Question: Who will create the dataset list?
- Answer: The stakeholder and several others will create the list of datasets.
- This is the endpoint from where we download the data (OGC description).
- Question: Will there be updates to this data?
- Answer: The data itself won’t change, but the data processing pipeline might.
-
SIMULATION Mode:
- Question: What data will be used for the simulation?
- Answer: Still uncertain about the data for simulation. He doesn't think it will be live, as live systems are slow to update. (For later…)
-
-
Dataset Delivery:
- Goal: The data will be cached on the local machine for the user.
- First-time Data Access: A JSON file will be provided with links to the datasets. The user will select what they want to view, and from there, the data will be displayed.
-
Personas:
- Question: Who are the primary users?
- Answer: The main personas will be researchers and data scientists who want to test and visualize algorithms, particularly for wildfire prediction.
-
Biweekly Meetings:
- Plan: Regular biweekly meetings will be scheduled going forward.
-
Dataset and UI Delivery:
- Question: When can we expect the dataset sample and UI?
-
Answer:
- A dataset will be provided in 2 weeks, but we might have a sample earlier than that.
- The UI requirements will be delivered by Friday.
-
Architecture Design:
- Before Implementation: The stakeholder wants us to provide a round of architecture design for review before we begin implementation.
-
User Stories Approval:
- After Drafting User Stories: We notified the stakeholder that we need to send the user stories to him for approval.
-
Application Deployment:
- Question: How will the app be deployed? Should it require an executable?
-
Answer:
- The app should be hosted but also work locally. The target users are basic users, software developers, and data scientists.
- We can create a script to start the app.
- Docker is also acceptable for deployment.
-
Next Steps:
- Next Meeting: We will get back to the stakeholder at the next biweekly meeting.
- Provide the stakeholder with our availabilities for biweekly meetings.
- Yasmine: update personas.
- Add Thibeault to our Github
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
Absent:
- Thibault Languillat (Stakeholder)
Note taker: Yasmine Hilout
-
Vote for NX:
- Team voted on whether to use NX for the project.
- Decision: We voted yes to use NX.
- All: Begin implementation using NX.
Attendees:
- Yasmine Hilout
- Ali Fetanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
Absents:
- Louis Villemure
Note Taker: Yasmine Hilout
-
This week, the infrastructure for both frontend and backend was set up using Nx. However, Nx does not support Spring Boot. Unit tests for both frontend and backend still need to be configured; currently, only test files exist, but no testing dependencies are set up. The backend was built in IntelliJ and is functioning correctly.
Docker:
- Sam believes we do not need a Docker agent, neither locally.
- Pushing to the main branch in GitHub Actions will trigger a Docker Hub process that will containerize at every build, and we will download the images created from this containerization.
- We can upload it directly to the pipeline—a Docker pipeline.
- We need to verify if Docker is set up.
- GeoServer needs to be configured.
- Set up GeoServer.
- Set up SonarQube.
- Complete remaining tasks for the end of iteration 2.
- Respond to Thibeault’s latest requirements specification, including any questions.
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
Absent:
- Thibault Languillat (Stakeholder)
Note taker: Yasmine Hilout
-
Vote for NX:
- Team voted on whether to use NX for the project.
- Decision: We voted yes to use NX.
- All: Begin implementation using NX.
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
Absent:
- Louis Villemure
Note Taker: Yasmine Hilout
-
Yasmine:
- Analyzed updated requirements with Phil and Sam, prepared questions for clarification.
- Updated Epics and User Stories in the Work Breakdown document to match new requirements.
- Completed the architecture diagram and uploaded it to the wiki.
- Started brainstorming UI inspiration for mockups with Phil.
- Drafted potential API endpoints in the API_Stakeholder document; needs review with Sam before project setup.
-
Sam:
- Reviewed updated requirements.
-
Ali:
- Encountered integration issues with GeoServer and the backend.
- Suggested setting up the backend before integrating GeoServer.
- Reviewed team documents.
-
Gabriel:
- Wants to ensure SonarQube setup is complete.
- Noted potential security threats in the Docker file.
-
Justin:
- Developed the deployment diagram.
-
Kade:
- Needs to start working on tasks this week.
-
Liam:
- Discussed CI/CD pipeline with Xavier.
-
Phil:
- Conducted research on datasets.
- Performed OpenLayer tests.
- Plans to work on the database with Sam this iteration.
-
Xavier:
- Set up Docker and PostgreSQL locally.
- Attempted to containerize PostgreSQL in Docker.
- Created SpringBoot components.
- Worked on NX Cloud with Liam.
- Set up SonarQube.
- Changed naming conventions.
- Sam mentioned the possibility of using a Dockerized version of GeoServer.
- Plan tasks for Iteration 3.
- Yasmine: Link issues to user stories in GitHub.
- Discuss PRs (Gab).
- Plan Iterations 3 & 4 for Release 1.
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
- Thibault Languillat (Stakeholder)
Absent:
- None
Note taker: Yasmine Hilout
Just before the meeting, the stakeholder addressed some of our questions about the updated requirements. We then asked for further clarification. Here’s a summary of the questions and answers:
-
First pull of data should be online, but after that, you wouldn’t need to download data anymore, correct?
- Answer: That’s correct, assuming nothing changes. If any information in the JSON file is updated, you will need to refresh the data. It would be a nice feature to only update the parts of the data that have changed. Most systems support partial downloads for such updates.
-
When you say a user selects a dataset:
- Does the user simply zoom in on a place on the map?
- Does the user need to enter a geographic zone to display corresponding satellite imagery?
- Or should the data start rendering when zoom is at a certain range?
- If so, what specific range should we start visualizing the data at?
- Answer: Until a dataset is selected, the interface should not display satellite imagery, as this will speed up the application. The dataset’s location should be marked with a pin on the map. The user can select it by clicking on the pin or choosing it from the side panel. If region-based selection is activated, the side panel should only display datasets corresponding to visible pins.
-
You replaced WPS with OGC API. What does that mean? Didn’t you say you wanted us to call your endpoint for data? Why are we fetching from OGC API?
- Answer: After consulting with my geo expert, we decided WPS is too different from our current standards, and it would be challenging to ensure compatibility. We will focus on OGC standards as we create compatible datasets. I plan to add my geo expert to the project next month.
-
Regarding "The option to reduce the list of datasets based on the current region should be managed by a toggle button"—is our interpretation correct?
-
Interpretation:
- Toggle on: Display datasets based on the current map region.
- Toggle off: Show all available datasets. If a dataset outside the current region is selected, the map will navigate to the relevant area.
- Answer: Yes, that interpretation is correct.
-
Interpretation:
-
Can multiple layers be displayed at the same time?
- Answer: Yes, multiple layers can be displayed simultaneously. For example, one layer could represent the burnt area geometry, another could show vegetation segmentation, and another ground temperature. Users should be able to select which layers are displayed and in what order.
-
Now that we’re using STAC items or WFS datasets, will we still use WMS and WCS?
- Answer: We may use WMS, but WCS won’t be used.
-
Regarding the dataset example from Nature article, what specific data would you want?
- Answer: All the information is relevant for wildfire prediction and management, though the dataset doesn’t follow our standard and can't be used as is.
- Dataset Selection: Each dataset will correspond to one fire event.
- GeoServer Compatibility: GeoServer is compatible with the OGC API.
- Offline Mode: In offline mode, users will work with the latest selected dataset.
- Config File for Data Scientists: A config file will allow data scientists to change datasets. Options include an edit button in the UI or direct manual edits in the config file.
- Send the stakeholder our mockups and architecture diagram.
- Await feedback from the stakeholder’s geo expert and the dataset endpoint.
Attendees:
- Yasmine Hilout
- Ali Fetanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Justin Cheng
- Xavier Guertin
Absents:
- Sam Wong
Note Taker: Louis Villemure
Yasmine worked on UI mockups, which have been broken down into tasks and assigned for implementation for release 1.
This week the team was unable to get much work in given the midterm examination period. Many team members are having trouble running the app locally due to dependency issues. Volume will pick up in the upcoming week.
Xavier set up docker and containerized frontend, backend, and db. Fixed Sonarqube quality gate issues and Nx cloud.
Liam has been working on CI/CD tests.
Louis and Ali worked on containerizing Geoserver. After a lot of trial and error, Ali was able to set up docker and was able to pull an image and run it locally.
Kade has been working on the presentation for the 1st release.
Justin has been working on setting up the unit tests for springboot.
- Finish any tasks from iteration 3
- Work on assigned tasks for frontend
- Goal is to have a ui prototype for release 1
- Yasmine Hilout
- Ali Fetanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
Absent:
- Thibault Languillat (Stakeholder)
Note taker: Yasmine Hilout
-
Sam:
- Made a list of progress for release 1, focusing on what we’re going to be graded on. Finished his task for the loading screen.
- Created a document for the mockup to take notes.
-
Phil:
- Worked on UI tasks, refactoring a few things and addressing native language display for countries—looking to display in French/English.
-
Liam:
- Worked on UI for metadata and identified an issue due to nx cloud, adjusting the naming convention to avoid starting branch names with “#” to prevent CI failures.
- Left tasks for CI: connecting to the cloud and adding SonarCube for coverage files.
-
Ali & Louis:
- Found an image for GeoServer and are trying to integrate it into the Docker file, currently encountering initialization errors.
-
Kade:
- Finished the presentation for Release 1 but still has UI tasks pending.
-
Justin:
- Completed setting up JUnit for the backend Spring Boot and is available for new tasks.
-
Yasmine:
- Gave the stakeholder the latest mockup and architecture diagram. He replied, stating he would review them before the next meeting and mentioned that the synthetic dataset is ready, with the corresponding JSON file to be available shortly.
- Focused on developing the UI component and planned to work on the Available Datasets sidebar.
-
Xavier:
- Set up Docker and is creating a project for Docker configurations and images, having set up the frontend for team access.
-
Gabriel:
- Created a PR and started working on a UI task while coordinating with Justin to add a plugin for coverage.
- Decision: Rule: Set two people to do reviews. No PR should be reviewed by less than two people.
- Review feedback from the TA and stakeholder.
- Update the mockup and add it to the wiki.
- Ask Languillat for feedback on the mockup, including colors and search functionalities.
- Clarify PMS-136 terminology.
- Investigate if a progression bar is part of OpenLayers.
-
Additions:
- Show mockup of collapsed elements.
- Add a fullscreen button at the bottom right.
- Ensure components have collapse buttons.
-
Removals:
- Navbar.
- Copyright notice at the bottom.
-
Changes:
- Settings should include a factory button, reset button, language options, configuration settings, and a textbox prompt.
- Colors should match blue and grey similar to CRIM (stakeholder).
- Map component will be the parent with layers and available datasets.
- One week until release 1, with plans for a 30-minute video.
- Ensure testing and SonarCube report completion, improving code quality through testing and CI/CD.
- Backend implementation for datasets to begin.
- Prepare a good UI with dummy data, followed by backend work for available datasets and implementation.
- Yasmine Hilout
- Ali Fetanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Deglais
- Philip Frattolillo
- Samuel Wong
- Xavier Guertin
- Justin Cheng
- Thibeault Languillat (Stakeholder)
Note taker: Yasmine Hilout
-
Q1: Endpoints:
- When we add an endpoint, do we need to flush all the other ones?
- If we don’t flush, does it mean we have multiple at a time?
- Should we be able to scroll through all the endpoints?
-
A1:
- There will be only one endpoint, which will contain all datasets.
- Initially, we thought all datasets from each endpoint would be in the database (local cache). He clarified that only selected datasets would be included.
-
Flowchart:
-
Setting Prompt → Modify API endpoint
- This tells the configuration file to request from the specified endpoint.
-
Save and Exit the settings
- Sends the API endpoint to the backend.
- Backend queries all the datasets' metadata from this API.
-
[Backend] Generation of Available Datasets
- [Frontend] Now displays all datasets.
- The user can click on a dataset to view its metadata.
-
Confirmation Button for full data retrieval
- [Backend] Pulls and displays the complete dataset (includes all events, temperature, etc.).
- Loading screen appears during data retrieval.
-
Setting Prompt → Modify API endpoint
-
Q2: Loading Bar:
- For visualizing download progress, when should the loading bar be displayed?
- When selecting an endpoint and uploading a dataset?
- Or, when selecting a dataset in the Available Datasets sidebar as it renders?
- For visualizing download progress, when should the loading bar be displayed?
-
A2:
- The loading should be a progression percentage, allowing the user to continue interaction while visualizing the rendering.
- This approach is akin to progressive or lazy loading (similar to games where the user can still interact while data loads in the background).
-
Endpoint Description:
- The stakeholder needs to update the endpoint description and will follow up on that.
-
Geoserver Usage:
- He will see if they will use Geoserver. Geoserver is for displaying large raw datasets, which may not apply to fire events.
-
Dataset Access:
- He just received the token to upload the synthetic dataset.
- Full dataset access will be provided on Monday.
-
Data Source:
- Original data comes from an external server.
-
Current State:
- Appears as if data is loaded from a local database, not a remote source.
-
Comments:
- Update the architecture diagram to reflect the external data source.
- Uncertainty regarding interactions between Controllers and DTO (Weaver) – likely, interactions will pass through the OGC API.
-
Action:
- We will update the architecture diagram accordingly.
-
Repository Entities?
- Our Answer: Repository entities are a standard part of Spring Boot functionality.
-
Parameter Representation?
- Our Answer: Endpoint parameters will be saved in JSON format in the controller.
- Improved UI display options.
- Editable JSON in the UI (future consideration).
- Simulation (prediction of future events).
- Dynamic rendering options.
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Justin Cheng
- Kade Keating
- Sam Song
- Louis Villemure
- Phil Di Fratello
- Xavier Guertin
- Liam Deglais
Note Taker: Yasmine Hilout
-
Create different environments
- Xavier will look into that.
-
Postmortem of Release 1:
-
Key Accomplishments:
- Overcame challenges by focusing on consistent elements and finalized essential components for the release.
-
Challenges:
- Liam emphasized sticking to a single structure, suggesting more consistency in tools.
- Improvement needed in planning.
- Discussed the necessity of Iterations 5 and 6.
- Liam advised maintaining a steady contribution pace with no spikes.
-
Key Accomplishments:
-
Discussion Points:
- Consider switching from MapTiler to GeoServer.
- Decision on refactoring:
- Do we confirm the use of Tailwind and stylesheets instead of allocating time for Tailwind refactoring?
- Plan to move away from styled components.
- Decide between refactoring to Tailwind or using CSS sheets.
- Film demo.
- Add iteration notes.
- Create release documentation for each iteration.
- Add a Dev Starter Guide to the README.
- Create issues for the upcoming iterations and share the Next Release Plan with the team.
- Yasmine Hilout
- Ali Fethanat
- Gabriel Dubois
- Kade Keating
- Sam Song
- Louis Villemure
- Phil Di Fratello
- Xavier Guertin
- Francis Charette-Migneault
- Justin Cheng
- Liam Deglais
Note Taker: Louis Villemure
-
We should definitely use PostGIS extension for Postgres
-
For our db, don't use strong mapping given that our dataset is subject to change
-
Sam raised a question regarding Geoserver's role in the backend and its ability to take on multiple requests. Francis mentioned that Geoserver is built for having multiple parallel requests and that we should not worry about it.
-
After the meeting we discussed with Francis that alternatives to Geoserver could be used (which Ali and Phil will be researching more)
-
Sam asked for what can be shown on the metadata sample, Francis responded any info that can help identify what will be displayed (area and dataset variables - this may be relating to datacube extension)
-
STAC
- Compliant with OGC service, except it combines features and assets - additional content to describe geospatial data (humidity, wind speed, etc.).
- Look into using PgStac, which is Postgres schema with functions for storing STAC collections and items in Postgres
- He also mentioned a mapping that needs to be done to datacube. This essentially is datacube related metadata that describes their dimensions and variables.
- In the demo of STAC colletions from another project Francis is working on at CRIM, he mentioned the stac-browser endpoint that shows a rendering of the datasets.
-
Discussion Points:
- Everyone has to do their due diligence in understanding STAC collections and items
- Francis mentioned that a docker image exists for STAC, we have to follow up and ask him exactly what he meant.
-
Present:
- Eden (New member)
- Ali Fetanat
- Gabriel Dubois
- Kade Keating
- Louis Villemure
- Liam Daigle
- Justin Cheng
- Philip Frattolillo
- Samuel Wong (Scrum Master and note taker)
-
Absent:
- Yasmine Hilout
- Louis Villemure
- Xavier Guertin
- Eden has joined the team.
- PR for refactoring the navigation bar has been fixed.
- Worked on the database schema.
- Moved some issues from iteration 5 were pushed to iteration 6 due to technical difficulties.
- The
iteration5Git tag was delayed because work was completed and PRs were raised but did not pass the checks initially.
- Open PR for E2E tests.
- Mentioned a possible bug with CI as the tests are not running on the pipeline, though they are functional locally.
- With Eden joining, the team needs to set a new meeting schedule. A When2Meet will be sent out to decide on new times, accommodating the new semester’s schedule.
- Agreed to push back CRIM meeting times due to exams and the current lack of substantial updates to share.
- Sam: Send out the When2Meet link to finalize the new meeting schedule.
- Liam: Investigate the CI bug preventing E2E tests from running and provide an update.
- Team: Complete the When2Meet survey to ensure everyone’s availability is accounted for.
- Focus on wrapping up iteration 6 and ensuring all PRs pass the necessary checks.
- Prepare for the next CRIM meeting with progress updates post-exams.
Meeting Adjourned.
- Sam
- Yasmine
- Gabriel
- Liam
- Ali
- Justin
- Phil
- Eden
- Louis
- Release 1 grading
-
Rigby said we need logging
-
Issues:
- Deployment still doesn’t work
- Sam is going to create an issue for that
- Note: we’re not going to use MapTiler.
- Deployment still doesn’t work
-
Issues:
- Create issues for every point lost in the release
-
Email Rigby about the structure of the directory
- Because we used Nx, and he didn’t have a specific thing
- Or we could do a refactoring issue for the directory.
-
Update: Liam mentioned:
- Now we write our functions in the context, and we import them where we want to.
- Sam
- Gabriel
- Liam
- Justin
- Phil
- Eden
- Louis
- Yasmine Hilout
- Xavier Guertin
- Ali Fetanat
- Kade Keating
- Set kickoff meeting post break (Wednesday Jan 8th)
- Still having issues with using PgSTAC, have reached out to Francis and have received a response. However we still a bit confused by his response. More to come in upcoming days.
- Thibault mentioned that he'll have a real dataset for us to work with by the end of the month. However we will still use Francis's suggested endpoint (https://hirondelle.crim.ca/stac/collections/), which will resemble Thibault's dataset. This means we still need to configure and use PgSTAC.
- In terms of geoserver: If a user is offline, then they can only use the default map provided offline with the downloaded datasets
- Sam,
- Liam,
- Xavier,
- Gabriel,
- Eden,
- Louis,
- Yasmine,
- Kade
- Phil,
- Ali,
- Justin
- Sam: Submitted PR for the installation process, verified functionality locally and with Docker. Available to assist others with challenges.
- Liam: Completed metadata boilerplate but awaits proper records from the stakeholder. Considering using Hirondelle's data as a placeholder.
-
Louis: Focused on debugging setup issues, particularly with the
nx serve frontendcommand. - Kade: Spent time understanding the assigned task.
- Gabriel: Resolved tests related to translation introduction and began work on the data converter (DTOs). Looking to offload slide preparation.
- Eden: Preparing to start on the task for saving settings (language and speed preferences).
- Yasmine: Worked on understanding backend setup as a first-time backend contributor. Resolved Docker issues and progressed with Hirondelle's endpoint.
- Xavier: Implemented retrieval of data from Hirondelle, including testing and local implementation.
- Metadata Records: Should the team proceed with Hirondelle's data as a placeholder or wait for records from the stakeholder?
- Save Settings Implementation: Use a JSON file to store user settings (language and speed) in a key-value format for frontend integration.
- Redistribute tasks for the upcoming presentation.
- Follow up with the stakeholder to confirm if existing parameters (language, speed) are sufficient or if additional settings are needed.
- Sam,
- Liam,
- Xavier,
- Gabriel,
- Eden,
- Louis,
- Yasmine,
- Kade
- Phil
- Justin
- Ali
- We now have an extra pipeline for the e2e tests
- Yasmine worked on available datasets, specifically filtering the datasets displayed (by name, date, etc.). She will work on filtering the dataset by region the future.
- Eden worked on saving the settings. PR is up and waiting for approvals. Saving the settings was done using local storage, will have to be refactored in the future.
- Gabriel is working on data converter, will be done in the future.
- Justin changed the loading overlay frontend. Will have to then adjust it for displaying relative to the dataset loading.
- Kade has / is working on the presentation. He will be filming the lightning demo for release 2.
- Louis worked on loading the dataset. The implementation will be subject to change given that in the future we will be showing a collection of items, which we will show the progression on the map with the synthetic controls.
- Liam loads the metadata from the backend to the frontend. When a dataset is selected, the dataset is loaded.
- Phil established the connection to geoserver. Working on reseting map view with Ali.
- Xavier worked on multiple endpoints for fetching the data from the db. Also worked on the ui for the factory resets. Also the ui for adding endpoints.
- Held behind by the delay for the dataset.
- We will have to move away from storing the user settings to local storage, instead store in the db.
- Many questions for Thibault regarding the new dataset, especially in regards to the synthetic controls and sequential display of the wildfire events.
- Show Thibauld our progress for backend
- Louis
- Sam
- Justin
- Phil
- Gabriel
- Yasmine
- Thibeault (Stakeholder)
Note Taker: Yasmine
- Presented the updated Architecture:
- Removed MapTiler from the architecture.
- Confirmed use of PgSTAC.
- Reaffirmed use of the Hirondelle endpoint.
- Remove "Latest Added" and "Latest Updated" from dataset filters.
- Stakeholder confirmed that we will receive the dataset next week.
- Factory Reset: Deletes all datasets and resets application parameters.
-
Reset: Only resets application parameters but keeps the endpoint.
- Endpoint is preserved, but all uploaded data is deleted.
- Show the current endpoint in the settings.
- To change the endpoint, the user must click Factory Reset.
- Deleting endpoints manually is an option.
- Clarification needed on how offline mode will function.
-
Clicking "Load Dataset" should trigger everything necessary for offline mode.
- This should pull all datasets from the collection when executed.
- Implement changes to the filters.
- Update the reset and factory reset functionality accordingly.
- Ensure that settings display the current endpoint.
- Follow up on offline mode implementation details.
- Wait for dataset delivery next week and prepare for integration.
- Justin
- Eden
- Louis
- Sam
- Xavier
- Phil
- Gabriel
- Yasmine
- Kade Keating
- Ali Fethanat
Note Taker: Yasmine Hilout
- Sam: Fixed bug with OpenLayers + Fixed bugs with GeoServer (turned off cache) + Changed implementation so that a new data layer is added every time + Contacted stakeholder for decision + Helped Xavier.
-
Xavier: Completed 5 different stories:
- Update Configuration Management #166
- Saving Application Settings v2 #173
- Factory Reset Button #174
- Settings Button Displays Config File (Non-Editable) #171
- Initial Open of the Application Requires a Valid Endpoint (If Config is Empty) #169
- Also fixed 2 bugs:
- [Bug]: Factory Reset Does Not Clear Dataset Panel or Polygon #178
- [Bug]: Reset Button Should Only Reset Application Parameters #177
- Phil: Worked on the same issue as Sam, but Sam resolved it first by mistake. Now working on an issue to load metadata offline. Available to help someone with their issue.
-
Liam: Been working on loading STAC model items. Encountered issues as PgSTAC was not initially recognized as the database. Planning to make an endpoint to streamline the process (eliminating the need to load collections manually).
- Suggestion: Consider changing the database port since multiple team members have encountered this issue.
- Louis: Worked on a bug, but Justin was also working on it simultaneously. Worked with Sam on caching issues with GeoServer. Planning to work on synthetic controls, but blocked due to missing dataset.
- Justin: Working on the loading bar function to accurately display what is being loaded.
- Gabriel: Has a draft PR open for data converter for STAC data. Needs review.
- Eden: Has a PR open for end-to-end (E2E) tests.
-
Yasmine: Needs to call Xavier’s endpoint and sort datasets in the backend using ID & Name of the collection.
- TODO/IDEAS:
- Designing it to be flexible.
- Working on sorting datasets based on the region where the user is.
- Implementing "Update" button (similar to "Search in this area" on Google Maps).
- Implementing buffering so the system stops updating after a zoom/move event ends.
- TODO/IDEAS:
- GeoServer is now mandatory.
- E2E tests will now consider multiple services.
- WFS is no longer used, making issue #31 obsolete since all saved data will now be STAC data.
- Every milestone should include a dedicated issue for E2E tests to ensure coverage.
- We closed stagnant open issues that had already been dealt with in other issues.
- Louis
- Sam
- Xavier
- Phil
- Gabriel
- Kade
- Ali
- Justin
- Eden
- Yasmine
- Liam
Note Taker: Phil
- Presented changes proposed during the last meeting
- Use a low detail map when offline
- One level of zoom is sufficient
- Don’t need topographic/satellite layers
- Can propose a paid map service if we deem it necessary
- Stakeholder was unable to provide the dataset due to other obligations
- Mentioned that someone should be available to work on it starting on February 24th
- We can now expect the dataset in the first week of March
- The data layer polygon does not get removed on factory reset
- Currently need to refresh the page to force the update
- The architecture diagram should have a connection between GeoServer and OpenLayers and MapTiler should be removed completely
- Country name labels are in the official language of the country and not English/French
- Stakeholder has verified that this is not an issue
- Research offline map alternatives and implement full offline functionality
- Fix the data layer bug
- Update the architecture diagram
- Wait for dataset delivery and prepare for integration.
- Louis
- Yasmine
- Liam
- Phil
- Gabriel
- Yasmine
- Ali
- Justin
- Eden
- Xavier
- Sam
Note Taker: Louis
- Presented changes proposed during the last meeting
- The data is currently on hirondelle, they are having problems with the script:
- The Stac descriptor does not have the correct path - minor bug on their side that should be solved by today
- We should expect the working script and datasets latest by Friday (February 28th)
- Thibault mentioned that the notebook script sent in the past (November / December) can still be used as reference.
- Once timeline is implemented, showing the progression of wildfire events, user feedback will be key.
- We will then work on implementing the respective features based on the comments.
- Research and begin to implement the timeline for showing the progression of wildfire events (last major feature to implement)
- Update the architecture diagram
- Wait for dataset delivery and prepare for integration.