- InlineField component + useInlineEdit composable for Odoo-style dblclick editing - Client search by name, account ID, and legacy_customer_id (or_filters) - SMS/Email notification panel on ContactCard via n8n webhooks - Ticket reply thread via Communication docs - All migration scripts (51 files) now tracked - Client portal and field tech app added to monorepo - README rewritten with full feature list, migration summary, architecture - CHANGELOG updated with all recent work - ROADMAP updated with current completion status - Removed hardcoded tokens from docs (use $ERP_SERVICE_TOKEN) - .gitignore updated (docker/, .claude/, exports/, .quasar/) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# Gigafibre FSM — Roadmap
|
|
|
|
## Phase 1 — Foundation (Done)
|
|
- [x] ERPNext v16 setup with PostgreSQL
|
|
- [x] Custom FSM doctypes (Service Location, Equipment, Subscription)
|
|
- [x] Dispatch doctypes (Job, Technician, Tag with skill levels)
|
|
- [x] Dispatch PWA with timeline, drag-drop, Mapbox map
|
|
- [x] GPS tracking (Traccar hybrid REST + WebSocket)
|
|
- [x] Authentik SSO (forwardAuth) for all apps
|
|
- [x] ERPNext API proxy (same-origin via nginx)
|
|
- [x] Legacy data migration (6,667 customers, 21K subscriptions, 115K invoices, 242K tickets)
|
|
- [x] Gitea repo at git.targo.ca
|
|
|
|
## Phase 2 — Ops App (Done)
|
|
- [x] Unified ops PWA at erp.gigafibre.ca/ops/
|
|
- [x] Client list with search (name, account ID, legacy ID)
|
|
- [x] Client detail page (contact, billing KPIs, locations, subscriptions, equipment, tickets, invoices, payments, notes)
|
|
- [x] Inline editing on all fields (Odoo-style dblclick, InlineField component)
|
|
- [x] Dispatch module integrated into ops app
|
|
- [x] Ticket management with inline status/priority editing
|
|
- [x] Equipment tracking with detail modal
|
|
- [x] SMS/Email notifications via n8n webhooks (Twilio + Mailjet)
|
|
- [x] Ticket reply thread (Communication docs)
|
|
- [x] Invoice OCR (Ollama Vision)
|
|
- [x] Field tech mobile app (barcode, diagnostics, offline)
|
|
- [x] Authentik federation (auth.targo.ca staff -> id.gigafibre.ca)
|
|
|
|
## Phase 3 — Workflows & Automation (In Progress)
|
|
- [ ] Tag technicians with skills (assign Fibre/TV/Telephonie tags + levels to 46 techs)
|
|
- [ ] Wire auto-dispatch logic (cost-optimization matching in useAutoDispatch.js)
|
|
- [ ] Issue -> Dispatch Job creation (button in ticket detail)
|
|
- [ ] Job completion -> equipment status update
|
|
- [ ] Job completion -> close helpdesk ticket
|
|
- [ ] Equipment swap -> inventory move log
|
|
- [ ] n8n workflows for escalation rules
|
|
- [ ] Activate n8n SMS/email workflows via UI
|
|
- [ ] Twilio upgrade to production (10DLC or Toll-Free)
|
|
- [ ] SLA tracking on subscriptions
|
|
|
|
## Phase 4 — Customer Portal
|
|
- [ ] Customer-facing web app (service status, invoices)
|
|
- [ ] Stripe payment integration
|
|
- [ ] Online appointment booking
|
|
- [ ] Real-time tech tracking ("On my way" SMS)
|
|
- [ ] Equipment list per location
|
|
- [ ] Service request submission
|
|
- [ ] Legacy password migration (MD5 -> PBKDF2 via auth bridge)
|
|
|
|
## Phase 5 — Advanced Features
|
|
- [ ] Van stock inventory per technician
|
|
- [ ] Part usage -> auto-reorder
|
|
- [ ] Multi-day project tracking (fiber builds)
|
|
- [ ] Tech performance dashboards
|
|
- [ ] Revenue analytics (MRR, churn, ARPU)
|
|
- [ ] Preventive maintenance scheduling
|
|
- [ ] Customer/location picker in job creation modal
|
|
- [ ] Photo capture with annotations
|
|
- [ ] Customer signature pad
|
|
- [ ] Time tracking (start/pause/stop on job)
|