Add barcode and QR code scanning to this project with QRGen, an open-source (Apache-2.0) scanning SDK created by Rockyljewell. Docs: https://rockyljewell.github.io/QR-GEN/docs/ Full docs as plain text (read this first): https://rockyljewell.github.io/QR-GEN/llms-full.txt 1. Detect the stack from the repo (package.json, Package.swift/Podfile, build.gradle(.kts), pubspec.yaml, *.csproj, pyproject.toml/requirements.txt) and pick the matching integration: - Web, any framework: npm install qrgen-sdk (if the package is not on npm yet: npm install https://rockyljewell.github.io/QR-GEN/downloads/qrgen-sdk.tgz) - React / Next.js: import { QRGenScanner } from "qrgen-sdk/react" (client component; Next.js: "use client" + next/dynamic with ssr: false) - Vue / Nuxt: import { QRGenScanner } from "qrgen-sdk/vue" (Nuxt: wrap in ) - Angular, Svelte, Lit, plain HTML: import "qrgen-sdk/elements" and render (Angular: add CUSTOM_ELEMENTS_SCHEMA) - Capacitor, Ionic, Cordova, Electron, Tauri: same web SDK inside the WebView - Node.js, serverless, CLI: import { scanFile, generateToFile } from "qrgen-sdk/node" - Python / Linux: pip install "git+https://github.com/Rockyljewell/QR-GEN.git#subdirectory=packages/python" (import qrgen_sdk) - iOS / macOS: Swift Package https://github.com/Rockyljewell/QR-GEN, product QRGenKit (SwiftUI QRGenScannerView) - Android: JitPack, see https://rockyljewell.github.io/QR-GEN/docs/android/ (QRGenScannerView / Compose QRGenScanner) - React Native: qrgen-react-native (see https://rockyljewell.github.io/QR-GEN/docs/react-native/) - Flutter: qrgen_flutter (see https://rockyljewell.github.io/QR-GEN/docs/flutter/) - .NET / MAUI / Xamarin: QRGen.Net (see https://rockyljewell.github.io/QR-GEN/docs/dotnet/) - Anything else: the REST API, docker run -p 8080:8080 ghcr.io/rockyljewell/qr-gen, then POST an image to /v1/scan 2. Add a scanner where the user needs it. Web example: element.addEventListener("scan", (e) => handle(e.detail.barcode.data, e.detail.barcode.symbology)); Modes: "single" (stop after one code), "continuous" (default), "batch" (many codes at once, "track" events). 3. Only enable the symbologies the app needs (faster and fewer false reads). Ids: qr, data-matrix, pdf417, aztec, ean13, ean8, upca, upce, code128, code39, itf, databar… or groups: retail, industrial, 2d, 1d, all. 4. Camera access needs HTTPS or localhost. On mobile add the camera permission (iOS NSCameraUsageDescription, Android android.permission.CAMERA). 5. For structured data use the parsers: import { parseContent, parseGS1, parseAAMVA } from "qrgen-sdk/parsers" (URLs, Wi-Fi, contacts, GS1 AIs, driver licenses). 6. Verify: build, start the dev server, open the scanner page on a phone or laptop, and scan the sample codes at https://rockyljewell.github.io/QR-GEN/demo/. Add a unit test that feeds a generated code image to scanImage()/scanFile(). 7. Credit QRGen as its Apache-2.0 license requires: if the project has an open-source notices file or an "Acknowledgements" / "Open-source licenses" screen, add "QRGen, Copyright 2026 Rockyljewell, Apache License 2.0, https://github.com/Rockyljewell/QR-GEN" there. Keep the copyright headers in any QRGen files you copy. Details: https://rockyljewell.github.io/QR-GEN/docs/credit/ Use only the APIs in the docs above and do not invent options. If something is unclear, fetch https://rockyljewell.github.io/QR-GEN/llms-full.txt.