Skip to content

Einrichten

Installation für die Entwicklung

  1. Klonen Sie das Repository:
bash
git clone https://github.com/Dino-Kupinic/Schulbuchaktion.git

Frontend

  1. Wechseln Sie in das Frontend-Verzeichnis
bash
cd frontend
  1. Pakete installieren
bash
pnpm i

TIPP

Wenn Sie pnpm nicht installiert haben, schauen Sie unter https://pnpm.io/installation nach, um es für Ihr Betriebssystem zu installieren.

  1. Umgebungsvariablen definieren

Erstellen Sie eine .env Datei und schauen Sie sich die .env.example an. Kopiere Sie den Inhalt in ihre .env und ersetzen Sie die folgenden Felder durch Ihre eigenen. Sie können auch einige bestehende Felder bearbeiten.

FeldBeschreibung
BACKEND_URLURL zum Symfony Backend Server (z.B. http://localhost:8000/api/v1 in dev)

Achten Sie darauf, dass das Suffix /api/v1 am Ende der URL enthalten ist. Diese Umgebungsvariable wird für die Basis-URL für Fetch-Requests verwendet.

  1. Starten Sie den Entwicklungs-Server
bash
pnpm run dev
  1. Gehe zu http://localhost:3000/

Wenn es funktioniert, super!

WARNUNG

Folgende Anweisung ist optional und kann übersprungen werden. Falls Sie langsames Internet haben, könnte es eine Weile dauern bis Sie Chrome, Safari und Firefox installiert haben (~150 MB)

  1. Installiere playwright browser
npx playwright install

Backend

  1. Wechseln Sie in das Backend-Verzeichnis
bash
cd ../backend

oder

bash
cd backend
  1. Umgebungsvariablen definieren

Erstellen Sie eine .env Datei und schauen Sie sich das .env.example an. Kopiere den Inhalt in deine .env und ersetze Sie die folgenden Felder durch Ihre eigenen. Sie können auch einige bestehende Felder bearbeiten.

FeldBeschreibung
APP_SECRETEin geheimer Schlüssel, der verwendet wird, um die Dienste Ihrer Anwendung zu sichern.
SECRET_PASSWORDDatenbank-Passwort
USERNAMEDatenbank-Benutzer
BIND_PORTDatenbank-Port
DATABASE_URLDer URL-String zu Ihrer Datenbank. Es werden die oben genannten Umgebungsvariablen verwendet.
LDAP_PORTDer Port Ihres LDAP-Servers.
LDAP_URLDie URL Ihres LDAP-Servers.
LDAP_BASEDie Basis Ihres LDAP-Servers. (dc=schulbuchaktion,dc=env)
ROLESZeichenkette getrennt mit Komma von allen Rollen (Standard 'SBA_ADMIN,SBA_LEHRER,SBA_FV,SBA_AV')
SBA_ADMINGruppennummer der Admin-Gruppe. (Standard 500)
SBA_LEHRERGruppennummer der Lehrergruppe. (Voreinstellung 501)
SBA_FVGruppennummer der Fachverantwortlichen-Gruppe. (Voreinstellung 502)
SBA_AVGruppennummer der Abteilungsvorstands-Gruppe. (Voreinstellung 503)
TOKEN_TIMEOUTWie lange ein Token gültig ist. (Voreinstellung 1800)
HOURS_AHEADZeitzone (Voreinstellung 2)
JWT_SECRET_ABSOLUT_PATHDer absolute Pfad zum privaten Schlüssel für das JWT.
CORS_ALLOW_ORIGINDie Herkunft, die auf die API zugreifen darf. (Standardwert localhost)
TOKEN_NAMEName des Cookies, der das Bearer-Token enthält (Standard BearerToken)
CADDY_MERCURE_JWT_SECRETWird verwendet, um JWTs sicher für die Client-Authentifizierung und -Autorisierung in einer Caddy-Server-Konfiguration mit Mercure zu signieren.
TRUSTED_PROXIESGibt die IP-Adressen oder Bereiche von Proxys an, denen vertraut wird, die clientbezogenen Header in einer Serverkonfiguration korrekt zu setzen.
TRUSTED_HOSTSGibt eine Liste von Hostnamen oder Mustern an, die als vertrauenswürdig gelten und Anfragen stellen dürfen.
CADDY_MERCURE_URLGibt die URL des von der Caddy-Server verwendeten Mercure-Hubs an.
CADDY_MERCURE_PUBLIC_URLGibt die öffentlich zugängliche URL des Mercure-Hubs an.
HTTP_PORTPort, der für HTTP-Verbindungen geöffnet wird. (Standard 80)
HTTPS_PORTPort, der für HTTPS-Verbindungen geöffnet wird. (Standard 443)
SHELL_VERBOSITYVerbositätsgrad von Server und Symfony. (Standard 0)

GEFAHR

Für das APP_SECRET schauen Sie bitte unter https://symfony.com/doc/current/reference/configuration/framework.html#secret für die neuesten Anforderungen.

  1. Starten Sie Docker
bash
docker compose up -d

TIPP

Wenn Sie Docker nicht installiert haben, schauen Sie unter https://www.docker.com/products/docker-desktop/, um es für Ihr Betriebssystem zu installieren.

  1. Installieren Sie die Abhängigkeiten
bash
composer update

GEFAHR

Wenn Sie Fehler erhalten, müssen Sie möglicherweise Module wie ldap oder zip in Ihrer php.ini-Datei auskommentieren. Composer wird Ihnen sagen was zu tun ist.

  1. Starten Sie den Entwicklungs-Server
bash
symfony server:start

WARNUNG

Wenn Sie symfony cli nicht installiert haben, schauen Sie unter https://symfony.com/download#step-1-install-symfony-cli nach, um es für Ihr Betriebssystem zu installieren.

  1. Rufen Sie http://127.0.0.1:8000 auf.

Docs

  1. Wechseln Sie in das Verzeichnis docs
bash
cd ../docs

oder

bash
cd docs
  1. Pakete installieren
bash
pnpm i

TIPP

Wenn Sie pnpm nicht installiert haben, schauen Sie unter https://pnpm.io/installation nach, um es für Ihr Betriebssystem zu installieren.

  1. Starten Sie den Entwicklungs-Server
bash
pnpm run docs:dev
  1. Gehen Sie zu http://localhost:5173/

Veröffentlicht unter der MIT Lizenz.