Repository navigation
Real-time collaboration — multiple observers per incident #12
Copy link
Copy link
Open
Labels
P3: lowLow priority — nice to haveLow priority — nice to havearea: webNext.js web app (apps/web)Next.js web app (apps/web)needs designNeeds UX/UI design before implementationNeeds UX/UI design before implementationneeds discussionNeeds team discussion or ADRNeeds team discussion or ADRsize: XLExtra large — 1+ weeks, consider breaking downExtra large — 1+ weeks, consider breaking downtype: featureNew feature or capabilityNew feature or capability
Milestone
Description
Description
On large incidents, multiple division supervisors and lookouts observe fire behavior simultaneously. Firevector should support real-time collaboration where multiple observers can contribute to an incident's observation set.
Proposed Architecture
Data Model Changes
- Add
incidentstable:{ id, name, created_by, status, created_at } - Add
incident_memberstable:{ incident_id, user_id, role }(roles: owner, observer, viewer) - Observations get an optional
incident_idFK — shared observations belong to an incident
Real-Time Updates
- Use Vercel's
@vercel/postgreswithLISTEN/NOTIFYor Supabase Realtime - Alternative: Server-Sent Events (SSE) from Next.js API route
- Dashboard auto-updates when other observers add/edit observations
Invitation Flow
- Incident owner generates invite link or sends email invitation
- Invitee joins via link → added as observer
- Role-based permissions (owner can delete, observer can create/edit own, viewer read-only)
Acceptance Criteria
- Create incident and invite observers
- Multiple users can create observations under one incident
- Dashboard shows all incident observations (not just your own)
- Real-time updates when other observers add data
- Role-based access control (owner/observer/viewer)
- Incident-scoped map view with all observers' pins
- Works alongside individual (non-incident) observations
ADR Needed
This is a significant architectural change. Needs a design document covering:
- Data model changes and migration strategy
- Real-time technology selection
- Authorization model
- Impact on existing single-user features
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3: lowLow priority — nice to haveLow priority — nice to havearea: webNext.js web app (apps/web)Next.js web app (apps/web)needs designNeeds UX/UI design before implementationNeeds UX/UI design before implementationneeds discussionNeeds team discussion or ADRNeeds team discussion or ADRsize: XLExtra large — 1+ weeks, consider breaking downExtra large — 1+ weeks, consider breaking downtype: featureNew feature or capabilityNew feature or capability
Projects
- StatusShow more project fieldsTodo
Activity