Veraltete Anleitungen entfernt, README neu
20 Einrichtungs- und Fix-Notizen vom Dezember 2025 beschrieben das alte Appwrite (cloud.appwrite.io bzw. alte Projekt-IDs), zufällige WOIDs und Felder, die es so nicht mehr gibt. Das README beschreibt jetzt den echten Stand: Deploy über Branch test (Achtung: jeder gepushte Branch geht live), Datenmodell in Kurzform und das Zusammenspiel mit Kundenportal und ticket-integrations. LOCAL_DEV.md bleibt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
df62bcbc55
commit
7852593a7a
22 files changed
+33
-2827
No files matched your search
@@ -1,49 +1,40 @@
|
||||
# WOMS 2.0 - Work Order Management System
|
||||
# WOMS – Ticketsystem von WEBklar
|
||||
|
||||
React-basiertes Ticket-Management-System mit Appwrite Backend.
|
||||
Internes Ticketsystem unter https://ticket.webklar.com: Tickets, Arbeitsblätter mit
|
||||
Zeiterfassung, Kunden und Leads, Website-Projekte, Planboard und Rechnungen.
|
||||
React/Vite im Browser, Daten in Appwrite (Projekt `6a1058610003c5a13a05`,
|
||||
Datenbank `woms-database`, API unter `https://ticket.webklar.com/v1`).
|
||||
|
||||
## 🚀 Schnellstart
|
||||
## Entwickeln und live stellen
|
||||
|
||||
### 1. Dependencies installieren
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
- Lokal starten: siehe [LOCAL_DEV.md](./LOCAL_DEV.md) (Vite-Proxy + `.env.local`).
|
||||
- Live ist der Branch `test` im Gitea-Repo `JUSN/tickte-system`. Ein Push löst
|
||||
auf dem Server Build und Deploy aus.
|
||||
- Achtung: Der Webhook baut **jeden** gepushten Branch und stellt ihn live.
|
||||
Feature-Branches deshalb nicht pushen; live geht es mit
|
||||
`git push origin <branch>:test`.
|
||||
|
||||
### 2. Appwrite einrichten
|
||||
## Datenmodell (Kurzfassung)
|
||||
|
||||
**Wichtig:** Für eine detaillierte Schritt-für-Schritt-Anleitung siehe [APPWRITE_SETUP.md](./APPWRITE_SETUP.md)
|
||||
Datum speichert WOMS als Text `dd.mm.yyyy`, Uhrzeiten als `hhmm` (z. B. `0930`).
|
||||
|
||||
Kurzfassung:
|
||||
1. Erstelle ein Appwrite-Projekt auf [cloud.appwrite.io](https://cloud.appwrite.io)
|
||||
2. Erstelle eine `.env` Datei im Root-Verzeichnis:
|
||||
```env
|
||||
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
|
||||
VITE_APPWRITE_PROJECT_ID=deine-project-id-hier
|
||||
VITE_APPWRITE_DATABASE_ID=woms-database
|
||||
```
|
||||
3. Folge der detaillierten Anleitung in `APPWRITE_SETUP.md` um die Datenbank-Struktur zu erstellen
|
||||
| Collection | Inhalt | Wichtige Felder |
|
||||
|---|---|---|
|
||||
| `workorders` | Tickets | `woid` (fortlaufend ab 10000), `topic`, `details`, `status`, `priority`, `type` (Webpage, Migration, Project, Akquise), `serviceType`, `customerId`/`customerName`, `assignedTo`/`assignedName`, `requestedBy`, `startDate`/`startTime`/`endTime`, `deadline` |
|
||||
| `worksheets` | Arbeitsblätter | `wsid` (fortlaufend ab 100000), `woid` + `workorderId`, `employeeId`/`employeeName`, `serviceType`, `oldStatus`/`newStatus`, `totalTime` (Minuten), `startDate`/`startTime`/`endDate`/`endTime`, `details`, `isComment`, `countsToPlan` (Abo-Stunden) |
|
||||
| `customers` | Kunden und Leads | `code` (Kundennummer), `name`/`companyName`, `customerStatus` (z. B. lead, customer, lost), `archived`, Rechnungsadresse, `invoiceNinjaClientId`, Portal-Zugang |
|
||||
| `employees` | Mitarbeiter | `userId` (Appwrite-Benutzer), `displayName`, `email`, `shortcode` (Kürzel) |
|
||||
| `websiteProjects` | Website-Projekte und Vorschauen | `customerId` (steuert, was der Kunde im Portal sieht), `ticketId` (Ziel der Git-Push-Arbeitsblätter), Subdomain, Repo |
|
||||
| `leads`, `leadPipeline`, `leadSettings` | Lead-Automatik | Recherche-Ergebnisse, Pipeline-Schritte, Sucheinstellungen |
|
||||
| `roadmaps`, `roadmapNodes` | Projektpläne | Plan mit Schritten, verknüpft mit einem Ticket |
|
||||
| `config` | Einstellungen | Prioritäten (dazu alte Listen, die nichts mehr liest) |
|
||||
|
||||
### 3. App starten
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
Zusammenspiel mit anderen Systemen:
|
||||
|
||||
Die App läuft dann auf `http://localhost:5173`
|
||||
|
||||
## 📚 Dokumentation
|
||||
|
||||
- **[APPWRITE_SETUP.md](./APPWRITE_SETUP.md)** - Detaillierte Anleitung zur Appwrite-Einrichtung
|
||||
- Schritt-für-Schritt Setup
|
||||
- Datenbank-Schema
|
||||
- Berechtigungen
|
||||
- Fehlerbehebung
|
||||
|
||||
## Features
|
||||
|
||||
- Ticket-Erstellung und -Verwaltung
|
||||
- Status-Tracking (Open, Occupied, Assigned, Awaiting, Closed)
|
||||
- Prioritäts-Management (Low, Normal, High, Critical)
|
||||
- Filter und Suche
|
||||
- Datei-Uploads
|
||||
- Dashboard mit Statistiken
|
||||
- Planboard für Terminplanung
|
||||
- **Kundenportal** (project.webklar.com): legt bei jedem Git-Push ein Arbeitsblatt an
|
||||
(`employeeId` `gitea`, `serviceType` `GIT`, ohne Beginn). Die Zeit wird in WOMS
|
||||
nachgetragen, danach zählt sie als Arbeitszeit. Termine aus der Rechnungsanalyse
|
||||
landen am Akquise-Ticket des Kunden und erscheinen im Planboard. Kunden-, Mitarbeiter-
|
||||
und Projektverwaltung laufen über die Admin-API des Portals.
|
||||
- **ticket-integrations** (`/api/integrations`): Proxy zu InvoiceNinja (Rechnungen)
|
||||
und Paperless (Dokumente).
|
||||
Reference in new issue
Block a user