Skip to content

Commit a2c5c59

Browse files
committed
Add browser-native QR code scanner with Scittle
Implement a complete QR code scanner that runs entirely in the browser using Scittle, Reagent, and jsQR library. No build tools or backend required - just pure browser-native ClojureScript. Features: - Real-time QR code detection using WebRTC camera access - Keyword arguments throughout for clarity and maintainability - Visual feedback: flash animation, toast notifications, beep sound - Result highlighting with copy-to-clipboard functionality - Performance optimized with willReadFrequently canvas context - Duplicate detection to prevent re-scanning same codes Article includes: - Comprehensive educational documentation - Technology stack explanation (WebRTC, Canvas API, jsQR) - Code architecture with state management patterns - Real-world use cases (event check-in, inventory, 2FA, WiFi) - Extension ideas and performance optimization tips - Sample QR codes for immediate testing (blog, Clojure/conj, LinkedIn) Files added: - src/scittle/qrcode/qr_code_scanner.clj (main article, 608 lines) - src/scittle/qrcode/qr_scanner.cljs (implementation, 481 lines) - src/scittle/qrcode/*.png (3 sample QR code images) This continues the browser-native development series alongside the weather API and Pyodide integration articles.
1 parent 3199688 commit a2c5c59

File tree

5 files changed

+1089
-0
lines changed

5 files changed

+1089
-0
lines changed
35.8 KB
Loading
22.3 KB
Loading
26.5 KB
Loading

0 commit comments

Comments
 (0)