Git Product home page Git Product logo

myplantdiary23ss7060's Introduction

MyPlantDiary32

My Plant Diary


Design Document

Brandan Jones

Introduction

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.

Storyboard

Plant Diary Storyboard

MyPlantDiaryFirstScreen

Functional Requirements

Requirement 100.0: Search for Plants

Scenario

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.

Dependencies

Plant search data are available and accessible.

Assumptions

Scientific names are stated in Latin.

Common names are stated in English.

Examples

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)

Requirement 101: Save Specimen

Scenario

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.

Dependencies

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.

Assumptions

Scientific names are stated in Latin.
Common names are stated in English.

Examples

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.

Class Diagram

ClassDiagram

Class Diagram Description

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.

Project Management

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

Scrum Roles

  • DevOps/Product Owner/Scrum Master: Brandan Jones
  • Frontend Developer: Brandan Jones
  • Integration Developer: Brandan Jone

Project Management Information System

We have an experienced set of developers, code reviewers, scrum master, and product owners on our team.

myplantdiary23ss7060's People

Contributors

discospiff avatar

Stargazers

 avatar

Watchers

 avatar

myplantdiary23ss7060's Issues

Update Readme

Update the readme to reflect our project management mechanisms.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.