Skip to content

sinusphi/manougui

Repository files navigation

Manougui - Advanced Natural Language Translator

Eine fortschrittliche Übersetzungs-App für Darija (Marokkanisches Arabisch) und andere afrikanische Sprachen

Flutter Platform License


📱 Übersicht

Manougui ist eine innovative Übersetzungs-App, die speziell für Darija (Marokkanisches Arabisch) und andere afrikanische Sprachen entwickelt wurde. Die App kombiniert moderne KI-Technologien mit einer intuitiven Benutzeroberfläche für eine nahtlose Übersetzungserfahrung.

Hauptmerkmale

  • Echtzeit-Sprachübersetzung mit Whisper.cpp
  • Text-to-Speech mit VITS-Synthese
  • Chat-Integration mit Atlas-Chat-9B Modell
  • Übersetzungsverlauf mit lokaler SQLite-Datenbank
  • Favoriten-System für wichtige Übersetzungen
  • Intelligente Suche und Filterung
  • Dark Theme mit modernem UI/UX Design
  • Cross-Platform (iOS & Android)

Schnellstart

Voraussetzungen

  • Flutter SDK 3.19+ (Installation)
  • Dart SDK 3.0+
  • Android Studio / VS Code mit Flutter Extensions
  • Git für Repository-Verwaltung

Installation

  1. Repository klonen:
git clone https://github.com/yourusername/manougui.git
cd manougui
  1. Dependencies installieren:
flutter pub get
  1. App starten:
# Für Android
flutter run -d 2311DRK48G

# Für iOS
flutter run -d <device-id>

# Für Web
flutter run -d chrome

Projektstruktur

manougui/
├── lib/
│   ├── core/                    # App-Kernfunktionalität
│   │   ├── constants/          # App-Konstanten
│   │   ├── theme/              # Design-System & Themes
│   │   └── utils/              # Utility-Funktionen
│   ├── data/                   # Datenebene
│   │   ├── models/             # Datenmodelle
│   │   ├── repositories/       # Repository-Pattern
│   │   └── datasources/        # Datenquellen (API, SQLite)
│   ├── domain/                 # Geschäftslogik
│   │   ├── entities/           # Business Entities
│   │   └── usecases/           # Use Cases
│   ├── presentation/           # Präsentationsschicht
│   │   ├── screens/            # UI-Screens
│   │   ├── widgets/            # Wiederverwendbare Widgets
│   │   └── providers/          # Riverpod State Management
│   └── main.dart               # App-Einstiegspunkt
├── assets/                     # Statische Assets
├── android/                    # Android-spezifische Konfiguration
├── ios/                        # iOS-spezifische Konfiguration
└── test/                       # Tests

Design-System

Farbpalette

// Primärfarben
primaryColor: #6B46C1        // Lila
secondaryColor: #EC4899      // Pink
backgroundColor: #0F0F1E     // Dunkler Hintergrund
surfaceColor: #1A1A2E        // Oberflächenfarbe

// Text-Farben
textPrimary: #FFFFFF         // Weiß
textSecondary: #B8B8CC      // Hellgrau

Typografie

  • Headlines: Poppins Bold (24-32px)
  • Body Text: Inter Regular (14-16px)
  • Arabic Text: Noto Sans Arabic

Animationen

  • Übergänge: 300-400ms Smooth Transitions
  • Glow-Effekte: CustomPainter-basierte Effekte
  • Haptic Feedback: Native Vibration-Integration

Technische Features

1. Sprachübersetzung

  • Whisper.cpp Integration für Echtzeit-Spracherkennung
  • Atlas-Chat-9B Modell für hochwertige Übersetzungen
  • Offline-First Ansatz mit lokaler Modell-Verarbeitung
  • Cloud-Fallback für bessere Genauigkeit

2. Text-to-Speech (TTS)

  • VITS-Service für natürliche Sprachsynthese
  • 4 Stimmen verfügbar:
    • Samir (männlich)
    • Khaled (männlich)
    • Younes (weiblich)
    • Aicha (weiblich)

3. Lokale Datenspeicherung

  • SQLite-Datenbank für Übersetzungsverlauf
  • Favoriten-System mit persistenter Speicherung
  • Offline-Funktionalität ohne Internetverbindung
  • Automatische Backup-Strategien

4. Benutzeroberfläche

  • Responsive Design für alle Bildschirmgrößen
  • Dark Theme mit modernem Material Design
  • Intuitive Navigation mit Tab-basierter Struktur
  • Accessibility-Features für bessere Nutzbarkeit

Screens & Funktionalität

Home Screen

  • Begrüßungs-Header mit Tageszeit-Anpassung
  • Quick Actions Grid (4 Hauptfunktionen)
  • Letzte Übersetzungen im Card-Layout
  • Backend-Status-Monitoring

Recording Screen

  • Zentraler Mikrofon-Button (120x120px)
  • Pulsierender Glow-Effekt während Aufnahme
  • Waveform-Visualisierung für Audio-Feedback
  • Sprach-Dropdown (Darija, Amazigh, etc.)
  • Echtzeit-Transkription Display

History Screen

  • Übersetzungsverlauf mit Datum-Gruppierung
  • Erweiterte Suche mit Filter-Optionen
  • Favoriten-System mit Herz-Icon
  • Auswahlmodus für Bulk-Aktionen
  • Swipe-to-Delete Funktionalität

Settings Screen

  • Sprach-Einstellungen für Input/Output
  • TTS-Konfiguration (Stimme, Geschwindigkeit)
  • Offline-Modell-Verwaltung
  • App-Theme Auswahl

Backend-Integration

FastAPI Backend

  • Atlas-Chat-9B Modell läuft einwandfrei
  • CUDA-Integration für GPU-Beschleunigung
  • PEFT-Adapter-Support für Modell-Anpassungen
  • Async/await Pattern für bessere Performance

API-Endpunkte

POST /translate          # Übersetzungs-API
POST /chat              # Chat-API
GET  /status            # Backend-Status
GET  /models            # Verfügbare Modelle

Netzwerk-Konfiguration

  • Standard-Port: 8000
  • Lokale IP: 192.168.178.30:8000
  • HTTPS-Support für Produktionsumgebung
  • Rate-Limiting und Error-Handling

Datenmodelle

Translation Entity

class Translation {
  final String id;
  final String originalText;
  final String translatedText;
  final String sourceLanguage;
  final String targetLanguage;
  final DateTime timestamp;
  final bool isFavorite;
  final int tokenCount;
  final double processingTime;
}

User Preferences

class UserPreferences {
  final String preferredVoice;
  final double ttsSpeed;
  final bool autoPlayAudio;
  final String theme;
  final List<String> favoriteLanguages;
}

Testing

Unit Tests

# Alle Tests ausführen
flutter test

# Spezifische Test-Datei
flutter test test/widget_test.dart

# Mit Coverage
flutter test --coverage

Widget Tests

  • UI-Komponenten werden isoliert getestet
  • State-Management wird validiert
  • User-Interactions werden simuliert

Integration Tests

  • End-to-End Workflows werden getestet
  • API-Integration wird validiert
  • Datenbank-Operationen werden überprüft

Deployment

Android Build

# Release Build
flutter build apk --release

# App Bundle für Play Store
flutter build appbundle --release

# Spezifische Architektur
flutter build apk --target-platform android-arm64

iOS Build

# Release Build
flutter build ios --release

# Archive für App Store
flutter build ipa --release

Web Build

# Web-Version
flutter build web --release

# Mit spezifischem Base-Href
flutter build web --base-href "/manougui/"

Performance-Optimierungen

App-Größe

  • Modell-Quantisierung für kleinere Dateien
  • Asset-Optimierung mit WebP-Format
  • Code-Splitting für bessere Ladezeiten

Speicher-Management

  • Lazy Loading für große Datensätze
  • Memory Pool für Audio-Verarbeitung
  • Garbage Collection Optimierung

Netzwerk-Optimierung

  • Request-Caching für wiederholte Anfragen
  • Batch-Processing für mehrere Übersetzungen
  • Progressive Loading für große Inhalte

Sicherheit

Datenverschlüsselung

  • AES-256 für lokale Datenbank
  • HTTPS/TLS für alle API-Kommunikation
  • Secure Storage für sensible Informationen

Datenschutz

  • GDPR-Compliance für EU-Nutzer
  • Lokale Verarbeitung ohne Cloud-Speicherung
  • Anonyme Nutzungsstatistiken

Beitragen

Entwicklungsumgebung einrichten

  1. Fork das Repository
  2. Branch für Feature/Issue erstellen
  3. Änderungen implementieren
  4. Tests schreiben und ausführen
  5. Pull Request erstellen

Coding Standards

  • Dart Style Guide befolgen
  • Clean Architecture Prinzipien einhalten
  • Dokumentation für neue Features
  • Unit Tests für neue Funktionalität

Issue Reporting

  • Bug-Report Template verwenden
  • Reproduzierbare Schritte angeben
  • Screenshots/Logs beifügen
  • Erwartetes vs. tatsächliches Verhalten

Dokumentation

API-Dokumentation

  • Swagger/OpenAPI Spezifikationen
  • Endpoint-Beschreibungen mit Beispielen
  • Error-Codes und deren Bedeutung
  • Rate-Limiting Informationen

Entwickler-Dokumentation

  • Architektur-Übersicht mit Diagrammen
  • Setup-Anweisungen für neue Entwickler
  • Troubleshooting Guide
  • Performance-Benchmarks

Support

Häufige Probleme

  • Modell-Download schlägt fehl
  • Audio-Wiedergabe funktioniert nicht
  • Übersetzungsgenauigkeit ist niedrig
  • App stürzt bei bestimmten Aktionen

Kontakt


Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Siehe LICENSE für Details.


Danksagungen

  • Flutter Team für das großartige Framework
  • Whisper.cpp Community für die Spracherkennung
  • VITS Community für die Sprachsynthese
  • Alle Beta-Tester für wertvolles Feedback

Projekt-Status

Aktuelle Version: 1.0.0-beta
Entwicklungsphase: Beta-Testing
Nächster Release: Q1 2024
Ziel-Nutzer: 50.000+ nach 1 Jahr

About

Advandced Natural Language Translater customized for Darija, Moroccan Language and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors