How enzowtacla/dashcam works
This repository implements a browser-based dashcam fingerprinting system: the encoder captures camera frames, hashes and uploads them with session metadata, and queues failed transmissions for retry; the decoder finds sessions, downloads frames, verifies integrity, and reconstructs playback. The sampled source supports the encoder’s capture and queue flow and the decoder’s retrieval and verification flow. README content and several referenced modules were not provided, so unsampled behavior is represented only where the tree supports a path.
Main entry points: src/App.tsx Capture controls · src/App.tsx Session review · offlineQueue.ts Queue and retry · frameStorage.ts Frame upload
Components 14
Encoder capture
- Capture controls
encoder/src/App.tsx - Frame upload
encoder/src/services/frameStorage.ts - Fingerprint sender
encoder/src/services/fingerprint.ts
Offline delivery
- Queue and retry
encoder/src/services/offlineQueue.ts - Pending frames
encoder/src/db/localDB.ts
Cloud services
- Encoder client
encoder/src/lib/supabase.ts - Decoder client
decoder/src/lib/supabase.ts - Frame storage
- Fingerprint records
Decoder review
- Session review
decoder/src/App.tsx - Session retrieval
decoder/src/services/sessions.ts - Frame verification
decoder/src/services/frameVerification.ts
Other components
- Dashcam operator
- Camera device
Connections 22
- Dashcam operator → Capture controls: starts recording
- Capture controls → Camera device: requests video
- Capture controls → Frame upload: uploads frame
- Capture controls → Fingerprint sender: sends fingerprint
- Capture controls → Queue and retry: queues failure
- Capture controls → Queue and retry: flushes on reconnect
- Queue and retry → Pending frames: stores and reads
- Queue and retry → Frame upload: retries upload
- Queue and retry → Fingerprint sender: retries metadata
- Frame upload → Frame storage: uploads frame
- Fingerprint sender → Fingerprint records: writes fingerprint
- Encoder client → Frame storage: configures access
- Encoder client → Fingerprint records: configures access
- Dashcam operator → Session review: searches sessions
- Session review → Session retrieval: loads sessions
- Session review → Session retrieval: loads frames
- Session retrieval → Fingerprint records: queries records
- Session review → Frame verification: verifies frames
- Frame verification → Frame storage: downloads frame
- Decoder client → Fingerprint records: configures access
- Decoder client → Frame storage: configures access
- Session review → Dashcam operator: shows integrity and playback