Zum Hauptinhalt springen
← Alle ManaScores
Production 01. April 2026 von Till Schneider

Todo: Production Readiness Audit

Aufgabenverwaltung mit Hono/Bun Backend, 55 Komponenten, Paper-UI, Cmd+K Spotlight, Reminders Worker, Local-First, PWA, 5 Sprachen

Gesamtscore

Gewichteter Durchschnitt aus 8 Kategorien

↑ 13 Punkte seit erstem Assessment

80 96 93
93 /100

Kategorie-Scores

Backend
90
Frontend
97
Database
85
Testing
85
Deployment
92
Doku
90
Security
90
UX
97

Lighthouse Scores

Google Lighthouse Performance Audit

Ø 95
90
⚡ Performance
93
♿ Accessibility
96
✅ Best Practices
100
🔍 SEO

API Conformity

Konsistenz der Backend-API

5/7
Konsistente Responses (ApiResult<T>)
Error Codes (HTTP Status)
Pagination (Offset/Cursor)
Versioning (/api/v1/)
Dokumentation (Swagger)
Health Endpoint (/health)
Validation (DTO)

Cross-App Consistency

Nutzung der shared Packages

6/6 Core
shared-auth
shared-ui
shared-theme
shared-branding
shared-i18n
shared-error-tracking
shared-storage optional
shared-llm optional

Dependency Health

Paketstand und Sicherheit (geprüft 2026-04-01)

77% aktuell
35 Pakete gesamt
8 Veraltet
0 Vulnerabilities
✓ Sicher
Schweregrad
8 veraltet 27 aktuell

Metriken

28.000 Lines of Code
190 Source Files
1.3 MB (Source)
280 Commits
3 Contributors
2025-12-03 Erster Commit
14 API Endpoints
3 Backend Module
15 Web Routes
12 Stores
55 Komponenten
3 DB Tabellen
300 Tests
12 Test Files
5 Sprachen
70 TODOs/FIXMEs
1252 Max File (LOC)
audit todo production-readiness

Zusammenfassung

Todo ist eine feature-reiche Aufgabenverwaltung mit Paper-UI Design, Fokus-Board, Kanban, Spiral-View, Reminders mit Background Worker, Auto-Save, Cmd+K Spotlight und Local-First Architektur. Seit dem letzten Audit wurde das Backend von NestJS auf Hono/Bun migriert — CRUD läuft jetzt client-seitig über @mana/local-store + mana-sync.

Backend (90/100)

Architektur: Hono 4.7.0 + Bun (migriert von NestJS)

Stärken:

  • 3 fokussierte Route-Module: rrule.ts, reminders.ts, admin.ts
  • 14 API-Endpoints (server-seitige Compute-Operationen)
  • @mana/shared-hono Middleware (Auth, Health, Errors, Rate Limiting)
  • RRULE Expansion mit DoS-Schutz (max 5000 Occurrences, 10-Jahres-Limit)
  • Background Reminder Worker mit Push/Email-Notifications via mana-notify
  • GDPR Admin-Endpoints (GET/DELETE User Data)
  • Drizzle ORM mit Zod-Validation

Lücken:

  • Keine Backend-Unit-Tests (Hono-Routes ohne Test-Coverage)
  • Keine Swagger/OpenAPI Dokumentation (NestJS hatte das automatisch)

Frontend (97/100)

Stärken:

  • 15 Routes, 55 Komponenten, 12 Svelte 5 Stores
  • Paper-UI Design — physisches Notizbuch-Feeling mit Animationen
  • Fokus-Board als vereinheitlichte Einzelansicht
  • Kanban-Board mit Subtask Drag & Drop
  • Spiral-View Visualisierung (@mana/spiral-db)
  • Cmd+K Spotlight für schnelle Navigation und Aktionen
  • Inline Title Editing direkt in der Liste
  • Auto-Save mit 500ms Debounce
  • Animated Completion mit “Heute erledigt” Sektion
  • QuickInputBar mit Natural Language Parsing
  • Context Menu auf TaskList (Bearbeiten, Complete, Priorität, Löschen)
  • Skeleton Loading States (TaskList, TaskItem, KanbanBoard)
  • Focus Trapping in allen Modals
  • Security Headers (CSP, X-Frame-Options) via hooks.server.ts
  • PWA mit Service Worker, Manifest, Icons, Shortcuts
  • Offline Page mit shared OfflinePage Component
  • Error Tracking via GlitchTip
  • 5 Sprachen (DE, EN, FR, ES, IT)
  • Local-First via @mana/local-store (IndexedDB + mana-sync)

Lücken:

  • Mobile App (Expo) noch nicht auf gleichem Stand

Database (85/100)

Stärken:

  • Server-seitig: 3 Tabellen (tasks, projects, reminders) mit Drizzle ORM
  • Client-seitig: 5 Collections (tasks, labels, taskLabels, reminders, boardViews) via local-store
  • JSONB für Subtasks und Metadata
  • Indexes auf task_id, user_id

Lücken:

  • Server-Schema minimal (CRUD client-seitig)
  • Keine Migrations-Dokumentation

Testing (85/100)

Stärken:

  • 6 Frontend Unit Tests (task-parser, task-filters, time-estimator, tasks API, view store, help)
  • 3 Playwright E2E Test Suites (auth, projects, tasks)
  • ~300 Test-Assertions insgesamt
  • Vitest + Playwright Konfiguration

Lücken:

  • Keine Backend-Tests (Hono-Routes)
  • E2E für Kanban fehlt
  • E2E für Reminders fehlt

Deployment (92/100)

Stärken:

  • Multi-Stage Dockerfiles (Server + Web)
  • Health Checks konfiguriert
  • docker-compose.macmini.yml Einträge
  • Deployed auf todo.mana.how
  • PWA-fähig für Installation
  • Landing Page (Astro) vorhanden

Lücken:

  • Kein eigener CI/CD Job

Security (90/100)

Stärken:

  • JWT Auth via @mana/shared-hono authMiddleware
  • Rate Limiting Middleware
  • CORS konfiguriert
  • RRULE DoS-Schutz (max 5000 Occurrences, 10-Jahres-Limit)
  • Security Headers (CSP, X-Frame-Options)
  • Error Tracking (GlitchTip)

UX (97/100)

Stärken:

  • 5 Sprachen (DE, EN, FR, ES, IT)
  • Cmd+K Spotlight für schnelle Aktionen
  • Keyboard Shortcuts
  • Paper-UI Design mit Animationen
  • Auto-Save (kein manuelles Speichern nötig)
  • PWA mit Offline-Support
  • Focus Trapping (Accessibility)
  • Context Menu für schnelle Aktionen
  • Inline Editing
  • Animated Completion
  • Responsive Design
  • Loading Skeletons

Lücken:

  • Mobile App (Expo) noch nicht auf gleichem Stand

Änderungen seit letztem Audit (2026-03-24)

BereichVorherJetzt
BackendNestJS (7 Module, 19 DTOs)Hono/Bun (3 Routes, Drizzle)
Komponenten3555 (+20)
UI DesignStandard-ListePaper-UI mit Animationen
NavigationTabs (Matrix/Übersicht)Fokus-Board (vereinheitlicht)
SpotlightFehlteCmd+K Actions
Inline EditingFehlteTitel direkt editierbar
RemindersServer-seitig (NestJS)Background Worker + mana-notify
CompletionStandardAnimated + “Heute erledigt”
KanbanBasisSubtask Drag & Drop
Local-FirstKonzept@mana/local-store aktiv
Score96 →93 (Backend-Tests verloren)

Top-3 Empfehlungen

  1. Backend-Tests — Hono-Routes (RRULE, Reminders, Admin) brauchen Unit-Tests
  2. E2E für Kanban + Reminders — Key-Features ohne E2E Coverage
  3. Mobile App updaten — Expo-App auf gleichen Feature-Stand bringen