update AGENTS.md and README.md

This commit is contained in:
2026-01-31 15:51:36 +01:00
parent 52446a994a
commit 4958982cf7
2 changed files with 21 additions and 7 deletions

View File

@@ -17,7 +17,8 @@ Dieses Dokument hilft AI-Assistenten (Amp, Copilot, etc.) das Projekt zu versteh
| Routing | Hash-basierter Client-Side Router (`js/router.js`) | | Routing | Hash-basierter Client-Side Router (`js/router.js`) |
| i18n | Custom System (`js/i18n.js`), JSON-Dateien in `/locales/` | | i18n | Custom System (`js/i18n.js`), JSON-Dateien in `/locales/` |
| Theming | CSS Variables, Dark/Light Mode | | Theming | CSS Variables, Dark/Light Mode |
| Backend | Geplant: Directus | | Backend | Directus (`api.dgray.io`) |
| Auth | UUID-basiert, anonym (`js/services/auth.js`) |
## Häufige Befehle ## Häufige Befehle
@@ -39,10 +40,15 @@ js/
├── app.js # Entry, lädt i18n, dann Shell ├── app.js # Entry, lädt i18n, dann Shell
├── router.js # Hash-Router mit :params ├── router.js # Hash-Router mit :params
├── i18n.js # t('key'), subscribe(), updateDOM() ├── i18n.js # t('key'), subscribe(), updateDOM()
├── services/
│ ├── directus.js # Directus API Client
│ ├── auth.js # UUID-basierte Authentifizierung
│ └── currency.js # XMR/Fiat Umrechnung
└── components/ └── components/
├── app-shell.js # Layout, registriert Routes ├── app-shell.js # Layout, registriert Routes
├── app-header.js # Header (Theme-Toggle, Lang-Dropdown) ├── app-header.js # Header (Theme-Toggle, Lang-Dropdown)
├── app-footer.js # Footer ├── app-footer.js # Footer
├── auth-modal.js # Login/Register Modal
└── pages/ # Seiten als Web Components └── pages/ # Seiten als Web Components
css/ css/
@@ -62,10 +68,16 @@ locales/
## Konventionen ## Konventionen
### JavaScript
- **Keine Semikolons** am Zeilenende (außer in for-loops, CSS)
- **Englische Kommentare** im Code
- ES Modules mit `import/export`
### Web Components ### Web Components
- Custom Elements mit `class extends HTMLElement` - Custom Elements mit `class extends HTMLElement`
- Styles als `<style>` im `document.head` oder inline - Styles als `<style>` im `document.head` oder inline
- i18n: `render()` Methode, Subscribe auf Sprachwechsel - i18n: `render()` Methode, Subscribe auf Sprachwechsel
- Auth-Subscriber nur in `connectedCallback()`, nicht in `setupEventListeners()`
### CSS ### CSS
- **Keine festen Farben** - immer `var(--color-*)` nutzen - **Keine festen Farben** - immer `var(--color-*)` nutzen
@@ -91,7 +103,7 @@ locales/
1. Suchseite (`page-search.js`) mit Filtern ausbauen 1. Suchseite (`page-search.js`) mit Filtern ausbauen
2. Anzeige-Detailseite (`page-listing.js`) gestalten 2. Anzeige-Detailseite (`page-listing.js`) gestalten
3. Anzeige-Erstellen-Formular (`page-create.js`) fertigstellen 3. Anzeige-Erstellen-Formular (`page-create.js`) fertigstellen
4. Directus Backend aufsetzen 4. Profil-Seite (`page-profile.js`) erstellen
## Farbpalette ## Farbpalette

View File

@@ -130,7 +130,7 @@ dgray/
## 📋 Offene Punkte / Roadmap ## 📋 Offene Punkte / Roadmap
### Phase 1: MVP Frontend ⬅️ **Aktuell** ### Phase 1: MVP Frontend
- [x] Projektstruktur - [x] Projektstruktur
- [x] Routing - [x] Routing
- [x] i18n (DE/EN/FR) - [x] i18n (DE/EN/FR)
@@ -144,12 +144,12 @@ dgray/
- [ ] Anzeige-Erstellen-Formular - [ ] Anzeige-Erstellen-Formular
- [ ] Responsive Optimierungen - [ ] Responsive Optimierungen
### Phase 2: Backend-Integration ### Phase 2: Backend-Integration ⬅️ **Aktuell**
- [ ] Directus aufsetzen - [x] Directus aufsetzen (`api.dgray.io`)
- [ ] Anzeigen-Collection - [ ] Anzeigen-Collection
- [ ] User-Auth (optional/anonym) - [x] User-Auth (UUID-basiert, anonym)
- [ ] Bilder-Upload - [ ] Bilder-Upload
- [ ] API-Anbindung im Frontend - [x] API-Anbindung im Frontend (`js/services/directus.js`)
### Phase 3: Kommunikation ### Phase 3: Kommunikation
- [ ] Chat-System (E2E-verschlüsselt) - [ ] Chat-System (E2E-verschlüsselt)
@@ -200,6 +200,8 @@ dgray/
- Web Components für UI-Komponenten - Web Components für UI-Komponenten
- CSS Custom Properties für Theming - CSS Custom Properties für Theming
- Übersetzungsschlüssel für alle Texte - Übersetzungsschlüssel für alle Texte
- Keine Semikolons in JavaScript (außer for-loops, CSS)
- Englische Kommentare im Code
--- ---