feat: Phase 1 - Admin CMS with Links Management
Backend (updates-api): - Add links table schema with categories, visibility, sorting - Implement full CRUD API for links (/v1/links, /v1/admin/links) - Create admin UI for links management (/admin/links) - Add navigation between Updates and Links admin pages - Add comprehensive tests for links API (7/7 passing) Frontend (Next.js): - Create API client for fetching links from updates-api - Add LinksSection component with category icons - Integrate links into homepage (between Notes and CTA) - Add i18n entries for links section (DE/EN) - ISR caching: 60s for links, 5min for updates Features: - Links organized by category (external/internal/resource/tool) - Visibility toggle (show/hide on homepage) - Sort order support - Optional icons and descriptions - Responsive grid layout (1/2/3 columns) Testing: - All existing tests pass - New links API tests cover CRUD + validation - Production build successful Phase 1 Complete: Links management ready for deployment Next: Phase 2 (Markdown editor + media upload)
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
# ✅ W-Make Portfolio Deployment - Erfolgreich abgeschlossen
|
||||
|
||||
**Datum:** 2026-08-22
|
||||
**Deployed auf:** https://w-make.com
|
||||
**VPS:** free-warez.win (100.90.92.125)
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Deployment Status: ERFOLGREICH
|
||||
|
||||
### Validierung durchgeführt:
|
||||
|
||||
✅ **Health Endpoint:**
|
||||
```json
|
||||
{"status":"ok","timestamp":"2026-08-22T14:39:33.760Z","service":"w-make-portfolio"}
|
||||
```
|
||||
|
||||
✅ **Homepage (200 OK):**
|
||||
- URL: https://w-make.com
|
||||
- Status: HTTP/2 200
|
||||
- Content-Type: text/html; charset=utf-8
|
||||
|
||||
✅ **Content-Änderungen live:**
|
||||
- Hero H1: ✓ "Wenn Zahlen zwischen Schichten verschwinden..."
|
||||
- Demo-CTA: ✓ "W-Make Batch live erleben"
|
||||
- CTA-Box: ✓ "30-Min. Erstanalyse · Kostenlos"
|
||||
|
||||
✅ **Meta-Tags aktualisiert:**
|
||||
- og:title: "Jan Wagner · Software für industrielle Prozesse"
|
||||
- og:description: "Software für industrielle Prozesse, in denen Rezept, Material und Schichtübergabe lückenlos zusammengehören müssen..."
|
||||
- og:image: 1200x630 (https://w-make.com/de/opengraph-image)
|
||||
- twitter:card: "summary_large_image"
|
||||
|
||||
---
|
||||
|
||||
## 📦 Deployment Details
|
||||
|
||||
**Container:**
|
||||
- Name: `w-make-portfolio`
|
||||
- Image: `w-make-portfolio:latest` (neu gebaut)
|
||||
- Status: Up 47 seconds (zum Zeitpunkt der Validierung)
|
||||
- Port: 3000/tcp (hinter Traefik Reverse Proxy)
|
||||
|
||||
**Build:**
|
||||
- Next.js: 16.3.1 (Turbopack)
|
||||
- TypeScript: ✓ kompiliert in 2.3s
|
||||
- Pages: 34/34 generiert
|
||||
- Routes: 12 dynamische, 2 statische
|
||||
- Build-Zeit: ~8 Sekunden
|
||||
|
||||
**Deployment-Methode:**
|
||||
```bash
|
||||
# 1. Dateien synchronisiert via rsync
|
||||
rsync -avz /home/eldov-ryzen5/workspace/Coding/Web/w-make-com/ \
|
||||
free-warez.win:/opt/containers/w-make-portfolio/
|
||||
|
||||
# 2. Docker Image neu gebaut
|
||||
docker compose build w-make-portfolio
|
||||
|
||||
# 3. Container neu gestartet
|
||||
docker compose up -d w-make-portfolio
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Git-Commits deployed
|
||||
|
||||
```
|
||||
1f37edf - docs: add VPS deployment guide and script
|
||||
4717404 - feat: complete SEO and mobile Quick Wins
|
||||
7228fee - feat(homepage): improve hero copy and CTA conversion
|
||||
c822a11 - chore: add ES module type, health endpoint, and security docs
|
||||
```
|
||||
|
||||
**Dateien geändert:**
|
||||
- `src/app/[lang]/page.tsx` (Demo-CTA, CTA-Box)
|
||||
- `src/i18n/dictionaries.ts` (neue Copy)
|
||||
- `src/lib/metadata.ts` (Twitter Card, OG Images)
|
||||
- `src/app/[lang]/opengraph-image.tsx` (neuer Hero-Text)
|
||||
- `src/app/globals.css` (Mobile-Optimierungen)
|
||||
- `src/app/api/health/route.ts` (neu)
|
||||
- `package.json` ("type": "module")
|
||||
|
||||
---
|
||||
|
||||
## ✅ Validierungs-Checkliste
|
||||
|
||||
### Content
|
||||
- [x] Hero H1: "Wenn Zahlen zwischen Schichten verschwinden..."
|
||||
- [x] Aside: "Die Software kennt die Reihenfolge nicht."
|
||||
- [x] Aside erklärt Versagensmodell: "stille Korrekturen"
|
||||
- [x] Demo-CTA Section nach Hero vorhanden
|
||||
- [x] CTA-Box mit Benefit-Liste (3 Checkmarks)
|
||||
- [x] Button Hover-Effekt funktioniert
|
||||
|
||||
### Technical
|
||||
- [x] Health-Endpoint antwortet: /api/health
|
||||
- [x] Open Graph Tags vorhanden
|
||||
- [x] Twitter Card konfiguriert
|
||||
- [x] Meta Description aktualisiert
|
||||
- [x] OG Image mit neuem Text
|
||||
- [x] Container läuft stabil
|
||||
- [x] Next.js Build erfolgreich
|
||||
|
||||
### SEO Validation Tools (nächster Schritt)
|
||||
- [ ] https://www.opengraph.xyz/ → w-make.com testen
|
||||
- [ ] https://cards-dev.twitter.com/validator
|
||||
- [ ] Google PageSpeed Insights
|
||||
|
||||
---
|
||||
|
||||
## 📱 Mobile Testing (empfohlen)
|
||||
|
||||
```
|
||||
Chrome DevTools → Toggle Device Toolbar (Ctrl+Shift+M)
|
||||
|
||||
Zu testen:
|
||||
- iPhone SE (375px) - Touch-Targets mind. 44x44px
|
||||
- iPad (768px) - Typography skaliert
|
||||
- Desktop (1920px) - Voller Funktionsumfang
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📈 Erwartete Metriken (7 Tage)
|
||||
|
||||
| Metrik | Baseline | Ziel | Messung |
|
||||
|--------|----------|------|---------|
|
||||
| Bounce Rate | ? | -20% | Google Analytics |
|
||||
| Avg. Session | ? | +45s | " |
|
||||
| Demo-Klicks | 0% | 8-12% | batch.w-make.com Referrer |
|
||||
| Contact Form | ? | +25% | /kontakt Conversions |
|
||||
| Mobile Bounce | ? | -15% | GA Mobile Segment |
|
||||
|
||||
**Tracking einrichten:**
|
||||
1. Google Analytics Event: Demo-CTA Click
|
||||
2. Contact Form Submission
|
||||
3. Scroll Depth (Hero → CTA)
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Rollback (falls nötig)
|
||||
|
||||
```bash
|
||||
ssh free-warez.win
|
||||
cd /opt/containers/w-make-portfolio
|
||||
|
||||
# Zu vorherigem Commit
|
||||
git reset --hard 042ea88
|
||||
|
||||
# Container neu bauen
|
||||
docker compose build w-make-portfolio
|
||||
docker compose up -d w-make-portfolio
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Nächste Schritte
|
||||
|
||||
**Sofort:**
|
||||
1. ✅ Deployment abgeschlossen
|
||||
2. Meta-Tags in Validation-Tools prüfen
|
||||
3. Mobile Preview testen
|
||||
|
||||
**Diese Woche:**
|
||||
4. Analytics-Events einrichten
|
||||
5. Baseline-Metriken erfassen
|
||||
6. Testimonials sammeln (anonymisiert)
|
||||
|
||||
**Nächster Monat:**
|
||||
7. A/B-Test der Hero-Copy
|
||||
8. Video-Demo aufnehmen
|
||||
9. Social Proof Section hinzufügen
|
||||
|
||||
---
|
||||
|
||||
**Deployment durchgeführt von:** Jcode
|
||||
**Deployment-Zeitpunkt:** 2026-08-22 14:38 UTC
|
||||
**Build-Logs:** Container-Logs verfügbar via `docker logs w-make-portfolio`
|
||||
Reference in New Issue
Block a user