powerplant:software_specification

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
companion_planting:powerplant:software_specification [2017/12/10 22:38] – [User Documentation] aimeejuliapowerplant:software_specification [2019/04/01 21:46] (current) ecohack
Line 7: Line 7:
  
 for "powerplant"/ pp_ / ... for "powerplant"/ pp_ / ...
-Version <0.13>+Document Version <0.14>
  
  
Line 13: Line 13:
  
  
-powerplant is a software that allows anyone planning a garden to utilize companion planting and other permaculture practices. It provides intelligent suggestions to help the gardener by advising the best planting schedules and combinations of crops to maximize the garden's yield.+powerplant is an opensource webapp that allows anyone planning a garden to utilize companion planting and other permaculture practices. It provides intelligent suggestions to help the gardener by advising the best planting schedules and combinations of crops to maximize the garden's yield.
  
 ===== 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, and harvesting
 +  * ... 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 and uses and creates data with open copyright.
-  * Provide an easy to follow schedule for planting, transplanting, and harvesting +
-  * 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/open-data+
  
-> TODO: write more and better text 
  
 === Objectives === === Objectives ===
Line 85: Line 87:
  
 </code> </code>
 +
 +
 ==== Product Perspective ==== ==== Product Perspective ====
  
Line 120: Line 124:
 ==== Product Functionality ==== ==== Product Functionality ====
    
-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/plants you want to plant   * This should represent the function of creating multiple beds from a list of seeds/plants you want to plant
   * 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 database, import basic plant relationship data (firebase), create HTTP API call to get compatible groups from a big group of plants.
  
 === Detailed function description. === === Detailed function description. ===
Line 216: Line 220:
 == Suggestions == == Suggestions ==
  
-* Provide suggestions for adding specific crops to existing beds +  * 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/bed/crop on a given day Notify users of tasks that should be done for each garden/bed/crop on a given day
-* Email notifications +  * 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 +  * 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 events happening on the current day+    Include events happening on the current day
  
 == Tasks and Actions == == Tasks and Actions ==
  
-* Right now, this would include planting, transplanting, and harvesting - only the major events +  * Right now, this would include planting, transplanting, and harvesting - only the major events 
-* Users can add custom tasks from a predefined set of actions (or "other"+  * Users can add custom tasks from a predefined set of actions (or "other"
-** 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 +  * 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 +  * 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 +  * 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 "centralized improved guide" (except it is your own guide?). This avoids parallel versions of the same guide edited by different users, and instead puts all the edits in one place. Editing Guides should be put into powerplant "centralized improved guide" (except it is your own guide?). This avoids parallel versions of the same guide edited by different users, and instead puts all the edits in one place.
 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) +
-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/Permaculture Zone: Ordered area from 0 to 5 by frequency of visits/maintance requirement (/often also related to proximity)+
  
-=== 2. Provide a Data Flow Diagram of the system to show how these functions relate to each other. ===+**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) 
 + 
 +**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/Permaculture Zone**: Ordered area from 0 to 5 by frequency of visits/maintance requirement (/often also related to proximity) 
 + 
 +=== Provide a Data Flow Diagram of the system to show how these functions relate to each other. ===
  
 Data flow diagram for cropinformation/croprelationship data (from openfarm) Data flow diagram for cropinformation/croprelationship data (from openfarm)
Line 524: Line 536:
          
 [[https://drive.google.com/file/d/0BwEWI1CO-iYrWnhPV2xJRjZtUkU/view?usp=sharing|Diagrams]] [[https://drive.google.com/file/d/0BwEWI1CO-iYrWnhPV2xJRjZtUkU/view?usp=sharing|Diagrams]]
 +
  
  • powerplant/software_specification.1512941933.txt.gz
  • Last modified: 2017/12/10 22:38
  • by aimeejulia