Skip to content

Commit b9db0b7

Browse files
author
Developer
committed
Update docs
1 parent 53be32d commit b9db0b7

File tree

5 files changed

+153
-620
lines changed

5 files changed

+153
-620
lines changed

ADMIN_INTERFACE.md

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44

5-
The StreamSource admin interface is a modern web application built with Rails 8 and Hotwire, providing a rich, interactive experience for managing streamers, streams, annotations, users, and application settings without page refreshes. It includes real-time updates via ActionCable for collaborative administration.
5+
The StreamSource admin interface is a modern web application built with Rails 8 and Hotwire, providing a rich, interactive experience for managing streamers, streams, timestamps, users, and application settings without page refreshes. It includes real-time collaborative editing via ActionCable WebSockets, allowing multiple administrators to work together seamlessly.
66

77
## Technology Stack
88

@@ -19,7 +19,6 @@ The StreamSource admin interface is a modern web application built with Rails 8
1919
- **CRUD Operations**: Create, read, update, and delete streamers
2020
- **Platform Accounts**: Manage streamer accounts across different platforms
2121
- **Associated Streams**: View and manage all streams for a streamer
22-
- **Notes**: Add notes to streamers for tracking important information
2322

2423
### Stream Management
2524
- **CRUD Operations**: Create, read, update, and delete streams
@@ -30,25 +29,25 @@ The StreamSource admin interface is a modern web application built with Rails 8
3029
- **Stream Attributes**: Manage platform, orientation, kind, timestamps
3130
- **Pagination**: Efficient browsing with Pagy pagination
3231
- **Modal Forms**: Edit streams in modal dialogs without page refresh
33-
- **Notes**: Add notes to streams for documentation
32+
- **Real-time Collaboration**: Multiple admins can edit streams simultaneously with cell-level locking
3433

35-
### Annotation Management
36-
- **Incident Tracking**: Create and manage incident annotations
37-
- **Priority Levels**: Set priorities (low, medium, high, critical)
38-
- **Status Tracking**: Track status (pending, in_progress, resolved, closed)
39-
- **Stream Association**: Link annotations to multiple streams
40-
- **Timeline View**: View incidents in chronological order
34+
### Timestamp Management
35+
- **Event Tracking**: Create and manage event timestamps across streams
36+
- **Stream Association**: Link timestamps to multiple streams with time offsets
37+
- **Timeline View**: View events in chronological order
38+
- **User Attribution**: Track who added each timestamp
4139

4240
### User Management
4341
- **User List**: View all users with their roles and stream counts
4442
- **Role Management**: Promote/demote users between roles
4543
- **User Creation**: Add new users with specified roles
4644
- **User Editing**: Update user information
4745

48-
### Notes System
49-
- **Polymorphic Notes**: Add notes to streams or streamers
50-
- **User Attribution**: Track who created each note
51-
- **Rich Content**: Support for detailed documentation
46+
### Real-time Collaborative Editing
47+
- **Cell-level Locking**: Prevents conflicts when multiple users edit
48+
- **User Presence**: See who else is editing with color-coded indicators
49+
- **Auto-unlock**: Cells automatically unlock when users disconnect
50+
- **Edit Timeout**: 5-second timeout ensures cells don't stay locked
5251

5352
### Feature Flags
5453
- **Flipper Integration**: Toggle features on/off in real-time
@@ -68,9 +67,8 @@ The StreamSource admin interface is a modern web application built with Rails 8
6867
The admin interface features a sidebar with the following sections:
6968
- **Streams**: Main stream management interface
7069
- **Streamers**: Content creator management
71-
- **Annotations**: Incident and event tracking
70+
- **Timestamps**: Event tracking with time references
7271
- **Users**: User management
73-
- **Notes**: View all notes across the system
7472
- **Feature Flags**: Feature toggle management
7573
- **Logout**: End admin session
7674

@@ -99,14 +97,13 @@ Manages content creators:
9997
- CRUD operations for streamers
10098
- Platform account management
10199
- Associated streams view
102-
- Notes management
103100

104-
#### `Admin::AnnotationsController`
105-
Handles incident tracking:
106-
- Create and manage annotations
107-
- Priority and status management
108-
- Stream association
101+
#### `Admin::TimestampsController`
102+
Handles event timestamp tracking:
103+
- Create and manage timestamps
104+
- Stream association with time offsets
109105
- Timeline visualization
106+
- Resolve and dismiss actions
110107

111108
#### `Admin::SessionsController`
112109
Manages admin authentication:
@@ -132,14 +129,12 @@ app/views/
132129
│ │ ├── new.html.erb # New streamer form
133130
│ │ ├── edit.html.erb # Edit streamer form
134131
│ │ └── _form.html.erb # Shared form partial
135-
│ ├── annotations/
136-
│ │ ├── index.html.erb # Annotations list
137-
│ │ ├── show.html.erb # Annotation details
138-
│ │ ├── new.html.erb # New annotation form
139-
│ │ ├── edit.html.erb # Edit annotation form
132+
│ ├── timestamps/
133+
│ │ ├── index.html.erb # Timestamps list
134+
│ │ ├── show.html.erb # Timestamp details
135+
│ │ ├── new.html.erb # New timestamp form
136+
│ │ ├── edit.html.erb # Edit timestamp form
140137
│ │ └── _form.html.erb # Shared form partial
141-
│ ├── notes/
142-
│ │ └── index.html.erb # All notes view
143138
│ ├── sessions/
144139
│ │ └── new.html.erb # Login page
145140
│ └── shared/
@@ -191,7 +186,7 @@ Used for partial page updates:
191186
- `#modal` - Modal dialog container
192187
- `#streams_list` - Streams table and pagination
193188
- `#streamers_list` - Streamers table and pagination
194-
- `#annotations_list` - Annotations table and pagination
189+
- `#timestamps_list` - Timestamps table and pagination
195190
- `#flash` - Flash message container
196191
- `#sidebar_counts` - Live count updates
197192

@@ -205,10 +200,9 @@ Provides real-time updates after actions:
205200

206201
### ActionCable Channels
207202
Real-time WebSocket channels:
208-
- `AdminChannel` - General admin updates
209-
- `StreamChannel` - Stream-specific updates
210-
- `AnnotationChannel` - Annotation updates
203+
- `CollaborativeStreamsChannel` - Real-time collaborative editing with cell locking
211204
- Automatic UI updates when other admins make changes
205+
- User presence tracking and color-coded indicators
212206

213207
### Stimulus Controllers
214208
Enhance interactivity:
@@ -218,6 +212,13 @@ Enhance interactivity:
218212
- **Filters Controller**: Advanced filtering interface
219213
- **Confirm Controller**: Confirmation dialogs
220214
- **Flash Controller**: Auto-dismiss flash messages
215+
- **Character Counter Controller**: Shows character count for text inputs
216+
- **Mobile Menu Controller**: Responsive navigation menu
217+
- **Collaborative Spreadsheet Controller**: Manages real-time collaborative editing
218+
- Cell locking and unlocking
219+
- User presence indicators
220+
- Edit timeout management
221+
- ActionCable integration
221222

222223
## Security
223224

@@ -411,7 +412,7 @@ tail -f log/development.log
411412

412413
### Planned Features
413414
- Dashboard with analytics and metrics
414-
- Bulk operations for streams and annotations
415+
- Bulk operations for streams and timestamps
415416
- Advanced user permissions and roles
416417
- Comprehensive activity logging
417418
- Export functionality for all data types

0 commit comments

Comments
 (0)