Skip to content

KodiniTools/Audiokonverter

Repository files navigation

🎡 Audio Konverter MP3, WAV, FLAC, OGG, AAC, M4A

Eine moderne Audio-Konverter-Anwendung mit Vue 3, Vite und i18n-UnterstΓΌtzung.

✨ Features

  • 🎯 Modern & Responsiv - Gebaut mit Vue 3 Composition API
  • 🌍 Mehrsprachig - Deutsch & Englisch mit Vue I18n
  • 🎨 Dark Mode - Automatischer Theme-Wechsel
  • πŸ“¦ Drag & Drop - Intuitive Datei-Upload-Funktion
  • πŸ”„ Batch-Konvertierung - Mehrere Dateien gleichzeitig
  • πŸŽ›οΈ Flexible Einstellungen - Format & QualitΓ€t anpassbar
  • πŸ“± Mobile-Ready - Optimiert fΓΌr alle GerΓ€te

πŸš€ UnterstΓΌtzte Formate

Input & Output:

  • MP3
  • WAV
  • FLAC
  • OGG Vorbis
  • AAC
  • M4A

πŸ› οΈ Technologie-Stack

  • Frontend: Vue 3 + Vite
  • State Management: Pinia
  • i18n: Vue I18n
  • Icons: FontAwesome
  • Styling: CSS3 mit CSS Variables

πŸ“¦ Installation

Voraussetzungen

  • Node.js >= 16.0.0
  • npm >= 8.0.0

Setup

  1. Dependencies installieren:
npm install
  1. Development Server starten:
npm run dev
  1. Production Build erstellen:
npm run build
  1. Preview Production Build:
npm run preview

πŸ”§ Backend-Integration

Das Frontend ist konfiguriert, um mit einem Backend-Server zu kommunizieren:

  • Backend URL: http://localhost:3001
  • API Endpunkte:
    • POST /api/convert - Datei-Konvertierung
    • GET /files/:filename - Download konvertierte Dateien

Backend starten

Stelle sicher, dass der Backend-Server lΓ€uft:

cd backend
npm install
npm start

πŸ“ Projektstruktur

audio-converter-vue/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   └── styles/
β”‚   β”‚       └── main.css          # Globale Styles
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ HeaderNav.vue         # Navigation
β”‚   β”‚   β”œβ”€β”€ HeaderTitle.vue       # Titel
β”‚   β”‚   β”œβ”€β”€ FileUpload.vue        # Drag & Drop Upload
β”‚   β”‚   β”œβ”€β”€ FileList.vue          # Dateiliste
β”‚   β”‚   β”œβ”€β”€ ConversionSettings.vue # Konvertierungs-Einstellungen
β”‚   β”‚   β”œβ”€β”€ GlobalActions.vue     # Globale Aktionen
β”‚   β”‚   β”œβ”€β”€ StatusDisplay.vue     # Status-Anzeige
β”‚   β”‚   β”œβ”€β”€ FaqSection.vue        # FAQ
β”‚   β”‚   └── ToastContainer.vue    # Toast-Benachrichtigungen
β”‚   β”œβ”€β”€ composables/
β”‚   β”‚   └── useToast.js           # Toast Composable
β”‚   β”œβ”€β”€ locales/
β”‚   β”‚   β”œβ”€β”€ de.js                 # Deutsche Übersetzungen
β”‚   β”‚   β”œβ”€β”€ en.js                 # Englische Übersetzungen
β”‚   β”‚   └── index.js              # i18n Konfiguration
β”‚   β”œβ”€β”€ stores/
β”‚   β”‚   β”œβ”€β”€ audioStore.js         # Audio State Management
β”‚   β”‚   └── themeStore.js         # Theme State Management
β”‚   β”œβ”€β”€ App.vue                   # Hauptkomponente
β”‚   └── main.js                   # Entry Point
β”œβ”€β”€ public/                        # Statische Assets
β”œβ”€β”€ index.html                     # HTML Template
β”œβ”€β”€ vite.config.js                 # Vite Konfiguration
└── package.json                   # Dependencies

🌍 Internationalisierung (i18n)

Die App unterstΓΌtzt mehrere Sprachen:

  • Deutsch (de) - Standard
  • Englisch (en)

Sprache hinzufΓΌgen

  1. Erstelle neue Sprachdatei in src/locales/:
// src/locales/fr.js
export default {
  app: {
    title: 'Convertisseur Audio',
    // ...
  }
}
  1. Import in src/locales/index.js:
import fr from './fr.js'

export const i18n = createI18n({
  messages: {
    de,
    en,
    fr  // Neue Sprache hinzufΓΌgen
  }
})

🎨 Theming

Die App unterstΓΌtzt Light & Dark Mode:

  • Automatische Erkennung - Folgt System-PrΓ€ferenz
  • Manueller Wechsel - Toggle-Button in Navigation
  • Persistenz - Theme wird in localStorage gespeichert

CSS Variablen anpassen

:root {
  --primary-color: #3b82f6;
  --success-color: #4caf50;
  --error-color: #f44336;
  /* ... */
}

πŸ”Œ API Integration

Konvertierungs-Request

const formData = new FormData()
formData.append('file', audioFile)
formData.append('format', 'mp3')
formData.append('quality', '7')

const response = await axios.post('/api/convert', formData)

Response Format

{
  "ok": true,
  "output": "/files/converted-file.mp3",
  "filename": "converted-file.mp3"
}

πŸ“ Konfiguration

Vite Proxy (vite.config.js)

server: {
  proxy: {
    '/api': 'http://localhost:3001',
    '/files': 'http://localhost:3001'
  }
}

πŸ§ͺ Testing

npm run lint

πŸ“± Browser-UnterstΓΌtzung

  • Chrome/Edge (letzte 2 Versionen)
  • Firefox (letzte 2 Versionen)
  • Safari (letzte 2 Versionen)
  • Mobile Browser (iOS Safari, Chrome Mobile)

🀝 Contributing

Contributions sind willkommen! Bitte erstelle einen Pull Request.

πŸ“„ License

MIT License

πŸ‘¨β€πŸ’» Autor

Dinko Ramić - Kodini Tools kodinitools.com

πŸ™ Credits

  • Vue.js Team
  • FontAwesome
  • Vite Team
  • Vue I18n Team

Viel Spaß beim Konvertieren! 🎡

About

Konvertiere deine Audiodateien schnell und einfach Lade unsere Windows Desktop-Anwendung herunter und konvertiere Audiodateien offline auf deinem Computer.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors