neonail-database/README.md
2025-08-10 18:09:07 +02:00

4.4 KiB
Executable File

NeoNail Datenbank

Eine Laravel-basierte Webanwendung zur Verwaltung von NeoNail-Nagellack-Sammlungen. Die Anwendung ermöglicht es Benutzern, ihre persönliche Nagellack-Sammlung zu verwalten und ist speziell für die mobile Nutzung optimiert.

Features

Für Benutzer

  • Persönliche Sammlung: Benutzer können ihre NeoNail-Lacke verwalten
  • Mobile Optimierung: Handy-optimiertes Design für schnelle Nutzung im Laden
  • Suchfunktion: Suche nach Namen oder Nummer der Lacke
  • Bild-Upload: Möglichkeit, Bilder per Handykamera hochzuladen
  • Hersteller-Verwaltung: Erstellen und verwalten von Herstellern
  • Responsive Design: Funktioniert auf allen Geräten

Für Administratoren

  • Benutzer-Verwaltung: Erstellen, bearbeiten und löschen von Benutzern
  • Nagellack-Verwaltung: Vollständige CRUD-Operationen für Nagellacke
  • Hersteller-Verwaltung: Verwaltung aller Hersteller im System
  • Bildoptimierung: Automatische Optimierung hochgeladener Bilder
  • Statistiken: Übersicht über Benutzer, Sammlungen und Hersteller
  • Admin-Dashboard: Übersichtliche Verwaltungsoberfläche

Technische Details

Datenbank-Struktur

  • Users: Benutzer-Verwaltung
  • Manufacturers: Hersteller-Daten (Name, Beschreibung, Website, Land)
  • NailPolishes: Nagellack-Daten (Name, Nummer, Hersteller, Bild)
  • UserNailPolishes: Many-to-Many Beziehung zwischen Benutzern und Lacken

Technologien

  • Laravel 12: PHP-Framework
  • Bootstrap 5: CSS-Framework für responsive Design
  • Intervention Image: Bildoptimierung
  • SQLite: Datenbank (für einfache Entwicklung)

Installation

Voraussetzungen

  • PHP 8.2+
  • Composer
  • Node.js (optional für Asset-Compilation)

Setup

  1. Repository klonen:
git clone <repository-url>
cd neonail-database
  1. Abhängigkeiten installieren:
composer install
  1. Umgebungsvariablen konfigurieren:
cp .env.example .env
php artisan key:generate
  1. Datenbank einrichten:
php artisan migrate
  1. Storage-Link erstellen:
php artisan storage:link
  1. Admin-Benutzer erstellen:
php artisan tinker
App\Models\User::create([
    'name' => 'Admin',
    'email' => 'admin@neonail.com',
    'password' => bcrypt('password')
]);
  1. Server starten:
php artisan serve

Verwendung

Admin-Zugang

Benutzer-Flow

  1. Anmeldung: Benutzer melden sich mit ihren Zugangsdaten an
  2. Sammlung anzeigen: Übersicht über alle eigenen Lacke
  3. Lack hinzufügen: Aus verfügbaren Lacken auswählen
  4. Hersteller verwalten: Hersteller erstellen und verwalten
  5. Suchen: Schnelle Suche nach Namen oder Nummer
  6. Bilder: Kamera-Upload für neue Lacke (Admin)

Admin-Flow

  1. Dashboard: Übersicht über Statistiken
  2. Benutzer verwalten: CRUD-Operationen für Benutzer
  3. Nagellacke verwalten: Vollständige Verwaltung der Lacke
  4. Hersteller verwalten: Verwaltung aller Hersteller
  5. Statistiken: Detaillierte Auswertungen

Mobile Optimierung

Die Anwendung ist speziell für mobile Geräte optimiert:

  • Touch-freundlich: Große Buttons und Touch-Targets
  • Kamera-Integration: Direkter Zugriff auf Handykamera
  • Responsive Design: Anpassung an verschiedene Bildschirmgrößen
  • Schnelle Navigation: Optimiert für schnelle Nutzung im Laden

Sicherheit

  • Authentifizierung: Laravel's eingebaute Auth-System
  • Admin-Middleware: Geschützte Admin-Bereiche
  • Bildvalidierung: Sichere Bild-Uploads
  • CSRF-Schutz: Automatischer CSRF-Schutz

Entwicklung

Hinzufügen neuer Features

  1. Migration erstellen: php artisan make:migration
  2. Model anpassen/erstellen
  3. Controller-Logik implementieren
  4. Views erstellen
  5. Routes definieren

Testing

php artisan test

Deployment

Produktionsumgebung

  1. .env für Produktion konfigurieren
  2. APP_ENV=production setzen
  3. APP_DEBUG=false setzen
  4. Datenbank-Migrationen ausführen
  5. Storage-Links erstellen

Empfohlene Server-Konfiguration

  • Webserver: Nginx oder Apache
  • PHP: 8.2+ mit erforderlichen Extensions
  • Datenbank: MySQL/PostgreSQL für Produktion
  • SSL: HTTPS für sichere Übertragung

Support

Bei Fragen oder Problemen:

  1. Issues im Repository erstellen
  2. Dokumentation prüfen
  3. Laravel-Dokumentation konsultieren

Lizenz

Dieses Projekt ist für interne Nutzung bestimmt.