b2in/dev/LOCAL-DEVELOPMENT.md
2025-10-20 17:50:35 +02:00

191 lines
4.2 KiB
Markdown

# Lokale Entwicklung - Domain-Setup
## 🚀 Schnellstart ohne Domain-Konfiguration
Das System unterstützt mehrere Wege, um die verschiedenen Themes zu testen:
### 1. **URL-Parameter (Empfohlen für Testing)**
```
http://localhost:8000/theme-demo?theme=b2in
http://localhost:8000/theme-demo?theme=b2a
http://localhost:8000/theme-demo?theme=stileigentum
http://localhost:8000/theme-demo?theme=style2own
```
### 2. **Pfad-basiert (Für lokale Entwicklung)**
```
http://localhost:8000/b2in/
http://localhost:8000/b2a/
http://localhost:8000/stileigentum/
http://localhost:8000/style2own/
```
### 3. **Echte Domains (Für Produktion)**
## 🔧 Domain-Setup für lokale Entwicklung
### Option A: Hosts-Datei bearbeiten
Fügen Sie folgende Zeilen zu Ihrer `hosts`-Datei hinzu:
**Windows:** `C:\Windows\System32\drivers\etc\hosts`
**macOS/Linux:** `/etc/hosts`
```
127.0.0.1 b2in.test
127.0.0.1 b2a.test
127.0.0.1 stileigentum.test
127.0.0.1 style2own.test
127.0.0.1 portal.b2in.test
```
### Option B: Laravel Valet (macOS)
```bash
valet link b2in
valet link b2a
valet link stileigentum
valet link style2own
```
### Option C: Docker mit nginx
```yaml
# docker-compose.yml
version: '3.8'
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- app
app:
build: .
volumes:
- .:/var/www/html
```
## 🌐 Verfügbare URLs
Nach dem Domain-Setup funktionieren folgende URLs:
### **B2IN Theme (Anthracite + Dynamic Blue)**
- https://b2in.test/
- https://b2in.test/about
- https://b2in.test/partner
- https://b2in.test/theme-demo
### **B2A Theme (Azur Blue + Liberty Red)**
- https://b2a.test/
- https://b2a.test/about
- https://b2a.test/partner
- https://b2a.test/theme-demo
### **Stileigentum Theme (Style Blue + Style Sun)**
- https://stileigentum.test/
- https://stileigentum.test/about
- https://stileigentum.test/partner
- https://stileigentum.test/theme-demo
### **Style2own Theme (Imperial Blue + Sand Gold)**
- https://style2own.test/
- https://style2own.test/about
- https://style2own.test/partner
- https://style2own.test/theme-demo
## 🎨 Theme-Testing
### Demo-Seite verwenden
Besuchen Sie `/theme-demo` auf jeder Domain oder verwenden Sie URL-Parameter:
```
http://localhost:8000/theme-demo?theme=b2in
```
Die Demo-Seite zeigt:
- ✅ Aktuelle Domain-Konfiguration
- ✅ Logo-Demo (positiv/negativ)
- ✅ Farb-Demo (Primary/Secondary/Accent)
- ✅ Button-Demo mit Hover-Effekten
- ✅ Theme-Switching-Links
## 🔍 Troubleshooting
### Domains funktionieren nicht
1. **Hosts-Datei prüfen:** Stellen Sie sicher, dass die Domains in der hosts-Datei stehen
2. **DNS-Cache leeren:**
- Windows: `ipconfig /flushdns`
- macOS: `sudo dscacheutil -flushcache`
- Linux: `sudo systemctl restart systemd-resolved`
### Themes werden nicht geladen
1. **Vite-Assets kompilieren:**
```bash
npm run build
```
2. **Cache leeren:**
```bash
php artisan cache:clear
php artisan config:clear
php artisan view:clear
```
### Logos werden nicht angezeigt
1. **Logo-Pfade prüfen:** Überprüfen Sie `public/img/logos/`
2. **Dateiberechtigungen:** Stellen Sie sicher, dass die Dateien lesbar sind
## 📝 Entwicklungstipps
### Theme-Switching testen
```bash
# Alle Themes schnell testen
curl -H "Host: b2in.test" http://localhost:8000/
curl -H "Host: b2a.test" http://localhost:8000/
curl -H "Host: stileigentum.test" http://localhost:8000/
curl -H "Host: style2own.test" http://localhost:8000/
```
### Assets kompilieren
```bash
# Für alle Themes
npm run build
# Für spezifisches Theme (falls konfiguriert)
npm run build:b2in
npm run build:b2a
npm run build:stileigentum
npm run build:style2own
```
### Debugging
```bash
# Theme-Konfiguration anzeigen
php artisan tinker
>>> config('app.theme')
>>> config('domains.domains.b2in')
```
## 🚀 Produktions-Deployment
Für die Produktion müssen Sie:
1. **Domain-DNS konfigurieren**
2. **SSL-Zertifikate einrichten**
3. **Vite-Assets für alle Themes kompilieren**
4. **Umgebungsvariablen setzen**
```bash
# Produktions-Build
npm run build
# Alle Theme-Assets kompilieren
npm run build:b2in
npm run build:b2a
npm run build:stileigentum
npm run build:style2own
```