BaryoDev / BaryoDev/barakoCMS

Delivery: render a field's value as a QR code

Open
#807 0 comments 0 reactions 0 assignees View on GitHub
enhancement module
Dominant language
C#
Stars
6
Forks
7
Avg merge
4h 42m
Merged PRs (30d)
307

Description

Found by simulating a Claude Code build of Color Me Fun 2026 through the barako CLI (epic #801) on 14 September 2026; the event registration app for the Rotary Club of Koronadal is the acceptance test. Simulation page: https://claude.ai/code/artifact/05afda1a-6461-431d-aff0-50b30d3b0778

Color Me Fun's claim stub is a QR code a desk scans at kit pickup, encoding an unguessable token (CONTRACTS.md rule 3). Nothing in barakoCMS produces an image from a value.

## Change

`GET /api/public/{type}/{id}/qr/{field}` (or a delivery variant) renders a QR code for one field's value as PNG or SVG, only for a field the type marks as allowed to be encoded and only when the entry is readable by the caller. Also usable as an image source in generated documents (#585) and emails.

## Done when

- A confirmed registration's claim token renders as a QR code that decodes to the token.
- A field not allowed for QR, or an entry the caller cannot read, is a 404.

## Where it lives

Module: QR rendering is a small module, or part of the document generation module (#585). Delivery in the core does not gain an image renderer.

Contributor guide

Open the contributing guide

Research direction

Start at the delivery entry point for GET /api/public/{type}/{id}/qr/{field}, then read CONTRACTS.md rule 3 and the document-generation work in #585 to understand allowed fields and readable entries. Done means a confirmed registration token decodes from the rendered PNG or SVG, while disallowed fields and unreadable entries return 404.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.