@yudiel/react-qr-scanner is a React library for scanning QR codes and barcodes using the device camera. It implements a layered hook architecture where `useCamera` manages low-level camera access and settings via a task queue pattern to prevent race conditions, `useScanner` implements the barcode detection loop using requestAnimationFrame with configurable timing and duplicate detection, and `useDevices` enumerates available video input devices. The main `Scanner` component orchestrates these hooks, handles coordinate transformation from video resolution to display space for accurate overlay rendering, and provides optional UI components for camera controls (torch, zoom, on/off). The library handles browser-specific quirks like the torch/zoom constraint conflict on mobile devices and provides robust error mapping for camera access issues.
This is a high-performance, multi-format barcode reading and writing library (zxing-cpp), the C++ port of the original ZXing Java library. It supports reading and generating over 30 symbologies including QR Code, Data Matrix, Aztec, PDF417, MicroPDF417, MaxiCode, and all common 1D formats (EAN/UPC, Code128, Code39, Codabar, ITF, DataBar, Telepen). The library is implemented in modern C++ with a clean, modular architecture: each symbology has its own detector, decoder, and writer. Core utilities include generic Reed-Solomon error correction, histogram-based and hybrid binarization, perspective transforms, grid sampling, and pattern matching templates. It provides a unified C API that all language wrappers bind to, ensuring consistent behavior across platforms. The library does not include a standalone application; rather, it is designed to be embedded in other software via its wrappers for Python, .NET, Go, Rust, Kotlin/Native, Qt, iOS, Android, WinRT, and WebAssembly. Extensive test coverage includes unit tests (Google Test), blackbox image regression tests, and fuzz tests. The project is actively maintained with frequent commits, CI/CD pipelines for publishing packages to multiple package managers, and commercial support available. The code demonstrates advanced craftsmanship in template metaprogramming, algorithmic pattern matching, and efficient image processing.
This repository is the endroid/qr-code PHP library for generating QR codes in multiple output formats including PNG, GIF, WebP, SVG, EPS, PDF, binary text, and console output. It provides a clean object-oriented architecture with immutable value objects (QrCode, Color, Matrix), a Builder facade for convenient construction, and a set of Writer classes each implementing WriterInterface. The library delegates low-level QR encoding to BaconQrCode and handles matrix rendering, logo overlays, and label placement. It includes optional validation by decoding the generated image. The code is modern PHP 8.4, utilizing readonly classes, enums, named arguments, and strict typing. The separation of concerns is clear: QrCode holds data parameters, Matrix encapsulates the binary grid and size calculations, Writers produce format-specific results, and Results provide uniform access to the output. The Builder aggregates all common options and allows per-call overrides. The library is well-maintained with active CI, zero dependabot alerts, and runs on the latest PHP versions.
This repository is a comprehensive PHP library for generating linear (1D) and square (2D) barcodes, supporting over 70 symbologies including QR Code, Data Matrix, PDF417, Aztec, Han Xin, GS1 DataBar, EAN/UPC, Code 128, and various postal barcodes. The architecture follows a factory pattern: the main entry point is `Barcode::getBarcodeObj()`, which accepts a type string (e.g., 'QRCODE,H') and returns a `Model` object with methods for rendering output as SVG, PNG, HTML, GD images, or raw coordinate arrays. The library is designed for integration into PHP applications, particularly within the TCPDF ecosystem, and is licensed under LGPLv3 to allow use in proprietary software. The codebase is well-structured with abstract base classes (`Type`, `Linear`, `Square`), traits for shared logic (e.g., `FixedLengthCheckDigit`, `HibcPayload`), and dedicated encoding pipelines for each symbology. Key reusable components include a generic Reed-Solomon error correction class, a math helper with bcmath fallback, and data compaction modules for GS1 and other standards. The library has extensive test coverage with PHPUnit, including round-trip encoding/decoding tests and verification against published reference symbols from ISO and other standards. External dependencies are minimal: only `tecnickcom/tc-lib-color` is required; optional extensions include `bcmath` for arbitrary-precision arithmetic, `gd` for PNG output, and `imagick` for additional image processing. The library is actively maintained (copyright 2001-2026) and uses modern PHP 8.2+ features such as enums, match expressions, and typed properties. The single maintainer and large number of hand-coded data tables (e.g., alignment patterns, error correction blocks) present a bus-factor risk, but the code quality and testing are solid.
QRServ is an Android application that turns a device into a local file-sharing server. Users select files (or use Direct Access Mode for single files without copying), and the app starts an embedded Ktor HTTP server on an unused port. The server URL is displayed as a QR code for other devices on the same network to scan and download files. Optionally, on Android 13+, QRServ can create a private Wi-Fi hotspot (with band selection on Android 16+) so that only devices joining the hotspot can access the files. The app runs a foreground service with a persistent notification, handles HTTP range requests for large files, and includes an idle timeout that automatically stops the server when no downloads occur for a configurable period. The architecture follows a standard Android MVVM pattern with Jetpack Compose UI, using StateFlow for reactive state management and a centralized ViewModel (QRServViewModel) that orchestrates server lifecycle, network callbacks, and hotspot control. The codebase demonstrates strong engineering practices including comprehensive unit tests, separation of concerns into repositories and controllers, and careful handling of Android-specific edge cases such as permission revocations, network changes, and file removal during sharing. The app is available on Google Play and IzzyOnDroid with multi-language support.
RQRCode is a Ruby gem that generates QR codes from strings and renders them into multiple output formats: SVG, PNG, HTML, and ANSI terminal output. It wraps the `rqrcode_core` gem for QR matrix generation and adds rendering capabilities. The SVG renderer includes an optimized path-tracing algorithm that produces compact output by tracing the perimeter of dark modules rather than drawing individual rectangles, demonstrating significant engineering craftsmanship. The PNG renderer supports two sizing strategies (Google-inspired and original) and accepts flexible color inputs. The gem includes a comprehensive benchmarking suite (using benchmark-ips, memory_profiler, and stackprof) that measures both end-to-end and rendering-only performance, with results saved as JSON for tracking over time. The codebase is well-structured, follows Ruby conventions, and has thorough test coverage across all export formats.
EFQRCode is a pure-Swift, cross-platform Apple framework for generating stylized and highly customizable QR codes, and for recognizing QR codes from images. The core production code exposes two primary entry points: `EFQRCode.Generator` and `EFQRCode.Recognizer`. The generator accepts text/data input, encodes it using the external `QRCodeSwift` package, maps the resulting matrix through a strategy-based style hierarchy (`EFQRCodeStyleBasic`, `EFQRCodeStyleBubble`, `EFQRCodeStyleLine`, `EFQRCodeStyle25D`, `EFQRCodeStyleImage`, etc.), and produces SVG representations which are then rasterized by `SwiftDraw` into static images, PDFs, GIFs, APNGs, or AVFoundation-backed video files. The recognizer uses CoreImage-based detection with grayscale fallback and result caching. The library is heavily documented, supports iOS, macOS, tvOS, watchOS, and visionOS, and is distributed through SPM, CocoaPods, and Carthage. The `Examples/` directory contains demo apps for each platform that act as integration-style usage references, but these are example clients rather than the core deliverable. This is definitively an application/library repository; there are no data pipelines, notebooks, or research artifacts.
ZXing (Zebra Crossing) is a mature, multi-format barcode image processing library written in Java. It provides both decoding and encoding capabilities for over 15 1D and 2D symbologies, including QR Code, Data Matrix, Aztec, PDF417, UPC/EAN, Code 128, and many more. The core library is platform-independent, with additional modules for Android (Barcode Scanner app), Java SE (command-line tools), and web applications (a decode servlet and a GWT-based generator). The architecture follows a clean Reader/Writer interface pattern, with format-specific implementations decoupled from common infrastructure like Reed-Solomon error correction, binarization, and perspective transformation. The library is in maintenance mode: no new features are planned, but bug fixes and minor enhancements from the community are accepted. The Android app is deprecated and does not work on Android 14. Despite its age, the codebase remains a reference implementation for barcode standards and is widely ported to other languages.
This repository is a PHP-based monolithic web application called '引流宝' (Traffic Treasure), designed for private-domain traffic acquisition and marketing within the Chinese WeChat ecosystem. It provides a suite of tools including dynamic QR code management for WeChat groups (活码), customer service codes, channel codes, short URLs, Taobao affiliate intermediate pages, share cards (WeChat sharing), coupon key distribution, and a plugin system for extensions like WeChat external link bridging and anti-blocking. The backend is implemented in raw PHP without frameworks, using a custom PDO wrapper for MySQL. The frontend uses jQuery and Bootstrap. The application is feature-complete and actively used (2005 stars), but the codebase suffers from severe code duplication, weak security practices (MD5 hashing, SQL injection points, hardcoded secrets), outdated vendored libraries (PHPMailer, Chart.js, TailwindCSS, jsQR), and no automated testing. It represents a functional but poorly engineered tool that would require significant refactoring for production safety or reuse outside its specific marketing domain.