docs: update documentation for forms system and role-based access

- Add forms system to README key features
- Update router/table counts to reflect new forms router
- Add forms section to quick-reference with types, templates, routes
- Clarify study-level user roles (owner/researcher/wizard/observer)
This commit is contained in:
2026-03-22 18:11:42 -04:00
parent bfd1924897
commit 3270e3f8fe
2 changed files with 29 additions and 9 deletions

View File

@@ -76,18 +76,21 @@ docker compose up -d
- **WebSocket Real-time**: Trial updates with auto-reconnect
- **Plugin System**: Robot-agnostic via identifier lookup
- **Docker NAO6**: Three-service ROS2 integration
- **Forms System**: Consent forms, surveys, questionnaires with templates
- **Role-based Access**: Owner, Researcher, Wizard, Observer permissions
## System Components
### Backend (src/server/)
- `api/routers/` - 12 tRPC routers
- `db/schema.ts` - Drizzle schema (31 tables)
- `api/routers/` - 13 tRPC routers (studies, experiments, trials, participants, forms, etc.)
- `db/schema.ts` - Drizzle schema (33 tables)
- `services/trial-execution.ts` - Trial execution engine
- `services/websocket-manager.ts` - Real-time connections
### Frontend (src/)
- `app/` - Next.js App Router pages
- `components/trials/wizard/` - Wizard interface
- `components/trials/forms/` - Form builder and viewer
- `hooks/useWebSocket.ts` - Real-time trial updates
- `lib/ros/wizard-ros-service.ts` - Robot control

View File

@@ -29,11 +29,11 @@ bun dev
Study → Experiment → Trial → Step → Action
```
### User Roles
- **Administrator**: Full system access
- **Researcher**: Create studies, design experiments
- **Wizard**: Execute trials, control robots
- **Observer**: Read-only monitoring
### User Roles (Study-level)
- **Owner**: Full study control, manage members
- **Researcher**: Design experiments, manage participants
- **Wizard**: Execute trials, control robot during sessions
- **Observer**: Read-only access to study data
### Plugin Identifier System
- `identifier`: Machine-readable key (e.g., `nao6-ros2`)
@@ -50,8 +50,25 @@ Study → Experiment → Trial → Step → Action
| `bun build` | Production build |
| `bun typecheck` | TypeScript validation |
| `bun db:push` | Push schema changes |
| `bun db:seed` | Seed data + sync plugins |
| `bun run docker:up` | Start PostgreSQL |
| `bun db:seed` | Seed data + sync plugins + forms |
| `bun run docker:up` | Start PostgreSQL + MinIO |
## Forms System
### Form Types
- **Consent**: Legal/IRB consent documents with signature fields
- **Survey**: Multi-question questionnaires (ratings, multiple choice)
- **Questionnaire**: Custom data collection forms
### Templates (seeded by default)
- Informed Consent - Standard consent template
- Post-Session Survey - Participant feedback form
- Demographics - Basic demographic collection
### Routes
- `/studies/[id]/forms` - List forms
- `/studies/[id]/forms/new` - Create form (from template or scratch)
- `/studies/[id]/forms/[formId]` - View/edit form, preview, responses
---