# WSID System - Quick Start Guide ## 🚀 Schnellstart in 5 Minuten ### Schritt 1: Collection in Appwrite erstellen 1. Gehe zu **https://appwrite.webklar.com** 2. Login mit deinen Credentials 3. Öffne Projekt **woms** 4. Gehe zu **Databases** → **woms-database** 5. Klicke **Create Collection** - Collection ID: `worksheets` - Name: `Work Sheets` 6. Klicke **Create** ### Schritt 2: Attribute hinzufügen Klicke auf **Attributes** und füge folgende Attribute hinzu: #### Required Attributes (Pflicht): ``` 1. wsid | String | Size: 10 | Required: ✓ | Default: - 2. woid | String | Size: 10 | Required: ✓ | Default: - 3. workorderId | String | Size: 50 | Required: ✓ | Default: - 4. employeeId | String | Size: 50 | Required: ✓ | Default: - 5. employeeName | String | Size: 255 | Required: ✓ | Default: - 6. serviceType | String | Size: 50 | Required: ✓ | Default: Remote 7. oldStatus | String | Size: 50 | Required: ✓ | Default: - 8. newStatus | String | Size: 50 | Required: ✓ | Default: - 9. totalTime | Integer | - | Required: ✓ | Default: 0 10. startDate | String | Size: 50 | Required: ✓ | Default: - 11. endDate | String | Size: 50 | Required: ✓ | Default: - 12. details | String | Size: 10000 | Required: ✓ | Default: - 13. createdAt | DateTime| - | Required: - | Default: - ``` #### Optional Attributes (Optional): ``` 14. employeeShort | String | Size: 10 | Required: - | Default: - 15. oldResponseLevel | String | Size: 50 | Required: - | Default: - 16. newResponseLevel | String | Size: 50 | Required: - | Default: - 17. startTime | String | Size: 10 | Required: - | Default: - 18. endTime | String | Size: 10 | Required: - | Default: - 19. isComment | Boolean | - | Required: - | Default: false ``` ### Schritt 3: Permissions setzen 1. Gehe zu **Settings** → **Permissions** 2. Setze folgende Berechtigungen: **Read Access:** - ✅ `Users` (All users) **Create Access:** - ✅ `Users` (All users) **Update Access:** - ✅ `Users` (All users) **Delete Access:** - ❌ Keine (für Audit Trail) ### Schritt 4: Indexes erstellen Gehe zu **Indexes** und erstelle: 1. **woid_index** - Key: `woid` - Type: `key` - Order: `DESC` 2. **employee_index** - Key: `employeeId` - Type: `key` - Order: `DESC` 3. **date_index** - Key: `startDate` - Type: `key` - Order: `DESC` ### Schritt 5: Collection ID kopieren 1. Gehe zurück zur Collection-Übersicht 2. Kopiere die **Collection ID** (z.B. `694xyz123abc456def789`) ### Schritt 6: Collection ID im Code eintragen Öffne `src/lib/appwrite.js` und trage die Collection ID ein: ```javascript export const COLLECTIONS = { WORKORDERS: '6943bf7d001901baa60c', CUSTOMERS: '694bd1fb002b2e583d13', EMPLOYEES: '695280510031c6c6153b', WORKSHEETS: '694xyz123abc456def789', // ← Hier deine Collection ID eintragen! // ... } ``` ### Schritt 7: Optional - WSID aus workorders entfernen Falls du bereits ein `wsid`-Attribut in der `workorders` Collection hast: 1. Gehe zu **workorders** Collection 2. Gehe zu **Attributes** 3. Lösche Attribut `wsid` (falls vorhanden) ⚠️ **Hinweis:** Stelle sicher, dass du ein Backup hast! ### Schritt 8: Anwendung neu starten ```bash # Terminal öffnen npm run dev ``` ### Schritt 9: Testen! 1. Öffne die Anwendung im Browser 2. Gehe zu **Tickets** 3. Öffne ein Ticket (Lock-Icon klicken) 4. Klicke **"Add Worksheet"** 5. Fülle das Formular aus: - Service Type: `Remote` - New Status: `Occupied` - Start Time: `1000` - End Time: `1030` - Details: `Test-Worksheet` 6. Klicke **"CREATE NOW"** **Erwartetes Ergebnis:** - WSID sollte `100000` sein - Worksheet sollte in der Liste erscheinen - Statistiken sollten angezeigt werden --- ## ✅ Fertig! Das WSID-System ist jetzt einsatzbereit! ### Nächste Schritte: - Erstelle weitere Worksheets - Prüfe Statistiken - Teste Status-Änderungen - Prüfe Zeitaggregation --- ## 🐛 Troubleshooting ### Problem: "Collection nicht gefunden" **Lösung:** - Überprüfe Collection ID in `src/lib/appwrite.js` - Stelle sicher, dass Collection wirklich existiert ### Problem: "Unauthorized" **Lösung:** - Überprüfe Permissions in Appwrite - `Users` muss Read/Create Zugriff haben ### Problem: "Attribute nicht gefunden" **Lösung:** - Überprüfe, ob alle Required Attributes erstellt wurden - Attribute-Namen müssen exakt übereinstimmen (case-sensitive!) ### Problem: "WSID wird nicht generiert" **Lösung:** - Überprüfe Browser-Konsole auf Fehler - Stelle sicher, dass `wsid` Attribut existiert - Überprüfe, ob Collection ID korrekt ist --- ## 📚 Weitere Dokumentation - **Detaillierte Setup-Anleitung:** `WORKSHEETS_COLLECTION_SETUP.md` - **Implementierungs-Details:** `WSID_IMPLEMENTATION_SUMMARY.md` - **Appwrite Setup:** `APPWRITE_SETUP.md` --- ## 🎉 Viel Erfolg! Bei Fragen: Siehe ausführliche Dokumentation oder Code-Kommentare.