Skip to content

Meeting Minutes

yasminehilout edited this page Nov 3, 2024 · 55 revisions

Meeting Minutes Table of Contents


Meeting #1: September 29th. - 10:00 AM

Attendance:

  • 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

Notes:

  1. 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.
  2. Software Architecture Proposal:
    • Waiting for stakeholder approval on the Software Architecture Proposal.
  3. Liability Documents:
    • Stakeholder signed the liability documents
  4. Jenkins for CI/CD:
    • Discussion about whether to use the free Jenkins service or request the stakeholder to cover costs.
  5. 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.
  6. 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.
  7. Work Package:
    • Stakeholder expected to send the draft Work Package by Monday, May 30th. Once received, team will focus on finalizing documentation.
  8. 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.
  9. 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.
  10. Milestone 1:
  11. 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

Action items:

  • 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).

Meeting #2: October 6th - 10:12 AM

Attendance:

  • 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

Notes:

  • 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-reviewed and Stakeholder 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.
  • 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.

Action Items:

  • 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.

Meeting #3 - With Stakeholder: October 7th - 12:00 PM

Attendance:

  • Yasmine Hilout
  • Ali Fethanat
  • Gabriel Dubois
  • Kade Keating
  • Louis Villemure
  • Liam Deglais
  • Philip Frattolillo
  • Samuel Wong
  • Xavier Guertin
  • Justin Cheng
  • Thibault Languillat (Stakeholder)

Absent:

Note taker: Yasmine Hilout

Notes:

  1. UI and Interface:

    • The stakeholder still needs to provide the UI and interface.
  2. 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.
  3. 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.
  4. Documentation Requirements:

    • Question: What type of documentation does the stakeholder want?
    • Answer: Documentation should include architecture and class diagrams, along with in-code documentation.
  5. 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…)
  6. 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.
  7. 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.
  8. Biweekly Meetings:

    • Plan: Regular biweekly meetings will be scheduled going forward.
  9. 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.
  10. Architecture Design:

    • Before Implementation: The stakeholder wants us to provide a round of architecture design for review before we begin implementation.
  11. User Stories Approval:

    • After Drafting User Stories: We notified the stakeholder that we need to send the user stories to him for approval.
  12. 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.
  13. Next Steps:

    • Next Meeting: We will get back to the stakeholder at the next biweekly meeting.

Action Items:

  • Provide the stakeholder with our availabilities for biweekly meetings.
  • Yasmine: update personas.
  • Add Thibeault to our Github

Meeting #4: October 7th - 12:30 PM

Attendance:

  • 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

Notes:

  1. Vote for NX:
    • Team voted on whether to use NX for the project.
    • Decision: We voted yes to use NX.

Action Items:

  • All: Begin implementation using NX.

Meeting #5: October 13th - 10:00 AM

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

Notes:

  1. 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.

Action Items:

  • 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.

Meeting #4: October 7th - 12:30 PM

Attendance:

  • 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

Notes:

  1. Vote for NX:
    • Team voted on whether to use NX for the project.
    • Decision: We voted yes to use NX.

Action Items:

  • All: Begin implementation using NX.

Meeting #6: October 20th - 10:00 AM

Attendance:

  • 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

Notes:

Roundtable Updates:

  • 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.

Additional Notes:

  • Sam mentioned the possibility of using a Dockerized version of GeoServer.

Action Items:

  • Plan tasks for Iteration 3.
  • Yasmine: Link issues to user stories in GitHub.
  • Discuss PRs (Gab).
  • Plan Iterations 3 & 4 for Release 1.

Meeting #7 - With Stakeholder: October 21st - 12:00 PM

Attendance:

  • 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

Notes:

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:

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.
  • 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.

Additional Notes from Stakeholder:

  • 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.

Action Items:

  • Send the stakeholder our mockups and architecture diagram.
  • Await feedback from the stakeholder’s geo expert and the dataset endpoint.

Meeting #8: October 27th - 10:00 AM

Attendees:

  • Yasmine Hilout
  • Ali Fetanat
  • Gabriel Dubois
  • Kade Keating
  • Louis Villemure
  • Liam Deglais
  • Philip Frattolillo
  • Justin Cheng

Absents:

  • Xavier Guertin
  • Sam Wong

Note Taker: Louis Villemure

Notes:

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.

Action Items:

  • Finish any tasks from iteration 3
  • Work on assigned tasks for frontend
  • Goal is to have a ui prototype for release 1

Clone this wiki locally