# Datenmodell Dieses Kapitel erklärt die zentralen Datenobjekte von toolr auf Ebene der Anwendung. Die vollständige, automatisch generierte Referenz aller Felder, Typen und Constraints findest du in der [API-Referenz](/docs/reference/schemas/tool). ## Tool Das Herzstück: ein im Katalog erfasstes Werkzeug. | Eigenschaft | Beschreibung | | --- | --- | | `id` | Eindeutige Kennung | | `name` | Anzeigename | | `description` | Beschreibung (Was macht das Tool?) | | `category` | Kategorie-Zuordnung | | `websiteUrl` | Offizielle Website (optional) | | `iconUrl` | Logo-/Icon-URL (optional) | | `features` | Liste von Fähigkeiten | | `tags` | Liste von Schlagwörtern | | `createdAt` / `updatedAt` | Zeitstempel | | `createdBy` | Erstellende Person | | `deletedAt` / `deletedBy` | Soft-Löschung (Papierkorb) | Eingabe-Formulare verwenden die abgeleiteten Schemas [`ToolInput`](/docs/reference/schemas/toolinput) und [`ToolUpdate`](/docs/reference/schemas/toolupdate). Aggregierte Ansichten liefert [`ToolWithStats`](/docs/reference/schemas/toolwithstats) (z. B. mit Durchschnittsbewertung). ## Rating (Bewertung) Eine einzelne Bewertung zu einem Tool: - `usefulness` (Nützlichkeit, 1–5) und `usability` (Bedienbarkeit, 1–5) - optional `comment` und ein Anzeigename (`reviewerName`) - Zeitstempel Eingabe-Schema: [`RatingInput`](/docs/reference/schemas/ratinginput). ## User & Auth - [`User`](/docs/reference/schemas/user) — Benutzerkonto mit Rolle (User/Admin) und Tarif (Free/Premium/Enterprise). - [`AuthUser`](/docs/reference/schemas/authuser) — das angemeldete Profil inklusive `entitlements` (verfügbare Features). - [`UserPreferences`](/docs/reference/schemas/userpreferences) — Ansichts- und Dichte-Präferenzen sowie die `watchlist` (Liste von Tool-IDs). ## Analytics Die Statistik-Endpunkte liefern aggregierte Daten: - [`AnalyticsSummary`](/docs/reference/schemas/analyticssummary) — globale Kennzahlen (Anzahl Tools/Bewertungen, Kategorien, Durchschnitt). - [`TopToolEntry`](/docs/reference/schemas/TopToolEntry) — ein Eintrag der Top-Tools.- [`CategoryStats`](/docs/reference/schemas/categorystats) — Tool-Anzahl je Kategorie. - [`RatingDistribution`](/docs/reference/schemas/ratingdistribution) — Punkteverteilung (Nützlichkeit & Bedienbarkeit). - [`ScoreBucket`](/docs/reference/schemas/scorebucket) — ein Werte-Bucket. ## Weitere - [`VersionInfo`](/docs/reference/schemas/versioninfo) — Version, Commit-SHA, Build-Datum und Papierkorb-Aufbewahrung der laufenden Instanz. - [`AuditLog`](/docs/reference/schemas/auditlog) — ein Protokolleintrag (Aktion, Entität, Zeitstempel, Akteur, Änderungen).