No description
  • TypeScript 94.6%
  • CSS 2.1%
  • HTML 1.6%
  • Dockerfile 1.2%
  • JavaScript 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alex Krein f79a407be2 Merge branch 'feature/design-optimierung-issue-2' into 'main'
Design-Optimierung: A11y, AI-Tell-Reduktion, Self-Hosted Fonts, Tailwind-Migration

Closes #2

See merge request techsolutions/landingpage!3
2026-06-16 10:33:39 +00:00
backend feat(privacy): Roboto self-hosten statt Google-Fonts-CDN 2026-06-09 23:57:58 +02:00
frontend refactor(ui): ContactDialog, Impressum und Datenschutz auf Tailwind migrieren 2026-06-10 00:08:15 +02:00
.env.example fix(ui): fix cors issue 2026-04-26 14:30:40 +02:00
.gitignore fix(security): CSP-Härtung, Permissions-Policy, Dependency-Updates 2026-06-09 22:44:49 +02:00
.gitlab-ci.yml fix(review): valides JSON-LD-Pricing, zentrale Geschäftsdaten, Node 22 2026-06-09 22:49:30 +02:00
CLAUDE.md feat: initiale Implementierung der Landing Page 2026-04-26 14:30:37 +02:00
docker-compose.override.yml feat: initiale Implementierung der Landing Page 2026-04-26 14:30:37 +02:00
docker-compose.prod.yml fix(ui): fix cors issue 2026-04-26 14:30:40 +02:00
docker-compose.testing.yml fix(ui): fix cors issue 2026-04-26 14:30:40 +02:00
docker-compose.yml feat: initiale Implementierung der Landing Page 2026-04-26 14:30:37 +02:00
Dockerfile fix(review): valides JSON-LD-Pricing, zentrale Geschäftsdaten, Node 22 2026-06-09 22:49:30 +02:00
README.md feat: initiale Implementierung der Landing Page 2026-04-26 14:30:37 +02:00

AK TechSolutions Landing Page

Produktionsreife Landing Page für AK TechSolutions - IT-Beratung für Privatpersonen.

🚀 Quick Start

Voraussetzungen

  • Node.js 20+
  • npm oder pnpm
  • Docker & Docker Compose (optional)

Lokale Entwicklung

# Umgebungsvariablen kopieren
cp .env.example .env

# Backend starten (Terminal 1)
cd backend
npm install
npm run dev

# Frontend starten (Terminal 2)
cd frontend
npm install
npm run dev

Die Anwendung ist dann unter http://localhost:5173 erreichbar.

Mit Docker Compose

docker compose up --build

📁 Projektstruktur

ak-techsolutions/
├── frontend/                    # React 18 + TypeScript + Vite + Tailwind v3
│   ├── src/
│   │   ├── components/          # Wiederverwendbare Komponenten
│   │   ├── pages/               # Seiten-Komponenten
│   │   ├── data/                # Statische Daten (Services, FAQs)
│   │   ├── types.ts             # TypeScript Typen
│   │   ├── App.tsx              # Haupt-App mit Routing
│   │   └── main.tsx             # Entry Point
│   ├── public/assets/           # Statische Assets (Bilder)
│   ├── tests/                   # Vitest Tests
│   └── package.json
│
├── backend/                     # Node.js 20 + Express + TypeScript
│   ├── src/
│   │   ├── index.ts             # Express App Setup
│   │   ├── routes/contact.ts    # Kontaktformular API
│   │   └── middleware/
│   │       ├── rateLimit.ts     # Rate Limiting
│   │       └── validate.ts      # Zod Validierung
│   ├── tests/                   # Jest Tests
│   └── package.json
│
├── Dockerfile                   # Multi-Stage Production Build
├── docker-compose.yml           # Production Docker Config
├── docker-compose.override.yml  # Development Docker Config
├── .gitlab-ci.yml               # CI/CD Pipeline
├── .env.example                 # Umgebungsvariablen Vorlage
├── README.md                    # Diese Datei
└── CLAUDE.md                    # Entwickler-Dokumentation

🔧 Umgebungsvariablen

Variable Beschreibung Default
NODE_ENV Umgebung (development/production) development
PORT Backend Port 3000
N8N_WEBHOOK_URL N8N Webhook URL für Kontaktformular -
FRONTEND_ORIGIN Erlaubte Frontend-Origin für CORS http://localhost:5173

🧪 Tests

Frontend Tests

cd frontend
npm run test           # Einmalig ausführen
npm run test:watch     # Watch Mode
npm run test:coverage  # Mit Coverage Report

Backend Tests

cd backend
npm run test           # Einmalig ausführen
npm run test:watch     # Watch Mode

🐳 Docker

Production Build

docker build -t ak-techsolutions/landingpage:latest .

Production Start

docker compose up -d

Development Start

docker compose -f docker-compose.yml -f docker-compose.override.yml up

🔄 GitLab CI/CD

Die Pipeline besteht aus folgenden Stages:

  1. lint - ESLint für Frontend und Backend
  2. test - Vitest (Frontend) und Jest (Backend) mit Coverage
  3. build - Docker Image bauen
  4. push - Image ins GitLab Registry pushen

Tags

Branch Tag
develop :develop, :{commit-sha}
main :{version}, :latest

🛡️ Security Features

  • Rate Limiting: 5 Anfragen pro 15 Minuten pro IP
  • Honeypot: Verstecktes Feld zur Bot-Erkennung
  • Zod Validierung: Server-seitige Eingabevalidierung
  • Helmet.js: Security HTTP Header
  • CORS: Nur erlaubte Origins
  • Payload Limit: Maximal 10kb pro Request

📝 Lizenz

© 2026 AK TechSolutions. Alle Rechte vorbehalten.