Context
As a user I want to create a Logbook entry every 30 min so that I can keep track of the environment during a trip.
In-scope
First Logbook Entry after Trip Creation
Saving the logbook information in the Firebase database
Out-scope
Redirecting to the "Trip Summary" page
Backing-up the logbook information in the MS Access DB
Editing Logbook entry
ScenariosScenario 1: Logbook Entry Creation
GIVEN I have clicked on the "Save & Start Logbook" button on the "Trip From" page
WHEN I am redirected to the "Logbook Entry" page
THEN I see the Heading "New Logbook Entry" below the navigation bar
AND I am presented with a form that contains below fields clustered in 4 sections: Time & position, Environment, Evidence, Other observations (wireframe 1)
Input field
Required
Data specification
Time
Yes
Automated. Can be reused from existing field (HH:MM:SS). Seconds can be blank and then will default to 00
Effort On/Off
No
Radio button / Default is On
Beaufort sea state
No
Same options as habitat form
Wave height
No
Same options as in the habitat form
Lat
No
Automated. Reuse code from "biopsy form", app behaviour should be the same
Long
No
Automated. Reuse code from "biopsy form", app behaviour should be the same
GPS Mark
No
Reuse code from "biopsy form", app behaviour should be the same
Cloud cover
No
Same options as in the habitat form
Water temperature (°C)
No
Number with one decimal (e.g 11.1) Same as in habitat form
Water depth (m)
No
Same code as in the habitat form
Beyond soundings
No
Checkbox
Bottom substrate
No
Same code as in the habitat form
Was there a hydrophone check?
No
Radio button (Yes/No) / Default No
Hydrophone comments
No
Free Text
Log entry comments
No
Free Text
Scenario 2: Logbook Entry Page Navigation Bar
GIVEN I am at the "Logbook Entry" page
WHEN the the page is loaded
THEN I see the BMMRO logo on the top-left
AND I see the "Trips" Toggle in focus mode
AND I see the " Encounters" Toggle with a bold font (check wireframe 1)
Scenario 3: Logbook Entry Page Footer
GIVEN I am at the "Logbook Entry" page
WHEN I scroll down the page
THEN I see a "Save" button in the footer
AND I see a "Cancel" button in the footer (wireframe 1)
Scenario 4: Logbook entry required fields
GIVEN I am the Logbook entry page
WHEN I start filling-in the different input fields
THEN I see a red asterisk () indicating the fields that are required
AND at the bottom of the form there is a caption that reads " required fields " (check wireframe 1)
Scenario 5: Geolocation not available
GIVEN I want the lat/long inputs fields to be automatically pre-filled
WHEN there is not geolocation available
THEN I see an error message that reads "Geolocation could not be retrieved" (wireframe 2)
Scenario 6: Leaving Lat/Long or GPS mark blank
GIVEN I do not fill-out the lat/long or GPS mark fields
WHEN I click the "Save" button
THEN I see an error message that reads "Please add either latitude and longitude, or a GPS mark" (wireframe 3)
Scenario 7: Water depth & Beyond sounding fields behaviour
GIVEN I cannot measure the water depth (m)
WHEN I check the "Beyond soundings" checkbox
THEN the "Water depth (m)" input field is greyed out (wireframe 4)
Scenario 7: Saving Logbook Entry
GIVEN that I have filled out the Logbook form ,
WHEN I click the "Save" button,
THEN the Logbook information is saved in the Firebase database
Scenario 8: Leaving required fields empty
GIVEN that I don't filled out the required information of a Logbook,
WHEN I click the "Save" button,
THEN the required fields are distinguishable enough so that I know which fields need to be fill-out (check wireframe 5)
AND the form is not saved until all the required fields are filled-out
Scenario 9: Cancelling the Logbook entry and Returning to Trip Overview page
GIVEN that I want to cancel a Logbook entry,
WHEN I click the "Cancel" button,
THEN I am prompt with a cancellation confirmation pop-up window (check wireframe 6)
AND the Logbook information is NOT saved in the Firebase database
AND I am redirected back to the "Trip Overview" page.
Acceptance Criteria
Logbook Entry page creation
The appearance of the navigation Bar aligns with the application's design
The appearance of the Logbook Form aligns with the "Trip Form" page's design
The Logbook form is divided in 4 sections: Time & position, Environment, Evidence, Other observations
The appearance of the footer aligns with the application's design
There is a "Save" button in the footer
There is a "Cancel" button in the footer
The form includes all the fields listed in the Scenario 1
The required fields have a red asterisk
The form has a caption at the bottom with the text " * required fields"
There is an error message "Required" and a red focus indicator for each field that it's required and that has not been filled-out
Preventing the user to save the Logbook information until all the required fields are filled-out
Error handling (error messages) for the "Lat, Long and GPS mark" fields
Saving the Logbook entry to the Firebase database
Pop-up window with a cancellation confirmation message when the user clicks on the "Cancel" button
After cancelling the Logbook entry, the user is redirected back to the "Trip Overview" page
Entries created in offline mode are saved locally on the user's device
Upon regaining internet connectivity, the locally saved entries are synchronised with the database without data loss or duplication.
Few things that I noticed when testing this story in the dev environment:
The field "time" should be as in the habitat form and in the following format (hh:mm:ss)
In the evidence section:
a) there is a typo, the name of the field should be "Effort" and not "Efforted"
b) the field "Was there a hydrophone check?" should have the value "No" as default
In the environment section, the field "Swell/wave height (ft)" should be renamed to "Wave height (ft)"
For the positional data, only the error messages are required, we need to remove the logic of the pop-up window
Context As a user I want to create a Logbook entry every 30 min so that I can keep track of the environment during a trip.
In-scope
Out-scope
Scenarios Scenario 1: Logbook Entry Creation GIVEN I have clicked on the "Save & Start Logbook" button on the "Trip From" page WHEN I am redirected to the "Logbook Entry" page THEN I see the Heading "New Logbook Entry" below the navigation bar AND I am presented with a form that contains below fields clustered in 4 sections: Time & position, Environment, Evidence, Other observations (wireframe 1)
Scenario 2: Logbook Entry Page Navigation Bar GIVEN I am at the "Logbook Entry" page WHEN the the page is loaded THEN I see the BMMRO logo on the top-left AND I see the "Trips" Toggle in focus mode AND I see the " Encounters" Toggle with a bold font (check wireframe 1)
Scenario 3: Logbook Entry Page Footer GIVEN I am at the "Logbook Entry" page WHEN I scroll down the page THEN I see a "Save" button in the footer AND I see a "Cancel" button in the footer (wireframe 1)
Scenario 4: Logbook entry required fields GIVEN I am the Logbook entry page WHEN I start filling-in the different input fields THEN I see a red asterisk () indicating the fields that are required AND at the bottom of the form there is a caption that reads " required fields " (check wireframe 1)
Scenario 5: Geolocation not available GIVEN I want the lat/long inputs fields to be automatically pre-filled WHEN there is not geolocation available THEN I see an error message that reads "Geolocation could not be retrieved" (wireframe 2)
Scenario 6: Leaving Lat/Long or GPS mark blank GIVEN I do not fill-out the lat/long or GPS mark fields WHEN I click the "Save" button
THEN I see an error message that reads "Please add either latitude and longitude, or a GPS mark" (wireframe 3)
Scenario 7: Water depth & Beyond sounding fields behaviour GIVEN I cannot measure the water depth (m) WHEN I check the "Beyond soundings" checkbox THEN the "Water depth (m)" input field is greyed out (wireframe 4)
Scenario 7: Saving Logbook Entry GIVEN that I have filled out the Logbook form , WHEN I click the "Save" button, THEN the Logbook information is saved in the Firebase database
Scenario 8: Leaving required fields empty GIVEN that I don't filled out the required information of a Logbook, WHEN I click the "Save" button, THEN the required fields are distinguishable enough so that I know which fields need to be fill-out (check wireframe 5) AND the form is not saved until all the required fields are filled-out
Scenario 9: Cancelling the Logbook entry and Returning to Trip Overview page GIVEN that I want to cancel a Logbook entry, WHEN I click the "Cancel" button, THEN I am prompt with a cancellation confirmation pop-up window (check wireframe 6) AND the Logbook information is NOT saved in the Firebase database AND I am redirected back to the "Trip Overview" page.
Acceptance Criteria
Wireframes Wireframe 1![image](https://github.com/BMMRO-tech/BMMRO/assets/116743643/7f39c324-9fad-4f7a-bf53-197072af2579)
Wireframe 2![image](https://github.com/BMMRO-tech/BMMRO/assets/116743643/29113a6f-7950-460d-9749-48573d5cf5a9)
Wireframe 3![image](https://github.com/BMMRO-tech/BMMRO/assets/116743643/2dd37a0b-0e79-47d5-b42b-e567bb805521)
Wireframe 4![image](https://github.com/BMMRO-tech/BMMRO/assets/116743643/f88763b7-e11c-47e7-86e4-12b0ef9511d3)
Wireframe 5![image](https://github.com/BMMRO-tech/BMMRO/assets/116743643/078da0d5-b4d3-40a5-9cd1-9304589d9a25)
Wireframe 6![image](https://github.com/BMMRO-tech/BMMRO/assets/116743643/eff9d144-bafc-4f31-ac6c-a3e07c2b1b79)