RangeCompanion

Phase P5aktuell

user-story · F38-v1

05.06.2026, 08:13

# Waffen-Showcase — Digitale Sammlerkarte

**Phase:** P5 — **Status:** active — **Version:** F38-v1 — **Erstellt:** 2026-06-05 08:11

**Venture:** RangeCompanion | **Feature-ID:** F38 | **Slug:** waffen-showcase-sammlerkarte

---

## Story

**Ich moechte** fuer jede meiner Waffen eine hochwertige digitale Sammlerkarte sehen — ein visuell ansprechendes Abbild (Render oder Foto in Showcase-Qualitaet) mit den wichtigsten Waffendaten aufbereitet wie eine Trading-Card — **damit** ich meine Sammelleidenschaft digital ausleben und anderen Waffenbesitzern meine Sammlung zeigen kann, so wie man frueher beim Auto-Quartett auf dem Schulhof geprahlt hat.

---

## Meta

| Feld | Wert |
|---|---|
| Priority | P1 |
| Size | M (~3 Tage) |
| JTBD-Anker | RC-J5 |
| Buy/Build | Build |
| Demand-Validation | hypothetisch — Zahlungsbereitschaft explizit bestaetigt (Operator-Statement) |
| Depends-On | F37 (WaffenDB-Schema: weapon-id, foto_url, typ) |

---

## Acceptance Criteria

### Happy Path — Sammlerkarte einer Waffe anzeigen

Given der Nutzer hat mind. 1 Waffe im Waffenschrank (F37) erfasst und mindestens 1 Foto hochgeladen,
when er auf eine Waffe klickt und 'Sammlerkarte' oeffnet,
then wird eine vollbild-faehige Karte im Trading-Card-Format angezeigt (Hochformat 2:3) mit:
- hochwertigem Waffen-Render oder Foto auf Glasmorphism-Hintergrund
- Waffenname als Headline
- Kaliber + Hersteller + Typ als Stats-Zeilen
- einer farblichen Seltenheits-Markierung (Standard / Selten / Limited)
- p95 Ladezeit < 800ms

### Happy Path — Karte als Link teilen

Given der Nutzer sieht seine Sammlerkarte,
when er auf 'Teilen' tippt,
then wird ein Share-Link generiert (https://range.schieder.org/card/<weapon-id>) und in die Zwischenablage kopiert,
der Link ist ohne Login abrufbar (public read-only),
oeffnet die Karte in einer Landing-Ansicht ohne Navigation,
p95 Link-Generierung < 500ms.

### Happy Path — Premium-Karte freischalten (Monetarisierung)

Given der Nutzer hat eine Waffe im Standard-Karten-Format,
when er auf 'Premium-Karte freischalten' tippt (Preis: 0,99 EUR via In-App oder Stripe),
then wird die Karte in ein Premium-Layout upgraded (animierter Holographic-Effekt, 3D-Tilt bei Touch, Waffe freigestellt auf schwarzem Hintergrund) und dauerhaft in seinem Account gespeichert;
Kauf-Bestaetigung innerhalb 3s sichtbar.

### Negative Path — Kein Foto vorhanden

Given eine Waffe hat kein Foto hinterlegt,
when der Nutzer die Sammlerkarte oeffnet,
then wird eine generische Silhouette passend zum Waffen-Typ (Buechse / Pistole / Flinte) als Bild-Placeholder angezeigt,
die Karte rendert vollstaendig ohne Fehler,
und ein CTA 'Foto hinzufuegen' ist prominent platziert,
but kein Error-Toast erscheint.

### Negative Path — Share-Link abgelaufen oder Waffe geloescht

Given ein Share-Link existiert aber die Waffe wurde aus dem Konto geloescht,
when ein Dritter den Link oeffnet,
then sieht er eine freundliche 404-Seite 'Diese Sammlerkarte ist nicht mehr verfuegbar' ohne interne Fehler oder Stack-Traces,
but ohne dass er andere Waffendaten des Besitzers sehen kann.

---

## INVEST-Check

| # | Kriterium | Ergebnis | Begruendung |
|---|---|---|---|
| I | Independent | PASS | Bedingt auf F37-Datenbasis, aber Karten-UI vollstaendig unabhaengig von F37-Listenansicht — parallele Entwicklung moeglich |
| N | Negotiable | PASS | 2D-Karte vs. 3D-Modell verhandelbar; Holographic-Effekt als Premium-Feature optional; Share-URL-Pattern offen |
| V | Valuable | PASS | Direkte Zahlungsbereitschaft vom Operator bestaetigt (0,99 EUR/Karte); adressiert Sammelleidenschaft als emotionalen Hook fuer Retention |
| E | Estimable | PASS | Size M: Card-Layout ~1d, Share-Link ~0,5d, Premium-Stripe ~1d, Silhouette-Fallbacks ~0,5d = ca. 3 Tage |
| S | Small | PASS | 3D-Tilt als reines CSS-Transform ohne WebGL; bleibt in M |
| T | Testable | PASS | 5 Szenarien mit quantifizierten Grenzen (p95 < 800ms, < 500ms, Preis 0,99 EUR) |

---

## Notes

Cross-Refs: F37 (WaffenDB-Schema: weapon-id, foto_url, typ). ADR-017 (kein Moritz-Account fuer Commits).
Holographic-CSS-Library: z.B. css-holo oder custom CSS transform.
Stripe-Integration: eigene Story fuer Payment-Infrastruktur empfohlen falls nicht vorhanden.

RC-J5 (JTBD): 'Als Waffenbesitzer will ich meine Sammlung anderen zeigen koennen, damit ich stolz auf meine Kollektion bin und Gleichgesinnte finde' — neu definiert aus Operator-Prompt, noch nicht im Personas-Artefakt.

## Out-of-Scope

- Echtes 3D-Modell (WebGL/Three.js) — separates Epic
- NFT/Blockchain-Zertifikat
- AR-Ansicht (Waffe virtuell in der Hand)
- Wettkampf-/Ranking-Feature
- Automatisierte Render-Erstellung aus Seriennummer

---

_Auto-generiert via vm-venture-zero @ vos-hupsi-bot_