mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-23 01:06:42 +02:00
- Restructure chat as apps/mobile, apps/web, apps/landing, backend - Add NestJS backend for secure Azure OpenAI API calls - Remove exposed API key from mobile app (security fix) - Add shared chat-types package - Create SvelteKit web app scaffold - Create Astro landing page scaffold - Update pnpm workspace configuration - Add project-level CLAUDE.md documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
55 lines
No EOL
2 KiB
Markdown
55 lines
No EOL
2 KiB
Markdown
# Vereinfachungsplan für Chat App
|
|
|
|
Basierend auf der Codeanalyse schlage ich folgende Maßnahmen zur Vereinfachung des Projekts vor:
|
|
|
|
## 1. Komponenten-Konsolidierung
|
|
|
|
- **Chat-Eingabefelder**: `MessageInput.tsx` und `ChatPromptInput.tsx` zu einer Komponente zusammenführen
|
|
- **Modell-Auswahl**: Die Logik aus `ModelDropdown.tsx` und `model-selection.tsx` in einen gemeinsamen Service extrahieren
|
|
- **Nachrichten-Darstellung**: Eine wiederverwendbare `MessageRenderer`-Komponente für alle Nachrichten-Displaytypen erstellen
|
|
|
|
## 2. Code-Reduktion
|
|
|
|
- **Redundante Modell-Definitionen**: Gemeinsame Typendefinitionen in `types/index.ts` zentralisieren
|
|
- **API-Wrapper**: XHR durch einfachen Fetch-API-Wrapper in `utils/api.ts` ersetzen
|
|
- **Error Handling**: Zentrales Fehlerbehandlungssystem statt wiederholter try/catch-Blöcke
|
|
- **Styling**: Vollständig auf NativeWind umstellen und StyleSheet.create entfernen
|
|
|
|
## 3. Architektur-Optimierung
|
|
|
|
- **State Management**:
|
|
- Auth-Zustand über einen zentralen Store verwalten
|
|
- Modell- und Konversationszustand aus UI-Komponenten in Services verlagern
|
|
|
|
- **Typ-System**:
|
|
- Gemeinsame Schnittstellen für Modelle, Nachrichten und Konversationen
|
|
- Striktere Typprüfung für alle API-Antworten
|
|
|
|
- **Service-Layer**:
|
|
- Klare Trennung zwischen UI, Datenmodell und API-Logik
|
|
- Einheitliche Fehlerrückgabe mit Typisierung
|
|
|
|
## 4. Dateistruktur
|
|
|
|
```
|
|
/app - Screens & Routing
|
|
/components - UI-Komponenten
|
|
/hooks - Gemeinsame React Hooks
|
|
/services - Business-Logik
|
|
/types - Typendefinitionen
|
|
/utils - Hilfsfunktionen
|
|
```
|
|
|
|
## 5. Performance-Optimierungen
|
|
|
|
- Virtualisierte Listen für große Nachrichtenthreads
|
|
- Optimistische UI-Updates für bessere UX
|
|
- Caching von Modellantworten zur Reduzierung von API-Aufrufen
|
|
|
|
## Implementierungsreihenfolge
|
|
|
|
1. Typensystem konsolidieren
|
|
2. API-Wrapper erstellen
|
|
3. State Management umstellen
|
|
4. UI-Komponenten vereinheitlichen
|
|
5. Styling standardisieren |