108 lines
1.8 KiB
Markdown
108 lines
1.8 KiB
Markdown
# Funktechnik Schubert Website
|
|
|
|
Eigenständige öffentliche Firmenwebsite für Funktechnik Schubert. Dieses Projekt ist nicht Olympus CRM und koppelt nicht direkt an Olympus.
|
|
|
|
## Technologie
|
|
|
|
- Next.js 16 App Router
|
|
- TypeScript strict
|
|
- Serverseitige API-Routen für Kontakt und Reparaturannahme
|
|
- Docker
|
|
- Nginx/Reverse-Proxy-fähig
|
|
- SEO Metadata, Sitemap und robots.txt
|
|
|
|
## Seiten
|
|
|
|
- `/` Startseite
|
|
- `/leistungen`
|
|
- `/funkgeraete-service`
|
|
- `/reparatur`
|
|
- `/ueber-uns`
|
|
- `/kontakt`
|
|
- `/impressum`
|
|
- `/datenschutz`
|
|
|
|
## Lokale Entwicklung
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Die Website läuft lokal unter:
|
|
|
|
```text
|
|
http://localhost:3010
|
|
```
|
|
|
|
## Checks
|
|
|
|
```bash
|
|
npm run lint
|
|
npx next build
|
|
```
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
docker compose build
|
|
docker compose up -d
|
|
```
|
|
|
|
Service:
|
|
|
|
```text
|
|
funktechnik-website
|
|
```
|
|
|
|
Port:
|
|
|
|
```text
|
|
3010:3010
|
|
```
|
|
|
|
## Umgebung
|
|
|
|
`.env.example` kopieren:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
Variablen:
|
|
|
|
- `NEXT_PUBLIC_SITE_URL`
|
|
- `OLYMPUS_INTAKE_API_URL`
|
|
- `OLYMPUS_INTAKE_API_TOKEN`
|
|
|
|
Die Olympus-Variablen sind nur für eine spätere serverseitige Integration vorbereitet. Sie werden nicht im Browser verwendet.
|
|
|
|
## API-Routen
|
|
|
|
- `POST /api/repair`
|
|
- `POST /api/contact`
|
|
|
|
Aktuell validieren die Routen serverseitig, geben klare JSON-Antworten zurück und schreiben nur technische Metadaten in Server-Logs. Es werden keine Nachrichteninhalte oder Tokens geloggt.
|
|
|
|
## Nginx
|
|
|
|
Siehe `nginx.example.conf`.
|
|
|
|
Beispiel-Domain:
|
|
|
|
```text
|
|
funktechnik-schubert.de
|
|
```
|
|
|
|
Produktiv HTTPS aktivieren, z. B. mit Certbot:
|
|
|
|
```bash
|
|
certbot --nginx -d funktechnik-schubert.de -d www.funktechnik-schubert.de
|
|
```
|
|
|
|
## Offene manuelle Punkte
|
|
|
|
- TODO: Rechtliche Angaben ergänzen
|
|
- Produktives Kontakt-/Mail-System anbinden
|
|
- Spätere Olympus-Reparaturannahme serverseitig anbinden
|
|
- Finale Domain und HTTPS-Konfiguration setzen
|