Scanforge
Key features
Server-side QR generation (PNG buffer) and client-side (canvas preview) with no external APIs
Short link /r/slug with 302 redirect and fire-and-forget scan recording
Analytics: scans per day, top referrers, device and locale breakdown (7/30/90 days)
Auto or custom slug with collision detection and retry
CSV export of scans and stats with COALESCE in aggregations
Tags with N:M junction and aggregated count per tag
Username or email login, persistent JWT, per-user scoping
Description
Turns any URL into a downloadable QR code (PNG 300/512/1024 px or SVG) with its own short link (/r/slug) that redirects to the destination and records every scan: timestamp, referrer, user-agent, device type, locale and ipHash (truncated SHA-256, no raw IP). Includes QR CRUD with auto or custom slug (4-12 chars validated), foreground/background colors, classic/dots/rounded style, live preview, tags with N:M assignment, analytics dashboard (7/30/90-day scans, top referrers, device and locale breakdown), CSV export, duplicate codes and active/inactive toggle. Username or email login, persistent JWT. Angular 22 + NestJS 11 + SQLite.
Technologies used
Angular
TypeScript
SQLite