Entwicklungsumgebung

Voraussetzungen

Diese Anweisungen gehen davon aus, dass du BookWyrm mit Docker entwickelst. Du musst Docker und docker-compose installieren, um loszulegen.

Entwicklungsumgebung einrichten

  • Kopiere die der BookWyrm-Codebasis von GitHub. Du kannst einen Fork des Projekts erstellen und verwende dann git clone, um den Code auf deinen Computer herunterzuladen.
  • Gehe in das Verzeichnis, das den Code auf Ihrem Computer enthält. Du arbeitest von hier aus.
  • Richte deine Datei für Entwicklungsumgebungsvariablen durch Kopieren der Beispielumgebungsdatei (.env.example) in eine neue Datei namens .env ein. In der Kommandozeile kannst du das wie folgt tun:
cp .env.example .env
  • In .envändere DEBUG zu true
  • Optional kannst du einen Dienst wie ngrok verwenden, um eine Domain einzurichten und setze die DOMAIN-Variable in Ihrer .env-Datei auf den von ngrok-generierten Domainnamen.

  • Richte nginx für die Entwicklung ein, indem du die Entwicklerkonfigurationsdatei für nginx (nginx/development) in eine neue Datei mit dem Namen nginx/default.conf kopierst:

cp nginx/development nginx/default.conf
  • Starte die Applikation. Führe Folgendes über die Kommandozeile aus:
./bw-dev build            # Baut die Docker-Images
./bw-dev setup            # Initialisiert die Datenbank und führt die Migrationen aus
./bw-dev up               # Start die Docker-Container
  • Sobald die Erstellung abgeschlossen ist, kannst du auf die Instanz unter http://localhost:1333 zugreifen und einen Admin erstellen.

Wenn du neugierig bist: das ./bw-dev Kommando ist ein simples Shell-Script, das verschiedene Tools ansteuert: darüber hinaus könntest du es überspringen und direk docker-compose build oder docker-compose up laufen lassen, wenn du magst. ./bw-dev sammelt sie einfach an einem gemeinsamen Ort zur Bequemlichkeit. Führe es ohne Argumente aus, um eine Liste der verfügbaren Befehle zu erhalten, lese die Dokumentationsseite dafür oder öffne es und schaue dich um, um genau zu sehen, was jeder Befehl tut!

Modelle editieren oder erstellen

Wenn du ein Modell änderst oder erstellst, wird sich wahrscheinlich die Datenbankstruktur ändern. Damit diese Änderungen wirksam werden, musst du Djangos makemigrations-Befehl ausführen, um eine neue Django Migrationsdateizu erstellen und dann diese migrieren:

./bw-dev makemigrations
./bw-dev migrate

Statische Dateien editieren

Jedes Mal, wenn du CSS oder JavaScript bearbeitest, musst du Djangos collectstatic-Befehl erneut ausführen, damit deine Änderungen wirksam werden:

./bw-dev collectstatic

Wenn du yarn installierstt haben, kannst du yarn watch:static ausführen, um das vorherige Skript bei jeder Änderung automatisch im Verzeichnis bookwyrm/static auszuführen.