How workvaibhavk/proaccess works
proAccess is a hospital RFID visitor and access-management web app. Staff authenticate, assign an RFID card to a visitor or clinician within visiting rules, and persist the active assignment. An RFID reader submits card taps for server-side verification; the result is logged and can be polled by visitor-facing or computer-vision workflows. Staff can inspect cards, active visitors, and recent scans through the dashboard. The sampled source confirms these API and persistence flows; dashboard and OpenCV page internals were not sampled.
Components 18
Staff Experience
- Product Landing
app/page.js - Navigation Shell
components/Navbar.jsx - Card Assignment
app/assign-card/page.js - Access Dashboard
app/dashboard/page.js - OpenCV Data
app/data-stream/page.jsx
Access Control
- Registration API
app/api/rfid/register/route.js - Verification API
app/api/rfid/verify/route.js - Card Reset API
app/api/rfid/reset/route.js - Card List API
app/api/rfid/list/route.js
Visitor Operations
- Latest RFID API
app/api/rfid/latest-scan/route.js - Active Visitor API
app/api/visitor/active/route.js - Latest Visitor Scan
app/api/visitor/latest-scan/route.js
Persistent Data
- Supabase Database
- Supabase Server Client
lib/supabase/server.js
Identity Services
- Clerk Identity
Other components
- Staff User
- RFID Reader
- Python Poller
Connections 22
- Staff User → Product Landing: opens app
- Product Landing → Clerk Identity: authenticates
- Staff User → Card Assignment: assigns card
- Card Assignment → Latest RFID API: polls scans
- Card Assignment → Registration API: submits assignment
- Registration API → Supabase Server Client: writes records
- Supabase Server Client → Supabase Database: persists data
- RFID Reader → Verification API: submits UID
- Verification API → Supabase Server Client: reads visitor
- Verification API → Supabase Server Client: logs result
- Python Poller → Latest Visitor Scan: polls allowed scan
- Latest Visitor Scan → Supabase Server Client: reads scan log
- Python Poller → Active Visitor API: requests visitor
- Active Visitor API → Supabase Server Client: reads visitor
- Staff User → Card Reset API: resets card
- Card Reset API → Supabase Server Client: updates status
- Staff User → Access Dashboard: reviews access
- Access Dashboard → Card List API: loads cards
- Card List API → Supabase Server Client: reads records
- Staff User → OpenCV Data: views vision data
- Navigation Shell → Clerk Identity: checks session
- Card Assignment → Navigation Shell: renders navigation