Sprint 2 - rokanas/terminarium GitHub Wiki
The milestone can be found at the following link: Sprint #2 [internal].
Objective
Objective: Develop UI, Establish Database Connection, and Implement MQTT Communication for the Terminarium System
The objective of Sprint #2
, the second milestone of the project, was to make significant progress in developing the user interface (UI) of the Terminarium system. This involves utilizing Vue.js
, a web-based framework, to translate the Figma
prototype into functional UI components. The UI implementation aims to align with the design specifications, ensuring a visually appealing and user-friendly experience for the application's users.
Additionally, the milestone focuses on establishing a connection to the database, specifically utilizing Firebase Realtime Database. This includes configuring the necessary backend utilities to facilitate seamless reading and writing of data to and from the database. By establishing this connection, the project enables efficient storage and retrieval of relevant information, facilitating real-time monitoring and analysis of the terrarium's environmental conditions.
Furthermore, the milestone includes the implementation of the MQTT
(Message Queuing Telemetry Transport) connection via a broker using the publish/subscribe mechanism. This involves establishing a reliable communication channel between the sensor devices and the Terminarium system. By successfully implementing the MQTT
connection, the project enables the real-time transmission of sensor data, facilitating continuous monitoring and updating of the system's data.
By the end of Sprint #2
, the project team aims to have made substantial progress in developing the UI, ensuring alignment with the Figma
prototype. Additionally, the database connection will be established, enabling seamless data storage and retrieval. Lastly, the MQTT
connection will be implemented, enabling real-time sensor data transmission and monitoring within the Terminarium system.
List of requirements
The following section includes the list of requirements that were considered for Sprint #2
. 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):
- #29: Add configuration for Vue.js framework
- #30: Establish MQTT communication between Wio Terminal and computer terminal
- #31: Establish connection with the Database
- #32: Controlling predefined sensor ranges
- #33: Subscribe to Sensor Topics via MQTT (from the Application's side)
- #34: Store Sensor Values in the Database
- #38: Create Terminarium website header
- #39: Create website "background" -componentCSS-file
- #40: Create User Access "button"-component .vue-file
- #42: Create Terminarium website footer
- #43: Create Website "Page"-template
- #45: Implement global dynamic data properties in Vue
- This issue was closed and labeled as
deprecated
; a comment explaining the reason for this is provided under the issue, namely here [internal].
- This issue was closed and labeled as
- #49: Update the System's Design (diagram)
- #50: Create set sensor values UI component
- #52: Create back-end functionality for displaying data in the form of graphs
- #53: Create logic for fetching data from firebase for displaying as graphs on website
- This issue was, however, closed and not completed; an analogy describing the reason for this is provided via a comment under the issue, namely here [internal].
- #54: Update Sprint #2 Delivery Wiki sub-page
- #55: Create Website "Avatar"-component
- #56: Create Website "Your Terrariums"-page
- #57: Add embedded video to the Terminarium website homepage
- #58: Create "User Settings" page for Terminarium website
- #61: Read sensor data from the database given a time range
The listed issues, aside from #45, #53, have been worked on and ultimately completed without any strenuous difficulties.
Timeline
The timeline for Sprint #2
is outlined as the following:
- Start date: 2021-04-24
- End date: 2021-05-07
Thus, making the duration of the sprint to be 14 days.
Risks
A summary of risks are challenges is outlined in detail in the Challenges
subsection of the Sprint #2
section here.
Communication plan
Discord
has been utilized as the primary communication channel for the project. The team has also utilized GitLab
for version control. However, during this sprint, the team has made use of the in-built Kanban
board in GitLab
to track the progress of the sprint and thus less attention was paid to Clickup
as the task management tool. Therefore, the team has decided to discontinue the use of Clickup
and instead use GitLab
as the primary task management tool.
Furthermore, the team has insisted on holding daily stand-up meetings to discuss the progress of the sprint and to identify any impediments that may hinder the progress of the sprint. The team has also held weekly retrospective meetings to discuss the challenges that were faced during the sprint and to identify any improvements that can be made to the team's workflow.
Before applying the principles of stand-up meetings, a document was issued by the project manager to outline the need and benefits of stand-up meetings. The document can be found here.