Website der Zwergenbörse https://doberaner-zwergenboerse.de
Find a file
Ralf Warmuth 9ec698a0d1
All checks were successful
Build and Deploy (rsync) / build-and-deploy (push) Successful in 16s
Anmeldebestätigung und Konfiguration aktualisiert
2026-01-11 09:46:59 +01:00
.forgejo feat: add mail queue cron (registration_number) 2026-01-08 22:55:28 +01:00
content Anmeldebestätigung und Konfiguration aktualisiert 2026-01-11 09:46:59 +01:00
docs Aktualisierungen: Tests, Admin-Interface, ConfigRepository und Dokumentation 2026-01-10 15:55:29 +01:00
scripts Aktualisierungen: Tests, Admin-Interface, ConfigRepository und Dokumentation 2026-01-10 15:55:29 +01:00
static Anmeldebestätigung und Konfiguration aktualisiert 2026-01-11 09:46:59 +01:00
test_backups Sicherheit: Sensible Daten entfernt (Backup-Passwort, Server-Details anonymisiert) 2026-01-09 22:51:09 +01:00
tests Aktualisierungen: Tests, Admin-Interface, ConfigRepository und Dokumentation 2026-01-10 15:55:29 +01:00
zgb-backend Aktualisierungen: Tests, Admin-Interface, ConfigRepository und Dokumentation 2026-01-10 15:55:29 +01:00
zgb-data fix: harden data htaccess without forbidden directives 2026-01-07 22:45:38 +01:00
.gitignore chore: cookies.txt zu .gitignore hinzufügen 2026-01-06 16:13:24 +01:00
.gitmodules removed submodule 2025-12-05 22:16:39 +01:00
package-lock.json Add package-lock.json to repository 2026-01-04 18:36:07 +01:00
package.json refactor: Anmeldung in korrekte Build-Pipeline integriert 2025-10-01 23:09:10 +02:00
README.md security: harden sessions and rate-limit admin password reset 2026-01-08 00:16:14 +01:00
todo.md Aktualisierungen: Tests, Admin-Interface, ConfigRepository und Dokumentation 2026-01-10 15:55:29 +01:00

Doberaner Zwergen-Börse Website

Website für den Kinder-Flohmarkt in Bad Doberan.

Projektstruktur

zgb/
├── content/          # Inhalte (Markdown/HTML) und Konfiguration
├── static/           # Statische Dateien (Assets, PHP-Dateien)
├── zgb-backend/      # PHP-Backend (Models, Repositories, Services)
├── zgb-data/         # Datenbank-Verzeichnis (optional, wird nach public/data/ kopiert)
├── scripts/          # Build-Skripte
└── public/           # Build-Ausgabe (wird generiert, nicht versioniert)

Voraussetzungen

  • Node.js (für Build-Prozess)
  • PHP (für Backend)
  • SQLite (für Datenbank)

Installation

# Dependencies installieren
npm install

Build-Prozess

Das Projekt verwendet einen Build-Prozess, der:

  • Markdown/HTML-Seiten aus content/ generiert
  • Statische Assets aus static/ nach public/ kopiert
  • Backend-Code aus zgb-backend/ nach public/backend/ kopiert
  • Datenbank-Verzeichnis nach public/data/ kopiert

Build ausführen

# Mit npm (benötigt cross-env)
npm run build

# Oder direkt mit Node.js
NODE_NO_WARNINGS=1 node scripts/build.mjs

Build bereinigen

npm run clean

Wichtige Hinweise

Build-Artefakte

Das public/ Verzeichnis enthält Build-Artefakte und wird nicht versioniert (siehe .gitignore). Es wird beim Build-Prozess generiert.

Datenbank

  • Die SQLite-Datenbank wird automatisch beim ersten Zugriff erstellt
  • Speicherort: public/data/zwergenboerse.db
  • Das Verzeichnis public/data/ muss beschreibbar sein (chmod 755/775)

Server-Berechtigungen

Nach dem Deployment müssen folgende Berechtigungen gesetzt werden:

  • public/data/ muss beschreibbar sein (chmod 755 oder 775)

Admin-Zugang

  • Admin-Login: /backend/web/admin_login.php
  • Passwort vergessen: Über den Button „Passwort vergessen?“ wird ein neues Admin-Passwort an die in der Config hinterlegte Organisator-E-Mail gesendet.

Testen außerhalb des Zeitraums

Das Anmeldeformular ist absichtlich nur im konfigurierten Zeitraum verfügbar (startDate/endDate). Wenn du außerhalb des Zeitraums testen möchtest, passe die Config-Daten im Admin-Bereich entsprechend an.

Entwicklung

Dateien bearbeiten

  • Inhalte: content/ Verzeichnis
    • Markdown-Dateien für Seiten
    • pages.json für Seiten-Konfiguration
    • globals.json für globale Einstellungen
  • Backend: zgb-backend/ Verzeichnis
  • Statische Assets: static/ Verzeichnis

Nach Änderungen

Nach Änderungen am Code oder Inhalten muss der Build-Prozess erneut ausgeführt werden:

npm run build

Deployment

Das Deployment erfolgt automatisch bei Push auf die entsprechenden Remotes (server/test).

Wichtig: Vor dem Deployment muss der Build-Prozess ausgeführt werden, damit public/ aktualisiert wird.

Technologie-Stack

  • Frontend: Statische HTML-Seiten (generiert aus Markdown/HTML)
  • Backend: PHP mit SQLite
  • Build-Tool: Node.js (markdown-it für Markdown-Verarbeitung)

Bekannte Einschränkungen

  • Mail-System nutzt PHP mail() Funktion (sendmail/postfix muss auf Server installiert sein)
  • Build kopiert alle Dateien (noch keine inkrementelle Optimierung)