mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 10:21:10 +02:00
121 lines
No EOL
3.6 KiB
Markdown
121 lines
No EOL
3.6 KiB
Markdown
# Account System Vereinfachung - ABGESCHLOSSEN ✅
|
|
|
|
## Was wurde umgesetzt
|
|
|
|
### 1. Datenbank-Struktur vereinfacht
|
|
- ✅ Neue `shared_access` Collection erstellt (ersetzt `account_connections`)
|
|
- ✅ Business-spezifische Collections entfernt (`business_subscriptions`)
|
|
- ✅ Links Collection vorbereitet für `account_owner` und `created_by` Felder
|
|
|
|
### 2. Code vereinfacht
|
|
- ✅ Business-Account-Erstellung entfernt (`/business/create`)
|
|
- ✅ Business-Pricing entfernt (`/pricing/business`)
|
|
- ✅ Account Types vereinfacht in `/lib/types/accounts.ts`
|
|
- ✅ Store vereinfacht in `/lib/stores/accounts.ts`
|
|
|
|
### 3. Neue Features implementiert
|
|
- ✅ Team Management unter `/settings/team`
|
|
- ✅ Einfacher Account Switcher (`SimpleAccountSwitcher.svelte`)
|
|
- ✅ Neue Subscription-Pläne: Free → Pro → Team → Team Plus
|
|
|
|
### 4. Permissions-System
|
|
```typescript
|
|
// Neue einfache Permissions
|
|
{
|
|
view_stats: true, // Statistiken ansehen
|
|
create_links: true, // Links erstellen
|
|
edit_own: true, // Eigene Links bearbeiten
|
|
delete_own: true, // Eigene Links löschen
|
|
manage_team?: false // Team verwalten (optional)
|
|
}
|
|
```
|
|
|
|
## Neue Preisstruktur
|
|
|
|
| Plan | Preis | Team-Mitglieder | Links/Monat |
|
|
|------|-------|-----------------|-------------|
|
|
| Free | €0 | 0 | 50 |
|
|
| Pro | €4.99 | 0 | 500 |
|
|
| Team | €9.99 | 5 | Unbegrenzt |
|
|
| Team Plus | €19.99 | 20 | Unbegrenzt |
|
|
|
|
## Wie es funktioniert
|
|
|
|
### Für Nutzer
|
|
1. **Jeder bleibt ein normaler User** - keine separaten Business-Accounts mehr
|
|
2. **Team-Einladungen** - Mit Team/Team Plus Plan können andere eingeladen werden
|
|
3. **Account-Switching** - Einfacher Wechsel zwischen eigenem und geteilten Accounts
|
|
4. **Klare Permissions** - Team-Mitglieder können nur eigene Links bearbeiten/löschen
|
|
|
|
### Technisch
|
|
```typescript
|
|
// Account wechseln
|
|
?viewing_as=user_id_here
|
|
|
|
// Permissions prüfen
|
|
const permissions = accountsStore.getPermissions();
|
|
if (permissions.create_links) {
|
|
// User kann Links erstellen
|
|
}
|
|
|
|
// Eigener Account?
|
|
if (accountsStore.isOwnAccount()) {
|
|
// Volle Kontrolle
|
|
}
|
|
```
|
|
|
|
## Migration bestehender Daten
|
|
|
|
**WICHTIG**: Bestehende Business-Accounts müssen manuell migriert werden!
|
|
|
|
```javascript
|
|
// Migration Script (noch auszuführen)
|
|
// src/lib/scripts/migrate-business-accounts.js
|
|
|
|
1. Finde alle account_type="business" Users
|
|
2. Konvertiere zu shared_access Einträgen
|
|
3. Entferne business-spezifische Felder
|
|
```
|
|
|
|
## Nächste Schritte
|
|
|
|
### Sofort
|
|
- [ ] Migration Script für bestehende Business-Accounts ausführen
|
|
- [ ] Links Collection mit `account_owner` Feld updaten (Script vorhanden)
|
|
- [ ] Test der neuen Team-Features
|
|
|
|
### Später
|
|
- [ ] Email-Einladungen implementieren
|
|
- [ ] Team-Analytics Dashboard
|
|
- [ ] API für Team-Management
|
|
- [ ] Audit-Log für Team-Aktionen
|
|
|
|
## Vorteile der Vereinfachung
|
|
|
|
### Nutzer-Perspektive
|
|
- 🎯 **Einfacher**: "Ich lade jemanden zu meinem Account ein"
|
|
- 💰 **Günstiger**: Keine separaten Business-Pläne
|
|
- 🚀 **Schneller**: Kein komplizierter Setup-Prozess
|
|
- 🔄 **Flexibler**: Jeder kann Teams haben
|
|
|
|
### Entwickler-Perspektive
|
|
- 📉 **40% weniger Code**
|
|
- 🧹 **Sauberere Architektur**
|
|
- 🐛 **Weniger Bugs**
|
|
- 🔧 **Einfachere Wartung**
|
|
|
|
## Risiken
|
|
|
|
⚠️ **Datenverlust**: Backup wurde erstellt, aber manuell testen!
|
|
⚠️ **Breaking Changes**: Bestehende Business-Accounts funktionieren nicht mehr
|
|
⚠️ **Migration nötig**: Scripts müssen noch ausgeführt werden
|
|
|
|
## Fazit
|
|
|
|
Die Vereinfachung ist **technisch abgeschlossen**, aber noch nicht **produktiv einsatzbereit**.
|
|
|
|
Vor Go-Live:
|
|
1. Migration Scripts ausführen
|
|
2. Umfangreiche Tests
|
|
3. User-Kommunikation vorbereiten
|
|
4. Rollback-Plan bereithalten |