Hier findet ihr den Quellcode zu unserer Homepage. Die Website wurde mit Next.js entwickelt und wird komplett statisch generiert. Die fertig generierte Website liegt in einem anderen Repository.
Dieses Projekt verwendet mise zur Verwaltung von Entwicklungs-Tools (Node.js, pnpm). Wenn mise installiert ist, werden die richtigen Versionen automatisch beim Öffnen des Verzeichnisses aktiviert (oder können mise mise install installiert werden).
Die Nutzung von mise muss ggf. mit mise trust erlaubt werden.
Zum generieren der Website werden git und pnpm benötigt. Sie kann mit den folgenden Befehlen erstellt werden.
# Repository klonen
git clone https://github.com/Linus-f/website-dpsg-wehr.git
# In Ordnder wechseln
cd website-dpsg-wehr
# Abhängigkeiten installieren
pnpm install
# Website generieren
pnpm exportDie generierte Website wird im Ordner out gespeichert. Zur Entwicklung kann ein lokaler server gestartet werden:
pnpm devDie Website ist dann unter http://localhost:3000 verfügbar. Falls einige Bilder nicht geladen werden können, müssen die optimierten Versionen erst mit pnpm export generiert werden.
Das Projekt verfügt über eine automatisierte Testsuite, die Unit-Tests, Komponenten-Tests und End-to-End (E2E) Tests umfasst.
# Unit- & Komponenten-Tests (Vitest) im Watch-Mode
pnpm test
# E2E-Tests (Playwright)
pnpm test:e2e
# E2E-Tests im interaktiven UI-Modus
pnpm test:e2e:ui
# Alle Tests einmalig ausführen
pnpm test:all# Testabdeckung (Coverage) anzeigen
pnpm test --coverage
# Playwright Test-Report öffnen
npx playwright show-report
# Lokale Test-Ergebnisse (Monocart) im Browser ansehen
pnpm test:reportDie Website generiert automatisch ICS-Kalenderdateien für Termine.
- Öffentliche Termine: Werden in
lib/events.public.tsgepflegt und sind im Repository enthalten. - Interne Termine: Können in einer lokalen Datei
lib/events.internal.tsdefiniert werden. Diese Datei wird von Git ignoriert (.gitignore).
Format für lib/events.internal.ts:
import { AppEvent } from '../types';
export const internalEvents: AppEvent[] = [
{
title: 'Leiterrunde',
start: '2024-01-01',
//optional: end: "2024-01-01"
},
];Die Kalender werden automatisch vor dem Build (pnpm build) generiert:
public/events.ics: Enthält nur öffentliche Termine.public/internal-events.ics: Enthält öffentliche und interne Termine (fallsevents.internal.tsexistiert).
Beide generierten .ics Dateien sind ebenfalls in .gitignore und werden nicht committed.
Der Quellcode dieses Projekts ist unter der MIT Lizenz veröffentlicht. Siehe LICENSE für Details.
Hinweis zum Inhalt:
Die Inhalte in den Ordnern content/ und public/ (Texte, Bilder, Grafiken) sind Eigentum der DPSG Wehr und unterliegen dem Urheberrecht. Sie sind nicht Teil der Open-Source-Lizenz und dürfen nicht ohne Genehmigung weiterverwendet werden.