shoc-backend/TODO.md

40 lines
2.3 KiB
Markdown
Raw Normal View History

# SHOC — TODO
## Dispatch & Vendor Communication
- [ ] Dispatch detail modal — click dispatch row to view/edit status, dates, NTE, description, resend email
- [ ] Dispatch number — auto-generated DSP-00001 format, separate from PO number
- [ ] DispatchId on Comments — tie vendor comments to specific dispatches, not just the WO
- [ ] Vendor activity feed per dispatch — filtered view in dispatch detail modal
- [ ] Internal user → vendor email — typing in vendor thread sends email to vendor
- [ ] **Front API integration** — replace SendGrid/SES dispatch email with Front inbox (`vendors@seahaven.com`), use Front webhooks for inbound vendor replies, keep email threads intact in both SHOC and Front
- [ ] SES inbound vendor reply Lambda — if not using Front: new Lambda for `vendors@int.seahaven.com`, parse subject `[WO-XXXXXXXX-DX]`, write to DynamoDB VendorReplies table
- [ ] Sync bridge for vendor replies — SyncController endpoint to pull VendorReplies into Comments table
## Work Order List
- [ ] Fix pagination when scrolling through pages
- [ ] Pinned Actions column — CSS grid doesn't support sticky horizontal scroll, revisit
## Pages Not Yet Built
- [ ] `/profile` — My Profile page (linked from user dropdown)
- [ ] `/settings` — Account Settings page (linked from user dropdown)
- [ ] `/change-password` — Change Password page (linked from user dropdown)
## Controllers Not Yet Built
- [ ] `CalendarController` — backend CRUD for calendar/events (frontend pages exist)
## Dashboard
- [ ] Priority Analysis table — needs backend endpoint to calculate age buckets by severity
- [ ] Invoice Analysis table — placeholder data, no backend yet
## Data & Integration
- [ ] Customer NTE — wire to PO database (placeholder on WO view page)
- [ ] Vendor PO detailed format — line items, billing address, payment terms, expiration, T&C
- [ ] PDF generation for Vendor PO — QuestPDF or similar
- [ ] Address-based distance calculation — upgrade from zip-to-zip to geocoded addresses (Google Maps API or Census Geocoder)
- [ ] Backfill location zip codes from address strings during sync
## Deployment
- [ ] When SHOC deploys, switch workorder-ingest Lambda from DynamoDB to direct SHOC API calls
- [ ] Retire DynamoDB sync bridge
- [ ] GitHub branch protection — requires paid plan for private repos