Eine moderne, DSGVO-konforme Next.js-Webapp für Content Creator Linus mit YouTube-Integration und vollständiger Containerisierung.
- Moderne UI/UX mit Atomic Design Pattern
- Dark/Light Mode mit localStorage
- DSGVO-konform mit Privacy-Modal und Datenschutz
- YouTube Integration mit Zustimmungsmanagement
- Contact Form mit SMTP
- Vollständig containerisiert
- CI/CD Pipeline mit GitHub Actions
- Responsive Design
- Framework: Next.js 16.1.1 (App Router)
- Language: TypeScript 5.x
- Styling: Tailwind CSS 3.x
- Package Manager: pnpm
- Container: Docker & Docker Compose
- CI/CD: GitHub Actions
linus-webapp/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ ├── components/ # React Components
│ │ ├── atoms/ # Kleine wiederverwendbare Komponenten
│ │ ├── molecules/ # Kombination aus Atoms
│ │ ├── organisms/ # Komplexe UI-Sektionen
│ │ ├── sections/ # Seitenabschnitte
│ │ └── ui/ # Basis UI-Komponenten
│ ├── globals.css # Globale Styles
│ ├── layout.tsx # Root Layout
│ └── page.tsx # Homepage
├── public/ # Statische Assets
├── .github/workflows/ # CI/CD Pipelines
├── docker-compose.yml # Produktions-Setup
├── docker-compose.local.yml # Lokale Entwicklung
├── Dockerfile # Container-Konfiguration
└── package.json # Dependencies & Scripts
git clone https://github.com/knoepsim/linus-webapp.git
cd linus-webapp
pnpm install
pnpm dev# Lokale Entwicklung
docker compose -f docker-compose.local.yml up -d --build
# Produktion
docker compose up -dErstelle .env.local für lokale Entwicklung:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
NEXT_TELEMETRY_DISABLED=1# TypeScript
pnpm tsc --noEmit
# ESLint
pnpm eslint . --ext .ts,.tsx,.js,.jsx
# Build
pnpm build
# Docker Validierung
docker compose config --quietBei Push zu main:
- Tests laufen
- Docker Image wird gebaut
- Zu GHCR gepusht
- Optional: Deployment über Webhook
docker run -d \
--name linus-webapp \
-p 3000:3000 \
-e SMTP_HOST=your-smtp \
-e SMTP_USER=your-user \
-e SMTP_PASS=your-pass \
ghcr.io/knoepsim/linus-webapp:latest- Privacy Modal für externe Inhalte
- localStorage für Präferenzen
- Privacy-freundliche YouTube-Einbettung
- Vollständige Datenschutzerklärung
- Sichere Contact Form
- Fork das Repository
- Branch erstellen:
git checkout -b feature/amazing-feature - Commits machen:
git commit -m 'Add amazing feature' - Push zum Branch:
git push origin feature/amazing-feature - Pull Request öffnen
MIT License - siehe LICENSE Datei.