Decoupled Drupal Case Study: Scan stations for visitor authentication (Don Koller)

Portable scan stations can be used at conferences, meetings, offices, buildings, or any access-controlled points. Within one second of scanning, the Drupal backend is consulted and a decision is announced: Enter, Your Meeting is in Room 1024, or See the Service Desk or any other message that you want.
• We have developed this for a Drupal site with more than 80,000 registered users. When users come to one of our facilities, they use the local scanner stations to confirm their eligibility status for admission. Service staff nearby can arrange for new users to become eligible, and deal with users rejected by the scanner. The Drupal website and backend database run at AWS.
• Admission can be based on any combination of start/end dates, payment status, specific event, training session, any data in the user’s account profile or other data in the Drupal database.
• Users will either scan their QR code on their mobile device (like at the airport gate check-in) or scan a unique keytag obtained on their first visit. {{The mobile app is also decoupled.}}
• The local hardware cost is less than $200 (qty 1 but less in bulk). Network connection is by WiFi or Ethernet. Device supports Bluetooth, HDMI and audio devices.
• User scan and response (Valid/Invalid) within one second, includes audio feedback and display of user name and photo. If rejected, screen displays reason why the user is invalid. If Valid, the date/time of successful scan is recorded in the user account. In our app, the scan remains valid for 3 hours.
• User presence status can optionally be displayed on large-screen monitors–e.g., in classroom–showing valid/invalid status and whether the user has scanned in.
• App communicates with backend using the Drupal API and can for example be coded in React.js or other.

This session will discuss and demonstrate:
• The overall approach: QR/barcode scanners with Drupal backend
• How we selected and configured the hardware
• How we programmed interaction with the Drupal MySQL database

Drupal is a registered trademark of Dries Buytaert.