//Cloudogu EcoSystem Docs

Entwicklung

Dieser Artikel beschreibt verschiedene Elemente, die für die Entwicklung benötigt werden. Die Baseline-Anwendung besteht sowohl aus einem Backend- als auch aus einem Frontend-Teil und benötigt weitere Dienste, wie Nexus.

Vorbereitung - Zugang zu externen Diensten

Das Backend ist auf andere Dienste - wie Nexus - angewiesen, die gestartet und konfiguriert werden müssen.

Diese Dienste können mit gestartet werden:

docker-compose up -d

Nexus ist nun unter localhost und dem in der docker-compose-Datei angegebenen Port erreichbar, z.B. unter http://localhost:8081/.

Das Passwort für einen ersten Nexus admin Login wird in einer Datei innerhalb des Docker Containers gespeichert und kann mit folgendem Befehl ausgelesen werden:

docker exec -it baseline_nexus_1 cat /nexus-data/admin.password

In Nexus muss ein Raw Repository mit einer Datei erstellt werden, die die project-list enthält.

Die baseline.yaml sollte die Konfiguration des Repositorys und die Admin-Anmeldedaten enthalten.

Verschiedene Optionen für die Entwicklung

Es gibt mehrere Optionen für die Entwicklung des Baseline-Dogus, wie im Folgenden beschrieben.

Getrenntes Backend und Frontend

Um bei der Entwicklung flexibler zu sein, kann das Frontend unabhängig vom Backend ausgeliefert werden.

Backend

Führen Sie einen der folgenden Befehle im Hauptverzeichnis dieses Repositorys aus, um das Backend (die API) zu starten

Backend-Server (stellt API bereit):

go run .

oder alternativ mit gesetzter Version:

go run -ldflags="-X 'main.Version=1.0.0'" .
Frontend

Die Benutzeroberfläche befindet sich im Unterverzeichnis 'ui'.

Führen Sie die folgenden Befehle aus dem Hauptverzeichnis dieses Repositorys aus, um das Frontend (die Benutzeroberfläche) zu starten:

cd ui
yarn install
yarn run start

Die URL für den Zugriff auf das Frontend wird nach dem Start im Terminal angezeigt.

Produktionsnah - Frontend wird aus dem Backend ausgeliefert

Für ein produktionsnahes Setup sollte das Frontend gebaut/gepackt werden und dann vom Backend ausgeliefert werden:

Führen Sie die folgenden Befehle aus dem Wurzelverzeichnis des Repositorys aus, um das Frontend zu bauen/packen:

cd ui
yarn install
yarn build

Danach liefert das Backend das Frontend aus. Führen Sie dazu den folgenden Befehl im Stammverzeichnis dieses Repositorys aus:

go run .

Das Frontend kann nun mit http://localhost:8080 aufgerufen werden.

Mocking API - nur UI ohne Backend

Alternativ kann die API auch gemockt werden, so dass das Backend nicht gestartet werden muss. Die Daten werden aus einer json-Datei gelesen.

Führen Sie die folgenden Befehle aus dem Hauptverzeichnis dieses Repositorys aus, um API-Mock (backend-mock) zu starten:

cd ui/api-mock
npm install -g json-server
json-server --watch db.json --p 8080 --routes routes.json

Die db.json enthält die API-Daten und kann bei Bedarf erweitert werden.

Um das Frontend zu starten, siehe Abschnitt Frontend