|
All checks were successful
Build and Deploy (rsync) / build-and-deploy (push) Successful in 16s
|
||
|---|---|---|
| .forgejo | ||
| content | ||
| docs | ||
| scripts | ||
| static | ||
| test_backups | ||
| tests | ||
| zgb-backend | ||
| zgb-data | ||
| .gitignore | ||
| .gitmodules | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| todo.md | ||
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/nachpublic/kopiert - Backend-Code aus
zgb-backend/nachpublic/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.jsonfür Seiten-Konfigurationglobals.jsonfü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)