π¦
QRcodly
Create, manage, and share QR codes and short URLs
0 installs
Trust: 34 β Low
Devtools
Ask AI about QRcodly
Powered by Claude Β· Grounded in docs
I know everything about QRcodly. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
QRcodly
QRcodly is a free, open-source QR code generator and management platform. Create, customize, and track QR codes for URLs, contact details, Wi-Fi credentials, and more.
Features
- Multiple QR code types β URL, vCard, Wi-Fi, Email, Calendar Event, Location, Plain Text
- Full customization β colors, sizes, backgrounds, and custom icon uploads
- Export formats β PNG, JPEG, SVG
- URL shortening & analytics β shorten links and track scans
- Templates β save and reuse QR code configurations
- Custom domains β use your own domain for short URLs (Cloudflare integration)
- Internationalization β 8 languages (EN, DE, ES, FR, IT, NL, PL, RU)
- Authentication β powered by Clerk
- Browser extension β generate QR codes from any page
Monorepo Structure
qrcodly/
βββ apps/
β βββ backend/ # Fastify REST API
β βββ frontend/ # Next.js web application
β βββ browser-extension/ # Vite-based browser extension
βββ packages/
β βββ shared/ # Zod schemas, DTOs, and shared utilities
β βββ eslint-config/ # Shared ESLint configuration
β βββ typescript-config/ # Shared TypeScript configuration
βββ docker-compose.yaml # Local development services
See per-app READMEs for architecture details: Backend Β· Frontend Β· Browser Extension Β· Shared Package
Tech Stack
| Layer | Technologies |
|---|---|
| Frontend | Next.js, React, TypeScript, Tailwind CSS, shadcn/ui, Zustand, TanStack Query, next-intl |
| Backend | Fastify, TypeScript, Drizzle ORM, tsyringe (DI), Zod, Nodemailer, Handlebars |
| Database | MySQL, Redis |
| Storage | S3 / MinIO |
| Auth | Clerk |
| Billing | Stripe |
| Analytics | Umami, PostHog |
| Monitoring | Axiom, Sentry |
Prerequisites
Quick Start
# 1. Clone the repository
git clone https://github.com/FloB95/qrcodly.git
cd qrcodly
# 2. Install dependencies
pnpm install
# 3. Start local services (MySQL, Redis, MinIO, Umami)
docker-compose up -d
# 4. Set up environment variables
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env
# Edit both .env files with your configuration (Clerk keys, etc.)
# 5. Start development servers
pnpm run start:dev
# Backend API β http://localhost:5001
# Frontend β http://localhost:3000
Available Scripts
| Script | Description |
|---|---|
pnpm run start:dev | Start backend and frontend in development mode |
pnpm run backend:dev | Start backend only (runs migrations first) |
pnpm run frontend:dev | Start frontend only |
pnpm run build | Build all apps |
pnpm run build:shared-package | Build the shared package only |
pnpm run lint | Lint all workspaces |
pnpm run format | Format all files with Prettier |
pnpm run clean | Clean build artifacts across all apps |
Local Services (Docker Compose)
| Service | Port | Details |
|---|---|---|
| MySQL | 3306 | Credentials: root / root, database: qrcodly |
| Redis | 6379 | β |
| MinIO (S3) | 9000 (API), 9001 (Console) | Credentials: minio / testtest |
| phpMyAdmin | 8081 | β |
| Umami Analytics | 3001 | β |
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines and setup instructions.
License
This project is licensed under the MIT License.
