2026-05-23 01:18:44 +02:00
2026-05-23 01:18:44 +02:00
2026-05-23 01:18:44 +02:00
2026-05-23 01:18:44 +02:00
2026-05-23 01:18:44 +02:00
2026-05-22 23:51:20 +02:00
2026-05-23 01:18:44 +02:00
2026-05-22 23:51:20 +02:00

Webklar Kundenbereich

Kundenportal für Website-Projekte. Liest ausschließlich aus woms-database auf ticket.webklar.com (Ticketsystem). Es gibt keine eigene Portal-Datenbank mehr.

  • Keine Kundenanlage im Portal
  • Keine Admin-Funktionen
  • Login über Appwrite Auth (ein User pro Kunde, verknüpft über customers.appwriteUserId)

Verwaltung (Kunden, Passwörter, Projekte, Freischaltung): Ticketsystem.

Struktur

server/     Express-API, Appwrite, Gitea-Webhook
public/     Login & Dashboard (statisch)

Schnellstart

cp .env.example .env
# SESSION_SECRET (min. 32 Zeichen) und APPWRITE_API_KEY setzen
npm install
npm run dev

Öffnen: http://localhost:3000

API

Methode Pfad Beschreibung
POST /api/auth/login Appwrite Login + Portal-Prüfungen
POST /api/auth/logout Session beenden
GET /api/auth/me Aktueller Kunde
GET /api/projects Eigene websiteProjects
GET /api/features Eigene portalFeatures (enabled)
POST /webhook/gitea?token=… Gitea Push → Deploy + DB-Update

Appwrite

Schema und Collection-Anlage: siehe APPWRITE_SCHEMA.md.

Endpoint:  https://ticket.webklar.com/v1
Project:   6a1058610003c5a13a05
Database:  woms-database

Gitea / Preview

customerId wird im Ticketsystem am websiteProjects-Eintrag gesetzt, nicht im Webhook.

Deployment

npm start
# Reverse Proxy (nginx) → Port 3000
# PREVIEW_DEPLOY_ROOT für statische Vorschau-Dateien

Repositories

Description
No description provided
Readme 103 KiB
Languages
JavaScript 70%
CSS 23.3%
HTML 6.7%