Product Requirements Document (PRD)

v1.3 Project: qr2.ignited.cloud Status: Draft

1. Executive Summary

1.1 Vision Statement

QR Igniter 2.0 is an enterprise-grade QR code management platform that enables brands to create GS1 Digital Link compliant QR codes, track consumer engagement analytics, and provide interactive experiences through branded mobile applications.

1.2 Problem Statement

Brands need a comprehensive solution to:

  • Generate standards-compliant QR codes at scale
  • Track consumer engagement with products
  • Provide interactive experiences (competitions, feedback, product information)
  • Manage multiple brands and campaigns from a single platform
  • Support global operations with multi-language capabilities

1.3 Solution Overview

A comprehensive multi-component system consisting of:

  1. Backend Platform: Laravel 12 + Filament v4 admin panel for QR code generation, management, and analytics
  2. Mobile Application: Flutter-based consumer app for QR code scanning and brand engagement
  3. Public Website: Marketing website showcasing platform features with modern design
  4. Documentation Portal: Searchable technical documentation and user guides
  5. API Documentation: Interactive Swagger/OpenAPI documentation

1.4 Development Methodology

Test-Driven Development (TDD) approach will be used throughout:

  • Write tests before implementation
  • Maintain minimum 80% code coverage
  • Automated CI/CD pipeline with test gates
  • Unit tests for all Laravel services and Flutter components

2. Project Overview

2.1 Project Scope

Component Technology Purpose
Admin Backend Laravel 12 + Filament v4 QR code generation, client management, analytics
Consumer Mobile App Flutter 3.x QR scanning, competition entry, brand engagement
Public Website HTML5, CSS3, JavaScript, AOS Marketing, feature showcase, lead generation
Documentation Portal Static HTML + Search (Lunr) Technical docs, user guides, API reference
API Documentation Swagger/OpenAPI 3.0 Interactive API documentation
Database MySQL 8.x Data persistence

2.2 Key Features Summary

Backend Platform

  • Multi-tenant client and brand management
  • GS1 Digital Link QR code generation
  • Bulk QR code generation via CSV upload
  • Dynamic URL redirection
  • Interim selector/landing page builder
  • Comprehensive analytics dashboard
  • GTIN/Batch/Serial number management
  • Logo embedding with brand/custom logo support (PNG, JPG, SVG)

Mobile Application

  • QR code scanning via camera
  • Competition entry workflow
  • Brand-customized UI theming
  • Push notifications
  • Customer feedback submission
  • Product information display

3. System Architecture


+-------------------------------------------------------------------------+
|                        CLOUD INFRASTRUCTURE                              |
+-------------------------------------------------------------------------+
|                                                                          |
|  +----------------+  +----------------+  +----------------+              |
|  |  Laravel 12    |  |   MySQL DB     |  |    File        |              |
|  |  + Filament v4 |<>|                |  |    Storage     |              |
|  |  Admin Panel   |  |  - Clients     |  |  (QR Images)   |              |
|  |                |  |  - Brands      |  |                |              |
|  |  - API Layer   |  |  - Products    |  +----------------+              |
|  |  - QR Generator|  |  - QR Codes    |                                  |
|  |  - Analytics   |  |  - Analytics   |  +----------------+              |
|  +-------+--------+  +----------------+  |  Public Website|              |
|          |                               |  (HTML/CSS/JS) |              |
|          | REST API                      +----------------+              |
|          v                                                               |
|  +----------------+                      +----------------+              |
|  |  API Gateway   |                      |  Documentation |              |
|  |  - Auth        |<-------------------->|  Portal (/docs)|              |
|  |  - Rate Limit  |                      |  - Searchable  |              |
|  |  - Swagger     |                      |  - Swagger UI  |              |
|  +-------+--------+                      +----------------+              |
|          |                                                               |
+----------+---------------------------------------------------------------+
           |
           v
+-------------------+
|  Flutter Mobile   |
|  Application      |
|  - iOS            |
|  - Android        |
+-------------------+
                

4. Backend System (Laravel + Filament)

4.1 Admin Panel Modules

Client Management

  • Create/Edit/Delete clients
  • Client-specific settings
  • Activity logging
  • Usage statistics per client

Brand Management

  • Logo upload (PNG, JPG, SVG) for QR code embedding
  • Brand color scheme
  • Website URL configuration
  • Brand-specific QR templates

Campaign Management

  • Create campaigns with date ranges
  • Status workflow (Draft, Active, Paused, Completed)
  • Campaign analytics dashboard
  • QR code count badges

5. QR Code Generation

5.1 Configuration Options

Option Values Default
Size 128-2048px 512px
Error Correction L, M, Q, H H (when logo enabled)
Format PNG, SVG, PDF PNG
Color Hex color #000000
Background Hex color #FFFFFF
Logo Embed Boolean true
Logo Image PNG, JPG, SVG Brand logo
Logo Size 15-30% of QR 20%

5.2 Logo Embedding Feature

Logo Embedding

Clients can upload a custom logo to be placed in the center of generated QR codes. This feature is enabled by default and uses the brand logo unless a custom logo is specified.

Feature Description
Supported Formats PNG, JPG/JPEG, SVG
Max File Size 2MB
Logo Position Center of QR code
Logo Size Range 15-30% of QR code dimensions
Default Size 20% of QR code
Toggle Option Selectable per QR code (enabled by default)
Brand Default Uses brand logo if no specific logo provided
Error Correction Automatically set to H (High) when logo enabled

Logo Requirements

  • Recommended dimensions: 200x200px minimum for PNG/JPG
  • SVG logos are automatically scaled
  • Square logos work best; non-square logos are centered with padding
  • Transparent backgrounds are preserved (PNG/SVG)
  • White/light background padding applied automatically for visibility

Logo Upload Process

  1. Brand uploads logo via Brand Management (stored as brand default)
  2. When creating QR codes, logo embedding is enabled by default
  3. User can toggle off logo embedding if desired
  4. User can upload a different logo for specific QR codes
  5. System validates file type and dimensions
  6. Logo is embedded during QR code generation with appropriate error correction

6. Flutter Mobile Application

6.1 Features

  • QR code scanning via device camera
  • GS1 Digital Link parsing
  • Competition entry flow
  • Product information display
  • Interim selector navigation
  • Brand-customized theming

6.2 Tech Stack

Library Purpose
flutter_riverpod State management
go_router Navigation
mobile_scanner QR code scanning
dio HTTP client
flutter_secure_storage Secure data storage

7. Analytics Platform

7.1 Tracked Metrics

  • Total scans per QR code, campaign, brand, client
  • Unique users (session-based)
  • Geographic location (country, city)
  • Device type (mobile, tablet, desktop)
  • Browser and OS
  • Language preference
  • Scan time distribution
  • Interim selector link clicks

7.2 Dashboard Widgets

  • Overview stats cards
  • Scans over time (bar chart)
  • Location distribution (pie chart + world map)
  • Device breakdown (pie chart)
  • Language distribution (pie chart)
  • Scrollable scan history table

8. GS1 Digital Link Compliance

8.1 Supported Application Identifiers

AI Code Description Example
01 GTIN (Global Trade Item Number) 01/09506000134352
10 Batch/Lot Number 10/ABC123
21 Serial Number 21/XYZ789
17 Expiry Date (YYMMDD) 17/251231
3103 Net Weight (grams) 3103/000500
22 Consumer Product Variant 22/VANILLA

8.2 Digital Link URI Format

https://qr2.ignited.cloud/01/{GTIN}/10/{BATCH}/21/{SERIAL}?17={EXPIRY}

Reference: GS1 Digital Link Quick Start Guide

Complete Documentation

This page contains key sections of the PRD. For additional details including database schema, API specifications, and implementation phases, see the Database Schema, API Documentation, and Implementation Plan pages.