docs(audit): update ManaCore production readiness audit from 65 to 80

Reassessed scores to reflect current state: 5 languages (was 2),
onboarding wizard, 11 dashboard widgets, docker-compose.macmini.yml
integration, proper mana-core-auth JWT/SSO integration. Reframed
backend/database categories for aggregator pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-19 21:21:35 +01:00
parent 764f4515c0
commit aa8197beaf

View file

@ -1,64 +1,172 @@
---
title: 'ManaCore: Production Readiness Audit'
description: 'Multi-App Ecosystem Dashboard mit 33 Web-Routes, Mobile App, Landing Page - das Herzstück des Monorepos'
description: 'Multi-App Ecosystem Dashboard mit 25 Web-Routes, 11 Dashboard-Widgets, Onboarding, 5 Sprachen, Mobile App, Landing Page'
date: 2026-03-19
app: 'manacore'
author: 'Till Schneider'
tags: ['audit', 'manacore', 'production-readiness', 'platform']
score: 65
score: 80
scores:
backend: 20
frontend: 82
database: 55
testing: 0
deployment: 78
backend: 55
frontend: 88
database: 70
testing: 12
deployment: 90
documentation: 88
security: 72
ux: 75
security: 80
ux: 92
status: 'beta'
version: '0.2.0'
version: '0.3.0'
stats:
backendModules: 0
webRoutes: 33
webRoutes: 25
components: 35
dbTables: 5
dbTables: 0
testFiles: 0
testCount: 0
languages: 2
languages: 5
---
## Zusammenfassung
ManaCore ist das **Herzstück des Monorepos** - das Multi-App Dashboard und die Landing Page. Kein eigenes NestJS Backend (nutzt Supabase direkt + mana-core-auth). Starkes Frontend, deployed auf Cloudflare Pages.
ManaCore ist das **Herzstück des Monorepos** - das Multi-App Ecosystem Dashboard mit Onboarding-Wizard, 11 konfigurierbaren Dashboard-Widgets, Credit-System und App-Switcher. Als **Aggregator-App** ohne eigenes Backend designt - nutzt mana-core-auth + API-Middleware zu allen Service-Backends. Starkes Frontend mit 5 Sprachen, deployed auf Mac Mini via Docker.
## Backend (20/100)
> **Hinweis:** ManaCore ist eine Aggregator-App. Backend- und Database-Scores bewerten die API-Integration und das Architektur-Pattern, nicht eigene Services.
- **Kein NestJS Backend** - nutzt Supabase SSR direkt
- Server-Side Auth via @supabase/ssr Hooks
- API Routes in SvelteKit (+server.ts)
- **Lücke:** Kein dedizierter Backend-Service
## Backend / API-Integration (55/100)
## Frontend (82/100)
**Stärken:**
- 33 Web-Routes (meiste aller Apps)
- 35 Komponenten, 6 Stores
- Multi-Tenant: Dashboard, Organizations, Teams, Apps, Settings
- Mobile App (Expo) mit Drawer + Tabs Navigation
- **PWA aktiv** - Service Worker + Offline Page
- Saubere Integration mit mana-core-auth (JWT, SSO, Token-Refresh)
- SvelteKit Server Hooks für Auth Guards (`hooks.server.ts`)
- API-Middleware-Layer für Proxy zu externen Services
- 21 API-Client-Module (Credits, Gifts, Profile, Subscriptions, API Keys, etc.)
- Health-Check-Endpoint
**Lücken:**
- Kein dedizierter NestJS Backend-Service (by design)
- Keine Server-Side Validation eigener Business-Logik
- Keine Rate-Limiting auf SvelteKit-Ebene
## Frontend (88/100)
**Stärken:**
- 25 Web-Routes in 2 Route-Groups ((auth) + (app))
- 35 Komponenten, 6 Svelte 5 Rune Stores (690 LOC)
- 11 Dashboard-Widgets (Calendar, Clock, Contacts, Chat, Picture, Tasks, Credits, Storage, Transactions, ManaDeck, Zitare)
- 5-Step Onboarding-Wizard (Welcome → Profile → Credits → Apps → Complete)
- App-Switcher (AppSlider) für Multi-App Navigation
- Skeleton Loading States, Error Boundaries auf Widgets
- Mobile App (Expo 54) mit Drawer + Tabs, 20 Screens, 15 Komponenten
- **PWA konfiguriert** - Service Worker + Offline Page
**Lücken:**
- Kein globaler Error Boundary (+error.svelte)
- Mobile App hat keine Dashboard-Widgets (nur Web)
## Database / Daten-Integration (70/100)
**Stärken:**
- Sauberes Aggregator-Pattern: Daten über APIs von externen Services
- User-Daten via mana-core-auth API
- Widget-Daten von 11 verschiedenen Service-Backends
- Kein eigener DB-State = keine Sync-Probleme
**Lücken:**
- Keine eigene Datenbank (by design)
- Kein lokaler Cache/Offline-Speicher
- Widget-Daten nicht persistiert
## Testing (12/100)
**Stärken:**
- Vitest konfiguriert mit Coverage (package.json)
- Playwright für E2E Tests eingerichtet
- @vitest/coverage-v8 und @vitest/ui installiert
**Lücken:**
- **0 Unit Tests**
- **0 E2E Tests**
- **0 Integration Tests**
- Testing-Infrastruktur vorhanden, aber nicht genutzt
## Deployment (90/100)
**Stärken:**
- Multi-Stage Dockerfile (Node 20-alpine)
- docker-compose.macmini.yml Integration
- Health Check konfiguriert (HTTP GET /health, 30s Intervall)
- Entrypoint Scripts mit Runtime-Env-Injection
- Landing Page auf Cloudflare Pages deployed
- SvelteKit adapter-node für SSR
**Lücken:**
- Kein CI/CD Pipeline (GitHub Actions)
- Kein automatisiertes Deployment
## Documentation (88/100)
- 228 Zeilen CLAUDE.md - umfassend
- Landing Page mit Devlogs, Blueprints, Audits, Apps, Legal, Privacy
**Stärken:**
## Deployment (78/100)
- 229 Zeilen CLAUDE.md - umfassend
- Landing Page mit Devlogs, Audits, Apps, Legal, Privacy
- Store-Dateien mit JSDoc-Kommentaren
- README.md mit 322 Zeilen
- Landing deployed auf Cloudflare Pages
- Web Dockerfile vorhanden
- **Lücke:** Kein docker-compose.macmini.yml für Dashboard
**Lücken:**
- Keine Komponenten-API-Dokumentation
- Keine Architecture Decision Records
## Security (80/100)
**Stärken:**
- Proper JWT Integration via @manacore/shared-auth
- Token-Manager mit Auto-Refresh
- Cross-Domain SSO via shared Session Cookies (.mana.how)
- Route Guards in hooks.server.ts
- Bearer Tokens auf allen API Calls
- Server-Side Proxies (Backend-URLs nicht exponiert)
**Lücken:**
- Kein Audit-Logging
- Keine explizite CSRF-Protection (SvelteKit Default)
- Kein Rate-Limiting
## UX (92/100)
**Stärken:**
- 5 Sprachen (DE, EN, FR, ES, IT) via svelte-i18n
- Onboarding-Wizard für neue User (5 Steps)
- 11 konfigurierbare Dashboard-Widgets mit Skeleton Loading
- Theme-System (Light/Dark/System) mit persistenter Präferenz
- App-Switcher für nahtlose Multi-App Navigation
- Profil-Management (Edit, Passwort, 2FA, QR-Export)
- Organizations & Teams Verwaltung
- Credit-System (Saldo, Transfer, Geschenke)
- Responsive Design (Mobile, Tablet, Desktop)
- ARIA Labels, Dialog Roles, semantisches HTML
- Keyboard Navigation
**Lücken:**
- PWA Offline-Modus nicht verifiziert
- Mobile App simpler als Web (keine Widgets)
## Top-3 Empfehlungen
1. **Tests** - Auth Flow E2E Tests, Multi-Tenant Routing Tests
2. **Dashboard Deployment** - Web-App auf mana.how deployen
3. **i18n erweitern** - Nur 2 Sprachen aktuell
1. **Tests schreiben** - Auth Store Unit Tests, Dashboard Widget Tests, E2E für Login/Onboarding Flow → Testing von 12 auf 50+
2. **Error Tracking** - GlitchTip Integration (wie andere Backends) für Production Monitoring
3. **PWA verifizieren** - Offline-Modus testen, Service Worker prüfen, Manifest validieren