How mohammedanasuddinzaid/carespeak-with-database-checks works
CareSpeak turns patient hand/eye movements into spoken, logged requests that reach a clinician console, where staff can respond and manage escalation. The map also preserves ward monitoring, pairing, wearable vitals/SOS, history/reporting, and offline delivery. Edges are limited to README-described behavior and relationships visible in indexed excerpts; unsampled feature internals are represented by their exact route or page paths, with uncertain wiring omitted.
Main entry points: sync/route.ts Event sync API · hand-mode/page.tsx Patient console · nurse-view/page.tsx Nurse console · ingest/route.ts Vitals ingest
Components 27
Patient communication
- Hand gestures
src/hooks/useHandGesture.ts - Eye gestures
src/hooks/useEyeGesture.ts - Gesture classifiers
src/lib/handClassifier.ts - Eye classifier
src/lib/eyeClassifier.ts - Spoken phrases
src/lib/tts.ts - Offline outbox
src/lib/outbox.ts - Patient console
src/app/hand-mode/page.tsx - Remote camera
src/hooks/useCctvFeed.ts
Clinical response
- Risk and escalation
src/lib/escalation.ts - Nurse console
src/app/nurse-view/page.tsx - Ward overview
src/app/ward/page.tsx - Shift report
src/app/report/page.tsx - Bed pairing
src/app/api/pair/route.ts - Patient history
src/app/logs/page.tsx
API and services
- Event sync API
src/app/api/sync/route.ts - Clinical records
src/lib/server/clinical.ts - Live event stream
src/app/api/stream/route.ts - Vitals ingest
src/app/api/ingest/route.ts - Vitals validation
src/lib/server/vitals.ts - Event publisher
src/lib/server/publish.ts - Authentication
src/lib/server/auth.ts
Persistence and delivery
- Realtime bus
src/lib/server/realtime.ts - Session store
src/lib/server/store.ts - MySQL data
src/lib/server/db.ts - Audit trail
src/lib/server/audit.ts
Other components
- Patient
- ESP32 wearable
Connections 30
- Patient → Hand gestures: gestures
- Patient → Eye gestures: gestures
- Hand gestures → Gesture classifiers: classifies
src/hooks/useHandGesture.ts - Eye gestures → Eye classifier: classifies
src/hooks/useEyeGesture.ts - Hand gestures → Spoken phrases: speaks
src/hooks/useHandGesture.ts - Eye gestures → Spoken phrases: speaks
src/hooks/useEyeGesture.ts - Patient console → Hand gestures: uses
- Patient console → Eye gestures: uses
- Patient console → Offline outbox: queues offline
- Patient console → Event sync API: submits events
- Event sync API → Clinical records: records gestures
src/app/api/sync/route.ts - Event sync API → Event publisher: publishes events
src/app/api/sync/route.ts - Clinical records → MySQL data: persists records
src/lib/server/clinical.ts - Nurse console → Live event stream: subscribes
- Live event stream → Realtime bus: streams events
src/app/api/stream/route.ts - Event publisher → Realtime bus: publishes
src/lib/server/publish.ts - Nurse console → Event sync API: replies and acts
- Event sync API → Risk and escalation: evaluates alerts
- Nurse console → Ward overview: monitors patients
- Nurse console → Shift report: reviews report
- Nurse console → Patient history: reviews history
- Patient console → Bed pairing: pairs by QR
- Remote camera → Gesture classifiers: classifies feed
src/hooks/useCctvFeed.ts - ESP32 wearable → Vitals ingest: sends vitals/SOS
- Vitals ingest → Vitals validation: sanitizes readings
src/app/api/ingest/route.ts - Vitals ingest → Session store: stores readings
src/app/api/ingest/route.ts - Vitals ingest → Event publisher: publishes alerts
src/app/api/ingest/route.ts - Event sync API → Authentication: authorizes access
src/app/api/sync/route.ts - Audit trail → MySQL data: writes audit rows
src/lib/server/audit.ts - Authentication → MySQL data: reads credentials
src/lib/server/auth.ts