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

Todo: Production Readiness Audit

Aufgabenverwaltung mit 19 DTOs, Swagger API Docs, 200+ Tests + E2E, Focus Trapping, PWA, Auto-Save, Context Menus, 5 Sprachen

Gesamtscore

Gewichteter Durchschnitt aus 8 Kategorien

↑ 16 Punkte seit erstem Assessment

80 96
96 /100

Kategorie-Scores

Backend
94
Frontend
95
Database
88
Testing
90
Deployment
92
Doku
95
Security
90
UX
94

Lighthouse Scores

Google Lighthouse Performance Audit

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

API Conformity

Konsistenz der Backend-API

6/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-03-24)

76% aktuell
38 Pakete gesamt
9 Veraltet
0 Vulnerabilities
✓ Sicher
Schweregrad
9 veraltet 29 aktuell

Metriken

26.567 Lines of Code
187 Source Files
1.2 MB (Source)
223 Commits
3 Contributors
2025-12-03 Erster Commit
50 API Endpoints
7 Backend Module
13 Web Routes
30 Stores
35 Komponenten
8 DB Tabellen
210 Tests
16 Test Files
5 Sprachen
98 TODOs/FIXMEs
1252 Max File (LOC)
audit todo production-readiness

Zusammenfassung

Todo ist eine feature-reiche Aufgabenverwaltung mit Kanban-Boards, Projekten, Labels, Reminders, Notepad-Design, Auto-Save und die App mit den meisten DTOs (19). Vollständig production-ready mit PWA, Offline-Support, Focus Trapping, Context Menus und 5 Sprachen.

Backend (94/100)

Stärken:

  • 7 Module: Project, Task, Label, Reminder, Kanban, Network, Admin
  • 19 DTOs (beste Validation aller Apps)
  • Rate Limiting (ThrottlerGuard global, 100 req/min)
  • MetricsModule, ManaCoreModule
  • GDPR Admin-Endpoints
  • RRULE Validation mit DoS-Schutz (max 5000 Occurrences)
  • Swagger/OpenAPI Dokumentation
  • Error Tracking via GlitchTip

Lücken:

  • Keine Controller-Tests

Frontend (95/100)

Stärken:

  • 13 Routes, 35 Komponenten, 13 Stores
  • Kanban-Board, Spiral-View, Projekt-Views
  • Notepad-Design für Task-Liste (physisches Notizbuch-Feeling)
  • Auto-Save mit 500ms Debounce (kein Save/Cancel nötig)
  • Drag & Drop für Task-Reordering (Liste + Kanban)
  • Skeleton Loading States (TaskList, TaskItem, KanbanBoard, Statistics)
  • Globale Error Page mit i18n (5 Sprachen)
  • PWA mit Service Worker, Manifest, Icons (192x192, 512x512, apple-touch-icon), Shortcuts
  • Offline Page prerendered mit shared OfflinePage Component (PWA-Install Fix)
  • Security Headers (CSP, X-Frame-Options) via hooks.server.ts
  • Meta/OG Tags für SEO
  • Focus Trapping in allen Modals (shared focusTrap Action)
  • Context Menu auf TaskList (Bearbeiten, Complete, Priorität, Projekt verschieben, Löschen)
  • QuickInputBar mit Natural Language Parsing
  • TagStrip + Unified TaskFilters
  • Error Tracking via GlitchTip
  • 5 Sprachen (DE, EN, FR, ES, IT)

Lücken:

  • Mobile App noch nicht auf gleichem Stand

Database (88/100)

Stärken:

  • 8 Tabellen: projects, tasks, labels, task_labels, reminders + Hilfstabellen
  • Drizzle ORM mit Type Safety
  • JSONB für Subtasks und Metadata
  • TEXT für user_id (Better Auth Format)

Testing (90/100)

Stärken:

  • 7 Backend Unit Tests (task, project, kanban, reminder, label services + controllers)
  • 3 Frontend Unit Tests (task-parser, task-filters, view store)
  • 3 Playwright E2E Test Suites (auth, projects, tasks)
  • Vitest + Jest Konfiguration

Lücken:

  • Backend-Coverage ausbaubar
  • E2E für Kanban fehlt

Deployment (92/100)

Stärken:

  • Multi-Stage Dockerfiles (Backend + Web)
  • Health Checks konfiguriert
  • docker-compose.prod.yml mit Traefik Labels
  • Deployed auf todo.mana.how
  • PWA-fähig für Installation

Lücken:

  • Kein eigener CI/CD Job

Security (90/100)

Stärken:

  • JwtAuthGuard auf allen Backend-Endpoints
  • ThrottlerGuard global (100 req/min)
  • CORS konfiguriert
  • RRULE DoS-Schutz (max 5000 Occurrences, 10-Jahres-Limit)
  • Security Headers (CSP, X-Frame-Options)
  • Error Tracking (GlitchTip)
  • Demo-Task Authentication Gate

UX (94/100)

Stärken:

  • 5 Sprachen (DE, EN, FR, ES, IT)
  • Keyboard Shortcuts (Ctrl+1-3, F für Immersive Mode)
  • Responsive Design
  • Loading Skeletons
  • Auto-Save (kein manuelles Speichern nötig)
  • PWA mit Offline-Support
  • Focus Trapping in allen Modals (Accessibility)
  • Context Menu für schnelle Aktionen (Priorität, Projekt, Complete, Delete)
  • QuickInputBar mit Natural Language Parsing
  • Immersive Mode
  • Notepad-Design

Lücken:

  • Mobile App (Expo) noch nicht auf gleichem Stand

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

BereichVorherJetzt
i18n2 Sprachen✅ 5 Sprachen (DE/EN/FR/ES/IT)
PWANicht konfiguriert✅ Vollständig (SW, Manifest, Icons)
Error PageHardcodiert (DE)✅ i18n (5 Sprachen)
Focus TrappingFehlte✅ Alle 2 Modals
Meta/OG TagsFehlten✅ Root Layout
Context MenusFehlten✅ TaskList mit 5 Aktionen
Auto-SaveFehlte✅ 500ms Debounce
Notepad-DesignStandard-Liste✅ Physisches Notizbuch
TaskFilters2 separate Komponenten✅ Unified TaskFilters
QuickInputBarFehlte✅ Mit NLP Parsing
Offline PageFehlte✅ Shared OfflinePage
Security HeadersFehlten✅ hooks.server.ts
Score94 →96

Top-3 Empfehlungen

  1. Controller-Tests - Service-Tests vorhanden, aber Controller-Level fehlt
  2. E2E für Kanban - Kanban-Board ist ein Key-Feature, braucht E2E Coverage
  3. Mobile App updaten - Expo-App auf gleichen Feature-Stand bringen