# Vegetable Farm Assistant

## Description
Small farmers make many spreadsheets to help them plan multiple plantings and harvests per year and to keep track of their harvests/profits. Wouldn't it be nice if there was a web app that helped optimize this process and calculate profitability to allow for better business decision making?

## Project details
- Category: General
- Difficulty: 
- Suggested stack: Not specified
- Approval status: Approved

## Target users
### Logged in user (User)

## Tags
MVP, Notes, Optional

## User Stories
### Register
As a potential user, I need to be able to register with an ID and password

### Login
As a user, I need to be able to log in.

### Upload Harvest Times
As a user, I need to be able to upload a CSV file with seed to harvest times. Data should include: crop, direct_seed_to_harvest_time .  The upload should replace existing data.

### Edit Harvest Times
As a user, I need to be able to edit harvest times.

### Upload Transplant Times
As a user, I need to be able to upload a CSV file seed to transplant times. Data should include: crop, direct_seed_to_transplant_time, transplant_to_harvest_time. The upload should replace existing data.

### Edit Transplant Times
As a user, I need to be able to edit harvest times.

### Upload Expiration Times
As a user, I need to be able to upload a CSV file of crop expiration times. Data should include crop, days to expire. The upload should replace existing data.

### Edit Expiration Times
As a user, I need to be able to edit expiration times.

### Upload Crop Plans
As a user, I need to be able to upload a CSV file to outline crop plans for the year. Data should include area identifier, crop, planting date. The upload should replace existing data.

### Edit Crop Plans
As a user, I need to be able to edit crop plans.

### Cerate Fileds
As a user I need to be able to create (draw?) fields, select crops to add to the field with specific start dates.

### Import Data
As a user, I need to be able to import seed to harvest times from online sources.

### Daily Notifications
As a user, I need to be able to register to receive a daily text or email notification with a summary of the work that needs to be done next/that day. Notifications should include:
    * Hey, you need to seed the following crops today: carrots, beets, lettuce. 
    * Hey, your tomato and pepper transplants should be ready for field 1 today. 
    * Hey, Field 1 should have peppers ready for harvest soon. 
    * You harvested tomatoes 3 days ago and haven't sold them yet. They are going to go bad soon. 
    * You have lettuce going bad today.

### Harvest Info
As a user, I need to be able to enter harvest information. Harvest information should include area identifier, crop, and weight/count

### Sales Info
As a user, I need to be able to input daily sales amounts. Information should include product, amount, how sold (retail, wholesale, etc.)

### Loss Info
As a user, I need to be able to mark material as lost (shortage, shrinkage, etc.)

### Waste Info
As a user, I need to be able to enter items as wasted (spoiled, expired, etc.). Items not marked as wasted or sold should be marked as wasted at their expiration date.

### POS
(Optional) As a user, I need to be able to mark items as sold through an interface with Square Point of Sale (POS)

### Weekly Reports
As a user, I need to be able to generate weekly reports. Weekly reports should include sales reports, harvest reports

### Seasonal Reports
As a user, I need to be able to generate seasonal reports. Seasonal reports should include loss/gain per crop or per field, loss/gain/efficiency of different sales channels.
