How doorlockd/doorlockd-backend works
Doorlockd Backend manages people, keys, locks, and access policy, then exposes the resulting lock access lists and synchronization status to lock clients. Administrators manage records and inspect access and synchronization through Django admin and detail views; lock clients use the API to synchronize keys and report unknown-key and last-seen telemetry. The model layer implements access-list generation, synchronization state, and telemetry persistence. The excerpts show the main routes and API/model interactions; other model behavior is not inferred beyond the sampled code.
Main entry points: models.py People and Access Models · admin.py Django Admin · api.py Lock API · views.py Access Detail Views
Components 15
Administration
- Project Router
doorlockd_backend/urls.py - Django Admin
apps/doorlockdb/admin.py - Group Bulk Action
apps/doorlockdb/adminviews.py - Model Forms
apps/doorlockdb/model_forms.py
Access Domain
- People and Access Models
apps/doorlockdb/models.py - Lock Sync Logic
apps/doorlockdb/models.py - Key Telemetry
apps/doorlockdb/models.py
Lock Client API
- Lock API
apps/doorlockdb/api.py - Event Long Poll
apps/doorlockdb/views.py
Web Views
- App Router
apps/doorlockdb/urls.py - Access Detail Views
apps/doorlockdb/views.py - Detail Templates
apps/doorlockdb/templates
Other components
- Administrator
- Lock Client
- SQLite Database
Connections 22
- Project Router → App Router: routes requests
doorlockd_backend/urls.py - Project Router → Lock API: mounts API
doorlockd_backend/urls.py - Project Router → Access Detail Views: routes home
doorlockd_backend/urls.py - Administrator → Django Admin: manages records
apps/doorlockdb/admin.py - Django Admin → People and Access Models: queries models
apps/doorlockdb/admin.py - Django Admin → Group Bulk Action: dispatches action
apps/doorlockdb/admin.py - Django Admin → Model Forms: uses forms
- Django Admin → People and Access Models: edits records
apps/doorlockdb/admin.py - Model Forms → People and Access Models: defines fields
apps/doorlockdb/model_forms.py - App Router → Event Long Poll: routes polling
apps/doorlockdb/urls.py - App Router → Access Detail Views: routes details
apps/doorlockdb/urls.py - Access Detail Views → People and Access Models: queries access
apps/doorlockdb/views.py - Access Detail Views → Detail Templates: renders pages
apps/doorlockdb/views.py - Event Long Poll → Lock Sync Logic: reads sync state
apps/doorlockdb/views.py - Lock API → Lock Sync Logic: compares key state
apps/doorlockdb/api.py - Lock API → Key Telemetry: records reports
apps/doorlockdb/api.py - Lock API → People and Access Models: merges key metadata
apps/doorlockdb/api.py - Lock Client → Lock API: calls endpoints
apps/doorlockdb/api.py - Lock Client → Event Long Poll: requests events
- People and Access Models → SQLite Database: persists records
- Lock Sync Logic → SQLite Database: persists sync state
- Key Telemetry → SQLite Database: persists telemetry