How jayden-dollaga/digital-student-identification-system works
DSIS is a local-first student identification and attendance desktop application. Staff use its HTML/pywebview interface to manage students, attendance, reports, settings, and device workflows; the application bridges those requests to shared Python logic and an ESP32 over USB serial, with SQLite storing local records. The graph reflects the maintained v3 paths and documented capabilities. The large API, UI bridge, and several feature modules were not sampled, so uncertain internal connections are omitted or shown as unverified.
Main entry points: api.py Python API · attendance.py Attendance processing · serial_handler.py Serial connection · app.js Web interface
Components 19
Desktop interface
- Web interface
python/gui_web/web/app.js - WebView host
python/gui_web/main_web.py - Python API
python/gui_web/api.py
School workflows
- Student records
python/core/database.py - Attendance processing
python/core/attendance.py - Attendance calendar
python/core/attendance_calendar.py - Attendance categories
python/core/attendance_status.py - Reports and exports
python/gui_web/api.py
Device operations
- Serial connection
python/core/serial_handler.py - Device discovery
python/core/device_discovery.py - Device commands
python/core/commands.py - ESP32 firmware
firmware/ESP32_DSIS_AllInOne/src - RFID card logic
python/core/rfid_card.py
Shared platform
- Authentication
python/core/auth.py - Role permissions
python/core/permissions.py - Settings and setup
python/settings_store.py - SQLite records
python/core/database.py - Runtime logging
python/core/logger.py
Other components
- Student / Staff
Connections 22
- Student / Staff → Web interface: uses
README.md - Web interface → Python API: calls API
README.md - WebView host → Web interface: hosts
README.md - WebView host → Python API: exposes bridge
- Python API → Student records: manages records
- Python API → Attendance processing: processes scans
- Python API → Reports and exports: serves reports
- Python API → Authentication: checks identity
- Python API → Role permissions: checks access
- Python API → Settings and setup: reads settings
- Attendance processing → SQLite records: reads records
python/core/attendance.py - Student records → SQLite records: persists records
README.md - Reports and exports → SQLite records: reads history
- Attendance processing → Attendance calendar: evaluates windows
- Attendance processing → Attendance categories: categorizes rates
- Python API → Serial connection: connects device
- Serial connection → Device discovery: discovers ports
python/core/serial_handler.py - Python API → Device commands: dispatches actions
- Device commands → Serial connection: sends commands
python/core/commands.py - Serial connection → ESP32 firmware: USB serial
README.md - Attendance processing → RFID card logic: decodes cards
python/core/attendance.py - Serial connection → Runtime logging: logs events
python/core/serial_handler.py