Skip to content

Staff Mobile Scanner

The Neverline platform includes a companion React Native application built with Expo specifically tailored for Staff members managing high-throughput Event Queues.

To optimize operational throughput beyond the standard web dashboard, the mobile-access app acts as a dedicated, native Ticket Scanner.

Prerequisites

To run the mobile app locally, you will need:

  • An iOS or Android device connected to the same Wi-Fi network as your development machine.
  • The Expo Go app installed from the App Store or Google Play.

Local Configuration

Because your physical phone cannot resolve localhost (it maps to the phone itself), you must explicitly configure the app to connect to your computer's LAN IP address.

  1. Navigate to the mobile app directory:

    bash
    cd apps/mobile-access
  2. Copy the .env.example file to create your own configuration:

    bash
    cp .env.example .env.local
  3. Update .env.local to point to your machine's local IP address (e.g., 192.168.1.50):

    env
    # URL to local Supabase instance
    EXPO_PUBLIC_SUPABASE_URL=http://192.168.1.50:34321
    
    # The ANON Key found in your root /.env.local
    EXPO_PUBLIC_SUPABASE_ANON_KEY=your.anon.key.here
    
    # URL to the Fastify API
    EXPO_PUBLIC_API_URL=http://192.168.1.50:3000

Starting the App

From the root of the Neverline monorepo, run:

bash
pnpm --filter @neverline/mobile-access start

This command initializes the Expo Metro Bundler and displays a connection QR code in the terminal.

Connecting Your Device

  1. Ensure your phone and computer are on the exact same Wi-Fi network.
  2. Open the Expo Go app on your phone.
  3. Use Expo Go (or your phone's native camera on iOS) to scan the QR code shown in your terminal.
  4. The Neverline iOS/Android app will bundle and open.

Features & Usage

The Staff Mobile App supports:

  • Authentication: Staff log in using their standard credentials.
  • Queue Selection: Tap into any authorized Event Queue.
  • Camera Scanning: Hardware-accelerated barcode and QR code ticket scanning.
  • Haptic Feedback: The device physically vibrates when a Session Token is successfully fetched and verified by the Neverline backend.
  • Manual Override: A manual input field for entering tokens when QR codes are unreadable or broken.