Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
companion_planting:powerplant:software_specification [2017/12/10 22:38] – [User Documentation] aimeejulia | powerplant:software_specification [2018/12/03 21:11] – aimeejulia | ||
---|---|---|---|
Line 120: | Line 120: | ||
==== Product Functionality ==== | ==== Product Functionality ==== | ||
- | > 1 TODO: Add major functions that the product must perform or must let the user perform. | + | >TODO: Add major functions that the product must perform or must let the user perform. |
=== Must Have === | === Must Have === | ||
Line 191: | Line 191: | ||
* This should represent the function of creating multiple beds from a list of seeds/ | * This should represent the function of creating multiple beds from a list of seeds/ | ||
* TODO | * TODO | ||
- | * Backend: Import plant data from PFAF database, import basic plant relationship data (firebase), create HTTP API call to get compatible groups from a big group of plants. | + | * Backend: Import plant data from practicalplants |
=== Detailed function description. === | === Detailed function description. === | ||
Line 216: | Line 216: | ||
== Suggestions == | == Suggestions == | ||
- | * Provide suggestions for adding specific crops to existing beds | + | |
- | ** User can ask for crop suggestions when adding crops to a garden or bed | + | * User can ask for crop suggestions when adding crops to a garden or bed |
- | * Provide suggestions for adding specific crops to a specific bed | + | * Provide suggestions for adding specific crops to a specific bed |
- | ** User can also ask for suggestions for crops to add to a specific bed | + | * User can also ask for suggestions for crops to add to a specific bed |
- | * Must have at least one user-selected crop to provide suggestions | + | * Must have at least one user-selected crop to provide suggestions |
== Notifications == | == Notifications == | ||
Notify users of tasks that should be done for each garden/ | Notify users of tasks that should be done for each garden/ | ||
- | * Email notifications | + | |
- | ** should be opt out by default | + | * should be opt out by default |
- | ** include weekly summary of upcoming tasks | + | * include weekly summary of upcoming tasks |
- | * Push notifications | + | |
- | ** Need to be enabled in browser (would only work on desktop) | + | * Need to be enabled in browser (would only work on desktop) |
- | ** include | + | * Include |
== Tasks and Actions == | == Tasks and Actions == | ||
- | * Right now, this would include planting, transplanting, | + | |
- | * Users can add custom tasks from a predefined set of actions (or " | + | * Users can add custom tasks from a predefined set of actions (or " |
- | ** Tasks are associated with a location, bed, or crop | + | * Tasks are associated with a location, bed, or crop |
- | ** Repeatable tasks | + | * Repeatable tasks |
- | * Mark tasks as complete, or postpone or ignore them | + | * Mark tasks as complete, or postpone or ignore them |
== Schedule == | == Schedule == | ||
Find optimal planting schedule for a target bed (with at least one user picked crop) | Find optimal planting schedule for a target bed (with at least one user picked crop) | ||
- | * When adding a crop, users can get suggestions for when to plant it based on the duration of growth | + | |
- | * Goal is to maximize the overall yield and allow for consistent harvest throughout the year | + | * Goal is to maximize the overall yield and allow for consistent harvest throughout the year |
Information accessible on timeline of different stages and locations of growth (i.e. when to grow in greenhouse and transplant them outside) | Information accessible on timeline of different stages and locations of growth (i.e. when to grow in greenhouse and transplant them outside) | ||
- | * Users can view the schedule for a location or bed as a chart | + | |
- | * Growth periods are shaded in bars, single events are represented as lines | + | * Growth periods are shaded in bars, single events are represented as lines |
- | * Should allow the user to see, at a quick glance, what is growing and when things can be harvested | + | * Should allow the user to see, at a quick glance, what is growing and when things can be harvested |
- | ** Also be able to identify gaps in the schedule which could be filled | + | * Also be able to identify gaps in the schedule which could be filled |
- | * Should also show information about compatibility interactions | + | * Should also show information about compatibility interactions |
- | ** Needs to be intuitive and simple to understand, obvious from one look at the schedule | + | * Needs to be intuitive and simple to understand, obvious from one look at the schedule |
== User Contributions == | == User Contributions == | ||
Line 261: | Line 261: | ||
Creating Guides should link into OpenFarm directly - Create Guide. | Creating Guides should link into OpenFarm directly - Create Guide. | ||
- | * pro: less work for developer | + | |
- | * contra: might be confusing for the user | + | * contra: might be confusing for the user |
Editing Guides should be put into powerplant " | Editing Guides should be put into powerplant " | ||
Editing Cropinformation should be edited in OpenFarm directly. | Editing Cropinformation should be edited in OpenFarm directly. | ||
Line 269: | Line 270: | ||
=== Terminology === | === Terminology === | ||
- | Location: Group of gardens whose permaculture zones are defined relative to a common zone 0 | + | **Location**: Group of gardens whose permaculture zones are defined relative to a common zone 0 |
- | Garden: combination of beds in the same vicinity and permaculture zone | + | |
- | Bed: Section in a garden (can be a greenhouse, a pot or a patch of soil) | + | **Garden**: combination of beds in the same vicinity and permaculture zone |
- | Crop: Specific instance of a crop that will be planted in a bed | + | |
- | Transplant: action of moving a crop from a pot (non-bed) to a bed | + | **Bed**: Section in a garden (can be a greenhouse, a pot or a patch of soil) |
- | Zone/ | + | |
+ | **Crop**: Specific instance of a crop that will be planted in a bed | ||
+ | |||
+ | **Transplant**: action of moving a crop from a pot (non-bed) to a bed | ||
+ | |||
+ | **Zone/ | ||
- | === 2. Provide a Data Flow Diagram of the system to show how these functions relate to each other. === | + | === Provide a Data Flow Diagram of the system to show how these functions relate to each other. === |
Data flow diagram for cropinformation/ | Data flow diagram for cropinformation/ |