Zum Hauptinhalt springen
← Alle ManaScores
Production 19. März 2026 von Till Schneider

Picture: Production Readiness Audit

AI-Bildgenerierung mit 11 Modulen, Replicate Integration, Credit-System, 5 Sprachen - mit Rate Limiting, Webhook-Security, Transaktionen und 70 Tests

Gesamtscore

Gewichteter Durchschnitt aus 8 Kategorien

81 /100

Kategorie-Scores

Backend
90
Frontend
80
Database
92
Testing
55
Deployment
75
Doku
78
Security
80
UX
78

Metriken

54.828 Lines of Code
406 Source Files
5 MB (Source)
139 Commits
3 Contributors
2025-11-26 Erster Commit
68 API Endpoints
11 Backend Module
19 Web Routes
40 Stores
25 Komponenten
10 DB Tabellen
70 Tests
4 Test Files
5 Sprachen
253 TODOs/FIXMEs
1064 Max File (LOC)
audit picture production-readiness ai

Zusammenfassung

Picture ist die AI-Bildgenerations-App mit Replicate Integration, Boards, Explore-Feed und Credit-System. Deployed auf mana.how mit 5 Sprachen. Seit dem letzten Audit: Rate Limiting, Webhook-Security, DB-Indexes mit FK-Constraints, Transaktionen und 70 Tests hinzugefügt.

Backend (90/100)

  • 11 Module: Generate, Image, Board, BoardItem, Model, Tag, Upload, Explore, Profile, Batch, Admin
  • Replicate API Integration für AI-Bildgenerierung
  • CreditClientService für Monetarisierung
  • S3 Storage (MinIO/Hetzner)
  • ThrottlerModule (100 req/60s) für Rate Limiting
  • Webhook X-Webhook-Secret Validierung für Replicate Callbacks
  • @Min/@Max Validierung auf Dimensions, Steps, Guidance Scale in GenerateDto
  • duplicateBoard und processCompletedGeneration in Transaktionen
  • Lücke: Keine Timeouts auf externe API-Calls

Frontend (80/100)

  • 19 Routes, 25 Komponenten, 27 Stores (komplexeste State-Verwaltung)
  • Canvas-Editor, Boards, Explore, Archive
  • 5 Sprachen (DE, EN, IT, FR, ES)
  • Mobile App (Expo) vorhanden
  • Lücke: Kein PWA, kein Error Boundary

Database (92/100)

  • 10 Tabellen mit vollständigen Indexes auf allen Tabellen
  • Foreign Key Constraints mit CASCADE auf allen Relationen
  • Indexes auf userId, boardId, modelId, tagId für alle relevanten Tabellen
  • Composite Indexes für häufige Abfragen
  • Lücke: Keine Volltextsuche-Indexes

Testing (55/100)

  • 4 Test-Files: ImageService (40 Tests), BoardService (30 Tests) + 2 bestehende
  • Mock Factories vorhanden
  • Jest Config mit Pfad-Aliasing
  • Lücke: Keine Controller-Tests, keine Frontend-Tests, keine E2E Tests

Security (80/100)

  • Auth Guards auf allen Endpoints (ManaCoreModule)
  • ThrottlerModule Rate Limiting (100 req/60s)
  • Webhook-Secret Validierung für Replicate Callbacks
  • Input-Validierung via DTOs (@Min/@Max auf numerischen Werten)
  • Lücke: Keine SSRF-Protection auf URLs, keine File-Size Validation

Deployment (75/100)

  • Deployed auf mana.how
  • Docker Multi-Stage Build (Backend)
  • Health Checks konfiguriert
  • Lücke: Kein Web Dockerfile

Top-3 Empfehlungen

  1. Test-Coverage erhöhen - Controller-Tests und Frontend-Tests hinzufügen
  2. Web Dockerfile - Nur Backend containerisiert
  3. Timeouts auf externe APIs - Replicate API Calls brauchen Timeout-Handling