Skip to content

Linus-f/website-dpsg-wehr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

469 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Website der DPSG Wehr

Tests Next.js

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.

Entwicklung

Tools verwalten mit mise

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.

Generieren der Website

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 export

Die generierte Website wird im Ordner out gespeichert. Zur Entwicklung kann ein lokaler server gestartet werden:

pnpm dev

Die 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.

Testing

Das Projekt verfügt über eine automatisierte Testsuite, die Unit-Tests, Komponenten-Tests und End-to-End (E2E) Tests umfasst.

Tests ausführen

# 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

Reports & Abdeckung

# Testabdeckung (Coverage) anzeigen
pnpm test --coverage

# Playwright Test-Report öffnen
npx playwright show-report

# Lokale Test-Ergebnisse (Monocart) im Browser ansehen
pnpm test:report

Kalender & ICS Generierung

Die Website generiert automatisch ICS-Kalenderdateien für Termine.

  • Öffentliche Termine: Werden in lib/events.public.ts gepflegt und sind im Repository enthalten.
  • Interne Termine: Können in einer lokalen Datei lib/events.internal.ts definiert 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:

  1. public/events.ics: Enthält nur öffentliche Termine.
  2. public/internal-events.ics: Enthält öffentliche und interne Termine (falls events.internal.ts existiert).

Beide generierten .ics Dateien sind ebenfalls in .gitignore und werden nicht committed.

Lizenz

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.

About

Website der DPSG Wehr

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors