docs: add public Q&A per listing as planned feature
This commit is contained in:
@@ -183,6 +183,7 @@ locales/
|
||||
17. ~~Verifiable Listings~~ ✅ `verification.js` Service, `verification-widget.js` Component, Badge auf Cards + Listing-Detail
|
||||
18. Selbstzerstörende Listings (siehe `docs/KILLER-FEATURES.md`)
|
||||
19. Blind Meeting Points (siehe `docs/KILLER-FEATURES.md`)
|
||||
20. Öffentliche Q&A pro Listing (siehe `docs/KILLER-FEATURES.md`)
|
||||
|
||||
### Reputation-System (Konzept)
|
||||
|
||||
|
||||
@@ -429,10 +429,70 @@ destruct.destroyed = "Diese Anzeige wurde gelöscht"
|
||||
| 2 | Verifiable Listings | 1–2 Tage | Hoch — innovative Lösung ohne KYC | Mittel |
|
||||
| 3 | Selbstzerstörende Listings | 1.5–2 Tage | Hoch — starkes Privacy-Signal | Sehr hoch |
|
||||
|
||||
**Gesamt: ~5–7 Tage Implementierung**
|
||||
| 4 | Öffentliche Q&A | 1–2 Tage | Mittel — reduziert Chat-Last, baut Vertrauen | Mittel |
|
||||
|
||||
**Gesamt: ~6–9 Tage Implementierung**
|
||||
|
||||
### Empfohlene Reihenfolge
|
||||
|
||||
1. **Verifiable Listings** — geringster Aufwand, sofort sichtbarer Wert, keine neue Dependency
|
||||
1. **Verifiable Listings** ✅ — geringster Aufwand, sofort sichtbarer Wert, keine neue Dependency
|
||||
2. **Selbstzerstörende Listings** — baut auf bestehendem Flow auf, starkes Marketingmerkmal
|
||||
3. **Blind Meeting Points** — höchster Aufwand, aber stärkstes Alleinstellungsmerkmal
|
||||
4. **Öffentliche Q&A** — kein MVP-Blocker, sinnvoll ab Open Beta
|
||||
|
||||
---
|
||||
|
||||
## 4. Öffentliche Q&A pro Listing
|
||||
|
||||
**Problem:** Käufer stellen oft die gleichen Fragen per E2E-Chat. Der Verkäufer beantwortet sie immer wieder einzeln. Andere Interessenten sehen die Antworten nicht.
|
||||
|
||||
**Lösung:** Öffentlicher Frage-Antwort-Bereich auf jeder Listing-Seite. Fragen werden unter Pseudonym gestellt (via `identity.js`), nur der Seller kann antworten.
|
||||
|
||||
### Directus: Collection `listing_questions`
|
||||
|
||||
| Feld | Typ | Hinweise |
|
||||
|------|-----|----------|
|
||||
| `id` | UUID (auto) | Primary Key |
|
||||
| `listing` | M2O → `listings` | Zugehöriges Listing |
|
||||
| `question_user` | UUID | Fragender User (für Pseudonym via `identity.js`) |
|
||||
| `question_text` | Text | Fragetext |
|
||||
| `answer_text` | Text, nullable | Antwort des Sellers |
|
||||
| `date_created` | Timestamp (auto) | |
|
||||
| `date_answered` | DateTime, nullable | Wann beantwortet |
|
||||
| `status` | String, default `published` | `published` / `hidden` (Seller kann ausblenden) |
|
||||
|
||||
### Permissions
|
||||
|
||||
| Rolle | Read | Create | Update | Delete |
|
||||
|-------|------|--------|--------|--------|
|
||||
| Public | ✓ (status=published) | ✓ (nur `question_*`) | – | – |
|
||||
| User | ✓ | ✓ | ✓ (nur eigene Antworten als Seller) | – |
|
||||
|
||||
### UX-Flow
|
||||
|
||||
```
|
||||
Listing-Detail-Seite:
|
||||
┌─────────────────────────────────────┐
|
||||
│ 📸 Bilder, Titel, Preis ... │
|
||||
│ │
|
||||
│ ─── Fragen & Antworten (3) ───── │
|
||||
│ │
|
||||
│ 🐻 BlauerBär42: │
|
||||
│ "Funktioniert auch mit 220V?" │
|
||||
│ ↳ Seller: "Ja, 110–240V." │
|
||||
│ │
|
||||
│ 🦊 RoterFuchs17: │
|
||||
│ "Versand möglich?" │
|
||||
│ ↳ (noch nicht beantwortet) │
|
||||
│ │
|
||||
│ ┌─────────────────────────────┐ │
|
||||
│ │ Frage stellen... │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Anti-Spam
|
||||
|
||||
- PoW-Captcha vor dem Absenden einer Frage
|
||||
- Rate-Limit: max. 3 Fragen pro Listing pro User
|
||||
- Seller kann Fragen ausblenden (`status → hidden`)
|
||||
|
||||
Reference in New Issue
Block a user