Create, manage, and share QR codes and short URLs
SaferSkills independently audited QRcodly (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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 servicesSee per-app READMEs for architecture details: Backend · Frontend · Browser Extension · Shared Package
| 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 |
# 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| 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 |
| 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 | — |
Contributions are welcome! Please see CONTRIBUTING.md for guidelines and setup instructions.
This project is licensed under the MIT License.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.