Files
tickte-system/APPWRITE_SETUP.md
Basilosaurusrex 0e19df6895 woms 3.0
2025-12-29 22:28:43 +01:00

6.4 KiB

Appwrite Setup-Anleitung für WOMS 2.0

Diese Anleitung führt dich Schritt für Schritt durch die Einrichtung von Appwrite für dein Ticket-System.

Schritt 1: Appwrite Account erstellen

  1. Gehe zu https://cloud.appwrite.io
  2. Erstelle einen kostenlosen Account oder logge dich ein
  3. Erstelle ein neues Projekt (z.B. "WOMS" oder "Ticket-System")

Schritt 2: Projekt-Konfiguration

  1. Öffne dein Projekt im Appwrite Dashboard
  2. Gehe zu SettingsGeneral
  3. Kopiere deine Project ID (wird später in der .env Datei benötigt)

Schritt 3: Datenbank erstellen

  1. Gehe zu Databases im linken Menü
  2. Klicke auf Create Database
  3. Name: woms-database (oder ein anderer Name - muss dann in .env angepasst werden)
  4. Kopiere die Database ID (wird später in der .env Datei benötigt)

Schritt 4: Collections erstellen

Collection 1: workorders

  1. Klicke auf Create Collection
  2. Collection ID: workorders
  3. Name: Work Orders

Attribute hinzufügen:

Attribut Name Typ Größe Required Array Default
topic string 255 - -
title string 255 - - -
details string 10000 - - -
description string 5000 - - -
status string 50 - Open
priority integer - - 1
type string 50 - - -
systemType string 50 - - -
responseLevel string 50 - - -
serviceType string 50 - - Remote
customerId string 50 - - -
customerName string 255 - - -
customerLocation string 255 - - -
assignedTo string 50 - - -
assignedName string 255 - - -
requestedBy string 255 - - -
requestedFor string 255 - - -
startDate string 50 - - -
startTime string 10 - - -
deadline string 50 - - -
endTime string 10 - - -
estimate string 50 - - -
mailCopyTo string 255 - - -
sendNotification boolean - - - false
approvalStatus string 50 - - -
woid string 10 - - -
createdAt datetime - - - -

Hinweis zu WOID:

  • woid = Work Order ID (5-stellig, z.B. "10000", "10001", etc.)
  • Wird automatisch vom System generiert
  • WSID (Work Sheet ID) ist NICHT Teil dieser Collection - siehe worksheets Collection!

Indexes erstellen:

  • status (ASC)
  • priority (ASC)
  • type (ASC)
  • customerId (ASC)
  • assignedTo (ASC)
  • woid (ASC) - für schnelle WOID-Suche
  • wsid (ASC) - für schnelle WSID-Suche
  • createdAt (DESC)

Berechtigungen (Permissions):

  • Read: Any (oder Users wenn nur eingeloggte Benutzer sehen sollen)
  • Create: Users (nur eingeloggte Benutzer können erstellen)
  • Update: Users (nur eingeloggte Benutzer können aktualisieren)
  • Delete: Users (nur eingeloggte Benutzer können löschen)

Collection 2: customers (optional, für zukünftige Features)

  1. Klicke auf Create Collection
  2. Collection ID: customers
  3. Name: Customers

Attribute hinzufügen:

Attribut Name Typ Größe Required
name string 255
code string 50 -
email string 255 -
phone string 50 -
location string 255 -

Collection 3: users (optional, für zukünftige Features)

  1. Klicke auf Create Collection
  2. Collection ID: users
  3. Name: Users

Attribute hinzufügen:

Attribut Name Typ Größe Required
name string 255
email string 255
role string 50 -

Schritt 5: Authentication einrichten

  1. Gehe zu Auth im linken Menü
  2. Aktiviere Email/Password als Auth-Methode
  3. (Optional) Aktiviere weitere Auth-Methoden wie Google, GitHub, etc.

Schritt 6: Storage Bucket (optional, für Datei-Uploads)

  1. Gehe zu Storage im linken Menü
  2. Klicke auf Create Bucket
  3. Bucket ID: woms-attachments
  4. Name: WOMS Attachments
  5. File Security: Bucket oder App (je nach Anforderung)

Berechtigungen:

  • Read: Any oder Users
  • Create: Users
  • Update: Users
  • Delete: Users

Schritt 7: Umgebungsvariablen konfigurieren

  1. Erstelle eine .env Datei im Root-Verzeichnis deines Projekts:
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=deine-project-id-hier
VITE_APPWRITE_DATABASE_ID=woms-database
  1. Ersetze deine-project-id-hier mit deiner tatsächlichen Project ID aus Schritt 2
  2. Ersetze woms-database mit deiner Database ID aus Schritt 3 (falls anders benannt)

Wichtig: Die .env Datei sollte NICHT in Git committed werden. Sie ist bereits in .gitignore aufgeführt.

Schritt 8: App starten

  1. Installiere Dependencies (falls noch nicht geschehen):
npm install
  1. Starte den Development-Server:
npm run dev
  1. Öffne die App im Browser (normalerweise http://localhost:5173)

Schritt 9: Ersten Benutzer erstellen

  1. Gehe zur Login-Seite
  2. Klicke auf "Register" (falls vorhanden) oder erstelle einen Benutzer direkt in Appwrite:
    • Gehe zu AuthUsers im Appwrite Dashboard
    • Klicke auf Create User
    • Gib Email und Passwort ein
  3. Logge dich mit diesen Credentials ein

Fehlerbehebung

"Project ID is missing"

  • Stelle sicher, dass die .env Datei existiert und die richtige VITE_APPWRITE_PROJECT_ID enthält
  • Starte den Dev-Server neu nach Änderungen an der .env Datei

"Collection not found"

  • Überprüfe, ob die Collection ID genau workorders heißt (Groß-/Kleinschreibung beachten)
  • Überprüfe, ob die Database ID in der .env Datei korrekt ist

"Permission denied"

  • Überprüfe die Berechtigungen in der Collection
  • Stelle sicher, dass du eingeloggt bist
  • Überprüfe, ob die Auth-Methode aktiviert ist

Demo-Modus aktiv

  • Wenn das System im Demo-Modus läuft, bedeutet das, dass VITE_APPWRITE_PROJECT_ID nicht gesetzt ist
  • Überprüfe die .env Datei und starte den Server neu

Nächste Schritte

Nach erfolgreicher Einrichtung kannst du:

  • Tickets erstellen, bearbeiten und löschen
  • Status und Priorität ändern
  • Tickets filtern und durchsuchen
  • (Optional) Dateien zu Tickets hochladen

Viel Erfolg! 🚀