Functional Requirements
Owner: Product
Reviewers: Engineering, QA
Status: Draft
Version: 0.1
Last Updated: 2026-09-16
Review Cycle: Per sprint/release
Requirement Inventory
| Area | Requirement | Current Status |
|---|---|---|
| Authentication | Login, refresh token, password reset and session security. | PARTIAL |
| Authorization | Role-based and farm-scoped access. | PARTIAL |
| User management | Create/list/update users and assign farm scopes. | PARTIAL |
| Farm management | Manage farms, owners and farm access. | PARTIAL |
| Pond management | Manage ponds, pond details, devices and dashboards. | PARTIAL |
| Crop management | Manage active crop cycles and prevent invalid operations on closed crops. | PARTIAL |
| Water monitoring | Capture/query water parameters and thresholds. | PARTIAL |
| Alerts | Create/list/resolve operational and telemetry alerts. | PARTIAL |
| Farming logs | Record daily operational activities. | PARTIAL |
| Feeding | Manage feeding information and session-level feed records. | PARTIAL/PLANNED |
| AI feeding | Recommend feed amounts. | PLANNED |
| PCR/FCR | Calculate production efficiency metrics. | PLANNED |
| Tickets/incidents | Create and track tickets for field issues. | PARTIAL |
| Reports | Export operational reports. | PARTIAL |
| Scheduled reports | Send weekly reports automatically. | PLANNED |
| IoT ingestion | Ingest MQTT/Telegraf data into PostgreSQL/Timescale. | PARTIAL |
| Device commands | Send commands and track acknowledgement/timeout. | PARTIAL |
| Handbook | Manage aquaculture knowledge content. | PARTIAL |
| AI chatbot | Answer questions with handbook references. | PLANNED |
| Notifications | Notify users about incidents and operations. | PARTIAL |
| Dashboard | Show role-appropriate overview metrics. | PARTIAL |
Acceptance Notes
- Requirements marked
PARTIALmust not be treated as production-complete without linked test evidence. - Requirements marked
PLANNEDremain valid PRD scope but should not be promised as current behavior. - API-level acceptance should be validated through Swagger, controller tests or integration tests.