Download the PHP package risqid/laravel-attendance-engine without Composer
On this page you can find all versions of the php package risqid/laravel-attendance-engine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download risqid/laravel-attendance-engine
More information about risqid/laravel-attendance-engine
Files in risqid/laravel-attendance-engine
Download risqid/laravel-attendance-engine
More information about risqid/laravel-attendance-engine
Files in risqid/laravel-attendance-engine
Vendor risqid
Package laravel-attendance-engine
Short Description Reusable Laravel attendance engine with stateless dynamic QR challenges.
License MIT
Package laravel-attendance-engine
Short Description Reusable Laravel attendance engine with stateless dynamic QR challenges.
License MIT
Please rate this library. Is it a good library?
Informations about the package laravel-attendance-engine
Laravel Attendance Engine
Reusable Laravel package for session-based attendance using stateless dynamic QR challenges and configurable action windows.
Features
- Stateless Dynamic QR Challenges: HMAC-SHA256 signed payloads validated against server time windows without storing rotating QR codes in the database.
- Compact 32-Character Binary Payload (v2 Default): 24-byte packed binary payload (
1B header [version 2 << 4 | actionCode] + 16B raw binary UUID session ID + 4B big-endian uint32 window + 3B truncated HMAC-SHA256) encoded as exactly 32 characters Base64URL (no padding). Fits dense, high-contrast QR Version 2 (25x25 grid) for fast camera detection on mobile screens. - Legacy Payload Support (v1): Backward-compatible with JSON string payload (
v,sid,act,win,exp,sig). - Granular Action Windows: Independent
check_inandcheck_outscan windows inside a broader session lifecycle. - Event-Driven Architecture: Dispatches
AttendanceRecordedevent for host-side reconciliation (e.g. daily attendance bundling, audit logs, notifications). - Decoupled Architecture: 100% generic. Host systems provide their own participant models, authorization, and location rules via contracts.
Requirements
- PHP
^8.1 - Laravel / Illuminate
^10.10|^11.0|^12.0
Installation
Install via Composer:
(Or via GitHub VCS repository if hosted privately)
Publish and run migrations:
Publish configuration (optional):
Environment Configuration
Configure secret key in .env:
If ATTENDANCE_ENGINE_SECRET is not set, the package falls back to Laravel's APP_KEY.
Database Tables
attendance_sessions: stores session lifecycle, secret rotation metadata, andaction_windows.attendance_records: stores unique attendance transactions per(attendance_session_id, participant_type, participant_id, action).
Core Contracts
Host applications implement contracts to integrate domain logic:
| Contract | Purpose |
|---|---|
Risqid\AttendanceEngine\Contracts\ParticipantResolver |
Resolves authenticated user to participant identity. |
Risqid\AttendanceEngine\Contracts\EligibilityResolver |
Verifies whether a participant is authorized for the session. |
Risqid\AttendanceEngine\Contracts\LocationPolicy |
Validates client IP or GPS coordinates against location rules. |
Risqid\AttendanceEngine\Contracts\AttendanceContext |
Optional host model representation for attendance context. |
Risqid\AttendanceEngine\Contracts\AttendanceParticipant |
Optional host model representation for participants. |
Basic Usage
1. Creating a Session
2. Generating Dynamic QR Challenge
3. Scanning and Recording Attendance
4. Listening to Attendance Events
License
The MIT License (MIT).
All versions of laravel-attendance-engine with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.1
illuminate/contracts Version ^10.10|^11.0|^12.0
illuminate/database Version ^10.10|^11.0|^12.0
illuminate/http Version ^10.10|^11.0|^12.0
illuminate/support Version ^10.10|^11.0|^12.0
illuminate/contracts Version ^10.10|^11.0|^12.0
illuminate/database Version ^10.10|^11.0|^12.0
illuminate/http Version ^10.10|^11.0|^12.0
illuminate/support Version ^10.10|^11.0|^12.0
The package risqid/laravel-attendance-engine contains the following files
Loading the files please wait ...