# qivip-Projektanleitung ## Inhaltsverzeichnis 1. [Initialisierung des Projekts](#initialisierung-des-projekts) 2. [Starten des Servers](#starten-des-servers) 3. [Superuser erstellen](#superuser-erstellen) 4. [Tailwind-Nutzung](#tailwind-nutzung) 5. [Issue - Merge Request - Merge](#issue-mergerequest-merge) ## Initialisierung des Projekts Um das Projekt erfolgreich zu starten, folge diesen Schritten: 1. Einen SSH-Key erstellen und den öffentlichen Schlüssel bei **Edugit** hinterlegen. 2. Das Repository klonen: ```sh git clone ``` 3. In den `qivip`-Ordner wechseln: ```sh cd qivip ``` 4. Eine virtuelle Umgebung namens `.venv` erstellen: ```sh python3 -m venv .venv ``` 5. Die virtuelle Umgebung aktivieren: - **Unter Linux:** ```sh source .venv/bin/activate ``` - **Unter Windows (cmd):** ```sh .venv\Scripts\activate ``` 6. Die benötigten Abhängigkeiten installieren: ```sh pip install -r requirements.txt ``` 7. Die Datenbank migrieren: ```sh python3 core/manage.py migrate ``` ## Starten des Servers ### Entwicklungsserver starten Um den Server zu starten, verwende einen der folgenden Befehle: - Standardport (8000): ```sh python3 core/manage.py runserver ``` - Bestimmten Port (z. B. 9000): ```sh python3 core/manage.py runserver 9000 ``` Damit ist das Projekt erfolgreich eingerichtet und der Server kann gestartet werden! ## Superuser erstellen Ein Superuser wird benötigt, um sich im Admin-Bereich der Anwendung anzumelden. Um einen Superuser zu erstellen, führe folgenden Befehl aus: ```sh python3 core/manage.py createsuperuser ``` Gib anschließend die geforderten Daten ein (Benutzername, E-Mail, Passwort). Nach erfolgreicher Erstellung kannst du dich mit diesen Zugangsdaten im Admin-Bereich und in der Accounts-App der Anwendung anmelden. ## Tailwind-Nutzung ### Installation TailwindCSS kann auf zwei Wege installiert werden: - Mit der [Binärdatei](https://github.com/tailwindlabs/tailwindcss/releases/latest) - Mit NPM: ```sh npm install tailwindcss @tailwindcss/cli ``` ### Datei generieren ```sh # Bei Verwendung der Binärdatei: tailwindcss -i -o --watch --minify # Bei Verwendung von NPM: npx @tailwindcss/cli -i -o --watch --minify ``` - INPUT-DATEI: CSS Datei, welche die Einbindung und Konfiguration von Tailwind enthält - OUTPUT-DATEI: CSS Datei, die in den Seiten eingebunden wird - --watch: Änderungen im aktuellen Verzeichnis erkennen und Output neugenerieren - --minify: Output Datei so klein wie möglich halten **Beispiel:** ```sh # unter Linux mit Tailwind Binärdatei: tailwindcss -i core/static/homepage/t-input.css -o core/static/homepage/t-style.css --watch --minify # unter Windows mit NPM: npx @tailwindcss/cli -i .\core\static\homepage\t-input.css -o .\core\static\homepage\t-style.css --watch --minify ``` ## Issue - Merge Request - Merge Hier der vereinbarte Arbeitsablauf: 1. Issue erstellen - das geht am einfachsten über die Webseite. Der Titel beschreibt kurz und klar, was angestrebt wird. 2. Merge Request anlegen - dadurch wird der Bransch automatisch angelegt. Dieser kann mit `git pull` geholt und mit `git checkout ` bearbeitet werden. 3. Nach dem Hochladen kann der Merge in den Master durchgeführt werden.