QR Code Generator - Next.js 15, TypeScript, Tailwind CSS
2.8K
A modern, feature-rich QR code generator built with Next.js 15, featuring real-time preview, extensive customization options, and multi-language support (English & Arabic).










git clone https://github.com/mahmoodhamdi/QR-Code-Generator.git
cd QR-Code-Generator
npm install
npm run dev
# Development
npm run dev # Start development server
# Build
npm run build # Build for production
npm run start # Start production server
# Testing
npm test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run test:e2e # Run E2E tests with Playwright
# Code Quality
npm run lint # Run ESLint
npm run type-check # Run TypeScript type checking
src/
├── app/ # Next.js App Router pages
│ ├── page.tsx # Home page (QR Generator)
│ ├── scan/ # QR Scanner page
│ ├── batch/ # Batch generation page
│ └── templates/ # Templates page
├── components/
│ ├── layout/ # Header, Footer, Theme Toggle, Language Switcher
│ ├── qr/ # QR-related components
│ │ ├── forms/ # Form components for each QR type
│ │ ├── QRGenerator.tsx
│ │ ├── QRPreview.tsx
│ │ ├── QRCustomizer.tsx
│ │ ├── QRExporter.tsx
│ │ └── QRHistory.tsx
│ └── ui/ # shadcn/ui components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
│ ├── encoder.ts # QR string encoding
│ ├── generator.ts # QR code generation
│ └── validations.ts # Input validation
├── stores/ # Zustand stores
├── types/ # TypeScript type definitions
└── i18n/ # Internationalization config
messages/
├── en.json # English translations
└── ar.json # Arabic translations
npm test
212 tests covering:
npm run test:e2e
33 Playwright tests covering:
The app supports:
Language can be switched using the language toggle in the header. The preference is saved in a cookie.
| Option | Description |
|---|---|
| Foreground Color | QR code pattern color |
| Background Color | QR code background |
| Gradient | None, Linear, or Radial gradient |
| Pattern Style | Squares, Dots, or Rounded |
| Corner Style | Square, Rounded, or Extra Rounded |
| Size | Small (128px) to Print Ready (1024px) |
| Error Correction | Low (7%), Medium (15%), Quartile (25%), High (30%) |
| Logo | Upload custom logo with adjustable size |
| Frame Text | Add custom text below QR code |
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License - see the LICENSE file for details.
Mahmood Hamdi
Content type
Image
Digest
sha256:e58417a86…
Size
65.6 MB
Last updated
4 months ago
docker pull mwmsoftware/qr-code-generator