How heroesoebekti/face-recognition-member-support works
This SLiMS plugin supports camera-based visitor check-in and attendance, plus staff workflows for enrolling member faces, synchronizing member photos, and managing recognition settings and embedding status. The principal flow is a visitor using the desktop or mobile page: browser-side face detection submits a capture through that page's PHP handler, which calls FastAPI and records recognized members in SLiMS while preventing duplicate check-ins. The README documents live visit statistics. Some endpoint logic is excerpted, so links are limited to evidenced ownership; the listed migration and other unsampled files are not assigned unverified behavior.
Main entry points: FastApiClient.php FastAPI client · visitor.php Desktop counter · public.php Mobile counter · sync_process.php Sync processor
Components 16
Visitor check-in
- Desktop counter
visitor.php - Mobile counter
public.php - Browser detection
visitor.php - Visitor records
- Visit statistics
public.php
Face enrollment
- SLiMS members
- Member capture
face_capture.php - Membership capture
plugin.php - Photo sync UI
face_sync_members.php - Sync processor
sync_process.php - Face embeddings
Admin operations
- Settings dashboard
dashboard.php - Embedding status
face_member_list.php
Recognition integration
- FastAPI client
FastApiClient.php - FastAPI service
Other components
- Visitor
Connections 27
- Visitor → Desktop counter: opens counter
- Visitor → Mobile counter: opens counter
- Desktop counter → Browser detection: runs detection
- Mobile counter → Browser detection: runs detection
- Desktop counter → FastAPI client: submits recognition
- Mobile counter → FastAPI client: submits recognition
- FastAPI client → FastAPI service: sends request
- Desktop counter → Visitor records: records check-in
- Mobile counter → Visitor records: records check-in
- Visit statistics → Visitor records: reads counts
- Visitor records → Visit statistics: provides totals
- Member capture → SLiMS members: reads member
- Member capture → FastAPI client: extracts vector
- Member capture → Face embeddings: stores vector
- Membership capture → SLiMS members: reads member
- Membership capture → FastAPI client: extracts vector
- Membership capture → Face embeddings: stores vector
- Photo sync UI → Sync processor: requests processing
- Sync processor → SLiMS members: reads photos
- Sync processor → FastAPI client: extracts vector
- Sync processor → Face embeddings: stores vector
- Settings dashboard → FastAPI client: checks status
- Settings dashboard → FastAPI client: updates tolerance
- Embedding status → SLiMS members: lists members
- Embedding status → Face embeddings: reads status
- Embedding status → FastAPI client: deletes vectors
- FastAPI client → Face embeddings: loads config