How codenebula-dev/fingerprint-scanner-in-out-system works
Campus biometric entry management combines gate-side identification and movement tracking with student records, daily logs, home-leave handling, curfew oversight, and an administrative panel. The sampled C++ CLI shows orchestration of gate-log and home-record operations; the README describes broader Python workflows and the hardware-to-software design. The tree contains several engine variants, so this graph uses the sampled v2 CLI and treats the Windows bridge, GUI, and Pico implementation as distinct subsystems. Python-to-engine GUI wiring and some unsampled subsystem internals are not established by the excerpts.
Main entry points: main.cpp Gate controller · main.py Admin interface · bind_database.cpp Python engine bindings · main_pico.cpp Pico gate firmware
Components 22
Gate workflows
- Gate controller
cpp_engine_v2/src/main.cpp - Direction and status
cpp_engine_v2/src/main.cpp - Curfew audit
cpp_engine_v2/src/main.cpp
C++ engine
- Fingerprint matching
cpp_engine_v2/src/fingerprint.cpp - Student profiles
cpp_engine_v2/src/master_db.cpp - Daily gate logs
cpp_engine_v2/src/daily_log.cpp - Home-leave records
cpp_engine_v2/src/home_db.cpp - Rejected scans
cpp_engine_v2/src/daily_log.cpp - Python engine bindings
bridge_new/bindings/bind_database.cpp
Admin panel
- Admin interface
GUI-Application/main.py - Log view
GUI-Application/log_view.py - Outside-student view
GUI-Application/out_view.py - Requests view
GUI-Application/requests_view.py - Student management
GUI-Application/users_win.py - GUI database access
GUI-Application/database_win.py
Pico terminal
- Pico gate firmware
pico_engine/main_pico.cpp - Pico biometric matcher
pico_engine/pico_matcher.cpp - Pico gate state
pico_engine/pico_fsm.cpp - Hardware database bridge
hardware/pico_db_bridge.py
Other components
- Gate staff
- Fingerprint scanner
- Administrators
Connections 20
- Gate staff → Gate controller: operates
- Fingerprint scanner → Gate controller: provides scan
- Gate controller → Student profiles: reads profiles
- Gate controller → Daily gate logs: reads and writes
- Gate controller → Home-leave records: reads and writes
- Gate controller → Rejected scans: records failures
- Gate controller → Direction and status: derives status
- Gate controller → Curfew audit: runs audit
- Administrators → Admin interface: uses
- Admin interface → Log view: shows logs
- Admin interface → Outside-student view: shows outside list
- Admin interface → Requests view: handles requests
- Admin interface → Student management: manages students
- Admin interface → GUI database access: uses access layer
- Python engine bindings → Student profiles: exposes CRUD
- Python engine bindings → Daily gate logs: exposes log API
- Python engine bindings → Home-leave records: exposes leave API
- Pico gate firmware → Pico biometric matcher: uses matcher
- Pico gate firmware → Pico gate state: uses state machine
- Hardware database bridge → Pico gate firmware: bridges hardware