From 7428a6d5e3b3b429e7fddd521daf2c7b562668ac Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Fri, 17 Apr 2026 13:08:19 -0400 Subject: [PATCH] Add project TODO tracking deferred work items --- TODO.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 00000000..dd1a2a96 --- /dev/null +++ b/TODO.md @@ -0,0 +1,39 @@ +# 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