Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
companion_planting:powerplant:software_specification [2017/12/10 22:34] – [User Documentation] aimeejulia | powerplant:software_specification [2019/04/01 21:46] (current) – ecohack | ||
---|---|---|---|
Line 7: | Line 7: | ||
for " | for " | ||
- | Version <0.13> | + | Document |
Line 13: | Line 13: | ||
- | powerplant is a software | + | powerplant is an opensource webapp |
===== Users ===== | ===== Users ===== | ||
Line 37: | Line 37: | ||
=== Software description === | === Software description === | ||
+ | Powerplant ... | ||
+ | * ... offers fast and easy solution for knowing which crops (bene)fit together | ||
+ | * ... provides an easy to follow schedule for planting, transplanting, | ||
+ | * ... provides information about the crops themselves | ||
+ | * ... gives suggestions which plants should be grown in which enviroment - location, climate, ... | ||
+ | * ... pushes and pulls crop information to/from several open data platforms | ||
+ | * ... allows multiple Users to work on the same garden bed/s | ||
+ | * and allows User input to improve data | ||
- | * Offer fast and easy solution for knowing which crops (bene)fit together | + | powerplant is open-source |
- | * Provide an easy to follow schedule for planting, transplanting, | + | |
- | * Provide information about the crops themselves | + | |
- | * Push and pull crop information to/from several open data platforms | + | |
- | * User can submit changes to improve data | + | |
- | * Open-source/ | + | |
- | > TODO: write more and better text | ||
=== Objectives === | === Objectives === | ||
Line 85: | Line 87: | ||
</ | </ | ||
+ | |||
+ | |||
==== Product Perspective ==== | ==== Product Perspective ==== | ||
Line 120: | Line 124: | ||
==== 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 195: | ||
* 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 220: | ||
== 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 265: | ||
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 274: | ||
=== Terminology === | === Terminology === | ||
- | Location: Group of gardens whose permaculture zones are defined relative to a common zone 0 | + | **TODO** Create Seperate page to link to |
- | 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) | + | **Location**: Group of gardens whose permaculture zones are defined relative to a common zone 0 |
- | 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 | + | **Garden**: combination of beds in the same vicinity and permaculture zone |
- | Zone/ | + | |
+ | **Bed**: Section in a garden (can be a greenhouse, a pot or a patch of soil) | ||
+ | |||
+ | **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/ | ||
Line 376: | Line 388: | ||
> TO DO: Describe what kind of manuals and what kind of help is needed for the software you will be developing. | > TO DO: Describe what kind of manuals and what kind of help is needed for the software you will be developing. | ||
- | List the user documentation components (such as user manuals, on-line help, and tutorials) that will be delivered along with the software.// | + | List the user documentation components (such as user manuals, on-line help, and tutorials) that will be delivered along with the software. |
- | Need to have user documentation. Usability will be severly | + | Need to have user documentation. Usability will be severely |
- | * User manual | + | |
- | * FAQ | + | * FAQ |
- | * First time user prompts | + | * First time user prompts |
- | * Community talking points | + | * Community talking points |
- | * Chat rooms (like FarmOS) | + | * Chat rooms (like FarmOS) |
- | * Tutorials for most exemplary tasks (Videos, ...) | + | * Tutorials for most exemplary tasks (Videos, ...) |
===== Specific Requirements ===== | ===== Specific Requirements ===== | ||
Line 524: | Line 536: | ||
| | ||
[[https:// | [[https:// | ||
+ | |||