Added PlantTouchPoint and IPMSchedule models. Implemented touch-points and IPM controllers/routes. Updated frontend with Dashboard feed and IPM widgets.
62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
# Phase 2: Plant Touch Points & IPM - Implementation Plan
|
|
|
|
## Goal
|
|
|
|
Implement the "Plant Touch Points" system and "IPM Tracking" as defined in `specs/plant-touch-points-ipm.md`. We will break this into short, manageable sprints.
|
|
|
|
---
|
|
|
|
## 🏃 Sprint 1: Core Touch Point Foundation (Current Focus)
|
|
|
|
**Objective**: Build the backend and basic UI to allow staff to record simple interactions (Water, Feed, Prune, etc.).
|
|
|
|
### Tasks
|
|
|
|
1. **Database**:
|
|
- Update `schema.prisma` with `PlantTouchPoint` model and `TouchPointType` enum.
|
|
- Run database migration.
|
|
2. **Backend**:
|
|
- Create `PlantTouchPoint` controller with `create` and `list` endpoints.
|
|
- Register routes.
|
|
3. **Frontend**:
|
|
- Create API client functions for touch points.
|
|
- Create a **"Quick Actions"** FAB (Floating Action Button) or Widget on the main dashboard.
|
|
- Implement a simple form to record a touch point (Type + Notes).
|
|
|
|
---
|
|
|
|
## 🏃 Sprint 2: IPM Scheduling Engine
|
|
|
|
**Objective**: Implement the 10-day root drench cycle logic and tracking.
|
|
|
|
### Tasks
|
|
|
|
1. **Database**:
|
|
- Update `schema.prisma` with `IPMSchedule` model.
|
|
- Run migration.
|
|
2. **Backend**:
|
|
- Create logic to calculate next treatment dates (Day 0, 10, 20...).
|
|
- Create endpoints to `getSchedules` and `logTreatment`.
|
|
3. **Frontend**:
|
|
- Create **"IPM Status"** widget showing active schedules and "Due" badges.
|
|
- Implement the "Record Treatment" flow (validating Pyganic 5.0 usage).
|
|
|
|
---
|
|
|
|
## 🏃 Sprint 3: History & Visualization
|
|
|
|
**Objective**: Allow growers to view the history of interactions and style the UI.
|
|
|
|
### Tasks
|
|
|
|
1. **Frontend**:
|
|
- Build **"Batch History"** view (timeline of touch points).
|
|
- Refine UI with 777 Wolfpack branding (Palm Springs aesthetic).
|
|
- Add icons/visuals for different touch types.
|
|
|
|
---
|
|
|
|
## ❓ Clarifications Needed
|
|
|
|
1. **Batches**: Do we already have a `Batch` model in the DB? The spec references `batchId`. If not, we might need a simple `Batch` model or allow `batchId` to be a loose string/placeholder for now.
|
|
- *Self-correction*: I should check `schema.prisma` now to see if `Batch` exists.
|