Design Document
Brandan Jones
Do you remember when you planted the apple tree? Do you know when to water and fertilize your plants? MyPlantDiary can help you:
- Record dates and locations where you planted plants.
- Take and view photos of a plant throughout its life.
- Record when you added water, fertilizer, and other amendments.
- Be aware of upcoming events for a plant: when to water, when growing season ends, etc.
Use your Android device to create your own plant diary. Take photos with the on-device camera. Create reminders based on what you did in previous years. Receive alerts about upcoming events for your plant.
As a user interested in plants, I want to be able to search plants based on any part of the name: genus, species, cultivar, or common name, so that I can see a list of plants that match my search term.
Plant search data are available and accessible.
Scientific names are stated in Latin.
Common names are stated in English.
1.1
Given a feed of plant data is available
When I search for “Redbud”
Then I should receive at least one result with these attributes:
Genus: Cercis
Species: canadensis
Common: Eastern Redbud
1.2
Given a feed of plant data is available
When I search for “Quercus”
Then I should receive at least one result with these attributes:
Genus: Quercus
Species: robur
Common: English Oak
And I should receive at least one result with these attributes:
Genus: Quercus
Species: alba
Common: White Oak
1.3
Given a feed of plant data is available
When I search for “sklujapouetllkjsda;u”
Then I should receive zero results (an empty list)
As a user interested in plants, I want to be able to enter and save details of a specimen: date planted, photos, and locations, so that I can view a history of this plant.
Plant search data are available and accessible.
The device has a camera, and the user has granted access to the camera.
The device has GPS capabilities, and the user has granted location access.
Scientific names are stated in Latin.
Common names are stated in English.
1.1
Given a feed of plant data is available
Given GPS details are available
When
- Select the plant Asimina triloba
- Add notes: “planted by Brandan Jones”
Then when I navigate to the Specimen History view, I should see at least one Asimina triloba specimen with the notes, “planted by Brandan Jones”
2.1
Given a feed of plant data is available
Given GPS details are available
When
- Select the plant Malus domestica ‘Fuji’
- Take a photo of a Fuji apple seedling
Then when I navigate to the Specimen History view, I should see at least one Malus domestica ‘Fuji’ specimen with the a photo of a Fuji apple seedling.
MainActivity: The first screen the user sees. This will have a list of specimens, and an option to enter a new specimen.
SpecimenDetailsActivity: A screen that shows details of a specimen.
RetrofitInstance: Boostrap class required for Retrofit.
This project uses GitHub, Jira saas, and Confluence.
Plant: Noun class that represents a plant.
Specimen: Noun class that represents a specimen.
IPlantDAO: Interface for Retrofit to find and parse Plant JSON.
ISpecimenDAO: Interface for Room to persist Specimen data
- DevOps/Product Owner/Scrum Master: Brandan Jones
- Frontend Developer: Brandan Jones
- Integration Developer: Brandan Jone
We have an experienced set of developers, code reviewers, scrum master, and product owners on our team.