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

Calc: Production Readiness Audit

Taschenrechner mit 8 Modi (Standard, Scientific, Programmer, Converter, Currency, Finance, Date, Percentage), 5 Skins, lokaler Berechnungshistorie und Formelspeicher - vollständig local-first mit Sync

Gesamtscore

Gewichteter Durchschnitt aus 8 Kategorien

45 /100

Kategorie-Scores

Backend
5
Frontend
65
Database
55
Testing
0
Deployment
35
Doku
25
Security
50
UX
75

Metriken

6.100 Lines of Code
112 Source Files
0.3 MB (Source)
0 Commits
2 Contributors
2026-03-01 Erster Commit
1 API Endpoints
0 Backend Module
22 Web Routes
8 Stores
6 Komponenten
2 DB Tabellen
0 Tests
0 Test Files
2 Sprachen
262 Max File (LOC)
audit calc production-readiness alpha

Zusammenfassung

Calc ist ein feature-reicher Taschenrechner mit 8 Berechnungsmodi, 5 visuellen Skins (HP-35, Casio fx, TI-84, Modern, Minimal) und 10 Unit-Converter-Kategorien. Voll local-first mit Dexie.js, Sync-Support und PWA. Keine Tests und keine formale Dokumentation vorhanden.

Backend (5/100)

  • Kein eigenes Backend
  • Nur Health-Check Endpoint (GET /health)
  • Alle Berechnungen clientseitig (sicherer Expression-Parser ohne eval())
  • Datenpersistenz über local-first/mana-sync
  • Designentscheidung: Kein Backend nötig - reine Client-App

Frontend (65/100)

  • SvelteKit 2 + Svelte 5 Runes
  • Tailwind CSS 4 mit shared-tailwind Theme
  • 22 Routes: Standard, Scientific, Programmer, Converter, Currency, Finance, Date, Percentage, Skins, Themes, Settings, Profile, etc.
  • 6 Komponenten (5 Calculator Skins + Loading Skeleton)
  • 8 Svelte 5 Rune Stores
  • Sicherer Math-Expression-Parser (kein eval())
  • Wissenschaftliche Konstanten (π, e, φ, √2, c, g, Avogadro, Planck)
  • i18n mit svelte-i18n (DE + EN)
  • PWA mit @vite-pwa/sveltekit
  • Lücke: Keine CLAUDE.md, kein Error Boundary

Database (55/100)

  • IndexedDB via Dexie.js (@mana/local-store)
  • 2 Collections: calculations, savedFormulas
  • Live Queries für reaktive Updates
  • Sync-fähig über mana-sync
  • Guest Seed Data für Offline-First
  • Lücke: Keine serverseitige Datenbank (by design)

Testing (0/100)

  • Keine Unit Tests
  • Keine E2E Tests
  • Keine Mock Factories
  • Vitest nicht konfiguriert
  • Nächster Schritt: Expression-Parser-Tests, Converter-Tests, Skin-Rendering-Tests

Security (50/100)

  • Mana Core Auth Integration (Better Auth + EdDSA JWT)
  • Guest Mode unterstützt
  • Sicherer Expression-Parser (kein eval(), manuelles Parsing)
  • CSP Headers konfiguriert
  • Lücke: Kein Rate Limiting (kein Backend)

Deployment (35/100)

  • Dockerfile vorhanden (Multi-Stage, node:20-alpine, Port 5026)
  • Health Check konfiguriert
  • Lücke: Nicht in docker-compose.macmini.yml, nicht deployed

Documentation (25/100)

  • Keine CLAUDE.md
  • Keine README.md
  • Code gut kommentiert (Headers, Inline-Docs)
  • package.json Scripts vorhanden
  • Nächster Schritt: CLAUDE.md mit Architektur, Modi-Übersicht, Skin-System

UX (75/100)

  • 8 Berechnungsmodi (Standard bis Finance)
  • 5 historische Skins (HP-35 1972, Casio fx 1985, TI-84 2004, Modern, Minimal)
  • 10 Unit-Converter-Kategorien (Länge, Gewicht, Temperatur, Volumen, Fläche, etc.)
  • Berechnungshistorie mit Tags
  • Formelspeicher
  • Dark/Light Mode
  • PWA installierbar
  • Lücke: Keine Keyboard Shortcuts, keine Animationen

Top-3 Empfehlungen

  1. Tests schreiben - Expression-Parser und Converter sind kritisch und gut testbar
  2. CLAUDE.md erstellen - Architektur, Modi, Skin-System dokumentieren
  3. Docker Compose - In docker-compose.macmini.yml aufnehmen und deployen