-
Notifications
You must be signed in to change notification settings - Fork 2
Sprint 3
The milestone can be found at the following link: Sprint #3.
Objective: Enhance Website Application, Implement GitLab Pipeline, Supply Backend Functionality, and Refactor Software for Project Delivery
Focus: Extensively work on the GitLab
pipeline, including automated unit testing and deployment mechanisms, to improve software reliability and streamline delivery workflow.
Task: Supply defined backend functionality to Vue
components using JavaScript
modules, integrating necessary backend modules to ensure seamless communication and data exchange between the concerned components.
Final stage: Refactor and refine the software, addressing issues, optimizing performance, and improving codebase readability and maintainability for project stability and scalability.
Outcome: By the end of Sprint #3
, the project team aims to have an enhanced website application with refined Vue
components, an effective GitLab
pipeline for automated testing and deployment, supplied backend functionality, and completed final software refactoring and refinement. These efforts ensure project readiness for high-quality delivery.
The following section includes the list of requirements that were considered for Sprint #3
. Moreover, for each, it is indicated whether it was completed or not. As part of documenting the issues, the Requirement
template was used, which enforced the use of user stories, SRS requirements, etc., as much as applicable. The list is the following (sorted by issue numbers):
- #47: Create Sitemap diagram
- This issue has been out-scoped for
Sprint #3
as it proved to be a non-essential addition to the project. Hence, the labelout-of-scope
was added to the issue.
- This issue has been out-scoped for
- #62: Create navbar for logged in user
- #63: Add reconnect to mqtt.js connect function
- #64: Create a Vue component for the sensor-specific graphs
- #65: Implement a
JS
module that generates a simple line graph - #67: Calculate average sensor values
- #68: Add publish mechanism that transfers user-defined ranges (from the web-app) to the terminal
- #69: Add mechanism that supplies MonitorTerrarium page with real-time sensor values
- #70: Parse vibration data as a counter in application module
- #71: Create Website "MonitorTerrarium"-component
- #72: Add Client-Side Routing for the Terminarium Website
- #73: Refactor Behavior for "Your Terrariums"-page
- #74: Add More (Avatar) Image Assets
- #75: Apply global web styling
- #76: Improve Web-app Codebase Consistency
- #77: Refactor set sensor ranges component
- #78: Create an install/build pipeline for terminarium-web
- #79: Add a linting job to the pipeline
- #80: Implement save & read from local storage in set sensor ranges component
- #81: Add testing job to the pipeline
- #82: Add Unit Test for the DefaultPageLayout Vue Component
- #83: Fix logo file path in header
- #84: Add Unit Test for the Header Vue Component
- #85: Add a Unit Test for AccessButton Component
- #86: Add Unit Test for Avatar Component
- This issue could not be completed due to time constraints. Thus, the label
out-of-scope
was added to the issue.
- This issue could not be completed due to time constraints. Thus, the label
- #87: Add Unit Test for Chart Component
- This issue was not completed due the implementation of the component which connects to the database to retrieve the sensor data. For that, the
.env
file would need to be "injected" onto the unit test, which proved to be a challenge. Thus, the labelsout-of-scope
,invalid
were added to the issue.
- This issue was not completed due the implementation of the component which connects to the database to retrieve the sensor data. For that, the
- #88: Add Unit Test for the SelectTerrariumPage Component
- Due to time limitations, this issue was not completed. Thus, the label
out-of-scope
was added to the issue.
- Due to time limitations, this issue was not completed. Thus, the label
- #89: Add Unit Test for the SetSensorRanges Component
- The issue was not completed due to time constraints. Thus, the label
out-of-scope
was added to the issue.
- The issue was not completed due to time constraints. Thus, the label
- #90: Allow user input to modify network credentials from Wio terminal
- #91: Bug: fix Wio Terminal errors when simultaneously receiving multiple ranges
- #92: Add functionality to User Settings save button
- #93: Create registration page
- #96: Save network info and sensor ranges in Wio Terminal flash storage
- #98: Bug: Fix Avatar Displaying Over Header + Fix Links in Header
- #99: Color-code the Displayed Sensor Readings (Website)
- #100: Remove obsolete sensor test code
- This issue was the closing issue regarding the finalization and refactoring of the software. It was successfully completed.
Overall, the team has managed to completed all the issues of the high, medium priorities; as indicated in the list, only a few issues (all being of the low priority) were not completed, particularly due to time constraints and infeasibility – #86, #87, #88, #89. Furthermore, the team has registered a time overdue in the delivery of some of the Vue
components; however, the consequences of this were mitigated by the team's agile approach and the flexibility of the Vue
framework.
The team has put great emphasis on the documentation of the project, which could have influenced the time overdue of some of the issues. However, this was a conscious decision, as the team has recognized the importance of the documentation for the project, particularly for the future development of the project.
Lastly, the process of refactoring and refinement of the software was also a time-consuming process, which was also a conscious decision, as the team has recognized the significance of the quality of the software for the project.
The timeline for Sprint #3
is outlined as the following:
- Start date: 2021-05-08
- End date: 2021-05-21
Thus, making the duration of the sprint to be 14 days.
A summary of risks are challenges is outlined in detail in the Challenges
subsection of the Sprint #3
section here.
The team has successfully continued to make use of Discord
as the primary communication platform as well as GitLab
and all its rich features for the development of the project. The team has also continued hold daily stand-ups, which were previously introduced as part of Sprint #2
. Furthermore, Discord
has enabled to effectively schedule meetings and share the agenda for the meetings via the Discord Events
functionality.
Lastly, the team has also continued to make use of GitLab
's issue board to keep track of the progress of the project and the issues that are being worked on.
Terminarium Wiki 2023
, DIT113, University of Gothenburg | Chalmers University of Technology, Sweden