Zum Hauptinhalt springen
← Alle ManaScores
Alpha 27. März 2026 von Claude Code

Inventar: Production Readiness Audit

Konfigurierbare Inventarverwaltung mit Schema-Editor, 8 Feldtypen, 8 Vorlagen, 3 Ansichten, hierarchischen Standorten - aktuell als localStorage-Prototype ohne Backend

Gesamtscore

Gewichteter Durchschnitt aus 8 Kategorien

28 /100

Kategorie-Scores

Backend
0
Frontend
55
Database
0
Testing
0
Deployment
5
Doku
50
Security
30
UX
60

Metriken

4.500 Lines of Code
45 Source Files
0.2 MB (Source)
0 Commits
2 Contributors
2026-03-27 Erster Commit
0 Backend Module
15 Web Routes
6 Stores
10 Komponenten
0 DB Tabellen
0 Tests
0 Test Files
2 Sprachen
250 Max File (LOC)
audit inventar production-readiness prototype

Zusammenfassung

Inventar ist eine neue, schemalose Inventarverwaltung mit konfigurierbaren Sammlungen und Feldern. Aktuell als reiner SvelteKit-Prototype mit localStorage-Persistenz. Das Datenmodell (Types, Templates, Stores) steht vollständig, aber ohne Backend, Datenbank und Tests ist die App weit von Production entfernt.

Backend (0/100)

  • Kein Backend vorhanden
  • Kein NestJS-Service
  • Kein API, keine Endpoints
  • Daten nur in localStorage
  • Nächster Schritt: NestJS Backend mit Drizzle ORM, JSONB für flexible Schemas

Frontend (55/100)

  • SvelteKit 2 + Svelte 5 Runes
  • Tailwind CSS 4 mit shared-tailwind Theme
  • 15 Routes: Collections, Items, Locations, Categories, Search, Settings, Profile, etc.
  • 10 Komponenten: FieldRenderer, FieldEditor, SchemaEditor, StatusBadge, ViewModeToggle
  • 6 Svelte 5 Rune Stores mit localStorage-Persistenz
  • i18n mit svelte-i18n (DE + EN)
  • PWA-Manifest konfiguriert
  • Security Headers (CSP, X-Frame-Options) in hooks.server.ts
  • Error Tracking (GlitchTip) vorbereitet
  • Lücke: Keine PWA-Icons, keine Skeleton-Loader, keine Offline-Page, kein Error Boundary

Database (0/100)

  • Keine Datenbank
  • Kein Drizzle Schema
  • Kein Seed Script
  • Shared Types definieren das Datenmodell (JSONB-ready)
  • Nächster Schritt: PostgreSQL mit JSONB für fieldValues, GIN-Index für Suche

Testing (0/100)

  • Keine Unit Tests
  • Keine E2E Tests
  • Keine Mock Factories
  • Vitest konfiguriert aber leer
  • Nächster Schritt: Store-Tests, Component-Tests, E2E für Collection/Item CRUD

Security (30/100)

  • Auth-Code vorhanden (Mana Core Auth)
  • SSO-Integration implementiert (aber nicht registriert)
  • CSP Headers gesetzt
  • X-Frame-Options: DENY
  • Lücke: Nicht in trustedOrigins, kein Rate Limiting, keine Input-Validierung (kein Backend)

Deployment (5/100)

  • Health Check Endpoint vorhanden (/health)
  • Kein Dockerfile
  • Nicht in docker-compose
  • Nicht deployed
  • Nächster Schritt: Dockerfile, docker-compose Entry, Traefik Labels

Documentation (50/100)

  • CLAUDE.md mit Projektübersicht
  • Shared Types vollständig dokumentiert
  • package.json Scripts vorhanden
  • Lücke: Keine API-Docs (kein Backend), kein Env-Vars Guide

UX (60/100)

  • 3 Ansichten (Liste, Kacheln, Tabelle)
  • Responsive Design (Mobile + Desktop)
  • Status-Badges farblich kodiert
  • Schema-Editor mit Drag-Reorder (up/down)
  • Template-Selektor mit 8 Vorlagen
  • Hierarchischer Standort-Baum
  • Volltextsuche über alle Felder
  • Dark/Light Mode via shared-theme
  • Lücke: Keine Keyboard Shortcuts, keine Animationen/Transitions, keine Toast-Benachrichtigungen

Top-3 Empfehlungen

  1. NestJS Backend - PostgreSQL + Drizzle mit JSONB-Schema für flexible Felder
  2. Tests schreiben - Mindestens Store-Tests und E2E für CRUD-Flows
  3. Docker + Deploy - Dockerfile erstellen, in docker-compose aufnehmen, auf mana.how deployen