feat: add profile pages (favorites, messages, my-listings, settings) and update docs for zero-knowledge chat schema

This commit is contained in:
2026-02-04 12:07:16 +01:00
parent 3643bed7ca
commit 915fe685fb
11 changed files with 1366 additions and 31 deletions

View File

@@ -6,7 +6,7 @@ Dieses Dokument hilft AI-Assistenten (Amp, Copilot, etc.) das Projekt zu versteh
**dgray.io** ist eine Kleinanzeigen-PWA mit Monero-Bezahlung.
- **Status**: Early Development (Frontend-only)
- **Status**: Active Development (Frontend + Directus Backend)
- **Ziel**: Anonyme, dezentrale Marktplatz-Alternative
## Tech-Stack
@@ -62,6 +62,7 @@ js/
docs/
├── DIRECTUS-SETUP.md # Directus Backend Setup
├── DIRECTUS-SCHEMA.md # Collection-Strukturen & Permissions
└── MONETIZATION.md # Monetarisierung & Anti-Abuse
css/
@@ -114,22 +115,27 @@ locales/
## Nächste Schritte
1. Seiten für Profil-Dropdown: `page-my-listings.js`, `page-messages.js`, `page-favorites.js`, `page-settings.js`
2. Payment-Integration mit BTCpay Server (https://pay.xmr.rocks/)
3. Reputation-System (5/15/50 Deals Stufen)
4. Suchseite (`page-search.js`) mit Filtern ausbauen
1. ~~Seiten für Profil-Dropdown~~ ✅ Fertig (`page-my-listings.js`, `page-messages.js`, `page-favorites.js`, `page-settings.js`)
2. ~~Suchseite mit Filtern~~ ✅ Merged in `page-home.js`
3. Payment-Integration mit BTCpay Server (https://pay.xmr.rocks/)
4. Reputation-System (5/15/50 Deals Stufen)
5. Push-Benachrichtigungen für neue Nachrichten
## Directus Berechtigungen (Public-Rolle)
| Collection | Read | Create | Hinweise |
|------------|------|--------|----------|
| `listings` | ✓ | ✓ | Nur `status=published` lesen |
| `listings_files` | ✓ | ✓ | Junction-Table für Bilder |
| `directus_files` | ✓ | ✓ | Für Assets/Bilder |
| `categories` | ✓ | - | Nur `status=published` |
| `categories_translations` | ✓ | - | Für i18n |
| `locations` | ✓ | - | Für Standort-Auswahl |
| `languages` | ✓ | - | Für Sprachen-Liste |
| Collection | Read | Create | Update | Hinweise |
|------------|------|--------|--------|----------|
| `listings` | ✓ | ✓ | - | Nur `status=published` lesen |
| `listings_files` | ✓ | ✓ | - | Junction-Table für Bilder |
| `directus_files` | ✓ | ✓ | - | Für Assets/Bilder |
| `categories` | ✓ | - | - | Nur `status=published` |
| `categories_translations` | ✓ | - | - | Für i18n |
| `locations` | ✓ | ✓ | - | User kann neue Orte anlegen |
| `languages` | ✓ | - | - | Für Sprachen-Liste |
| `conversations` | ✓ | ✓ | ✓ | Filter via `participant_hash`, Update nur `status` |
| `messages` | ✓ | ✓ | - | Filter via `conversation` ID |
Siehe `docs/DIRECTUS-SCHEMA.md` für vollständiges Schema.
## Farbpalette