Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cardsplus/demoscs

Self-Contained System mit Spring-Boot und Svelte-UI
https://github.com/cardsplus/demoscs

asciidoctor cardsplus css gradle html jackson java javascript jpa lombok scm spring-boot spring-data-jpa spring-data-rest spring-rest-docs spring-webmvc svelte

Last synced: 1 day ago
JSON representation

Self-Contained System mit Spring-Boot und Svelte-UI

Awesome Lists containing this project

README

        

:icons: font
:experimental: true
= README

== Module

=== app/backend-api

Datenmodell für das Backend.

https://projectlombok.org/

https://github.com/FasterXML/jackson-docs

=== app/backend-data

REST-API für das Backend.

https://spring.io/projects/spring-framework

https://spring.io/projects/spring-restdocs

https://spring.io/projects/spring-data-jpa

https://spring.io/projects/spring-data-rest

https://docs.liquibase.com

=== app/backend-test

Test-Support für das Backend.

=== app/server

Spring-Boot-Server mit einer HSQL-Datenbank.

https://spring.io/projects/spring-boot

http://hsqldb.org

=== app/client

Svelte-Client mit TailwindCSS.

https://svelte.dev

https://tailwindcss.com

https://visionmedia.github.io/page.js

https://vitejs.dev

=== app/deploy

Deployment in einem Kubernetes-Cluster.

https://kubernetes.io

https://github.com/kubernetes/kubectl

https://github.com/kubernetes/ingress-nginx

https://helm.sh

== Häufig gestellte Fragen

=== Code bauen und testen

[source, gradle]
----
./gradlew clean build
----

=== Code formatieren

[source, gradle]
----
./gradlew spotlessApply
----

=== Dokumentation bauen

[source, gradle]
----
./gradlew asciidoctor
----

Die Dokumentation befindet sich im `pages`-Ordner.

=== Server lokal starten

[source, gradle]
----
./gradlew bootRun
----

Der Befehl startet den Server im Vordergrund.
Er ist im Browser unter `localhost:8080` erreichbar.
Er muss mit `Ctrl-C` beendet werden.

Mit der Umgebungsvariable `LOGGING_LEVEL_ORG_HIBERNATE_TYPE` kann die Ausgabe von Typinformationen gesteuert werden.
Mit dem Wert `TRACE` werden bspw. die aktuellen Parameter von Statements ausgegeben.

Mit der Umgebungsvariable `LOGGING_LEVEL_ORG_HIBERNATE_STAT` kann die Ausgabe von Statistiken gesteuert werden.
Mit dem Wert `DEBUG` werden bspw. die Kennzahlen von Statements ausgegeben.

=== Client lokal starten

[source, npm]
----
npm --prefix app/client run dev
----

Der Befehl startet den Client im Vordergrund.
Er ist im Browser unter `localhost:5000` erreichbar.
Er muss mit `Ctrl-C` beendet werden.

=== Docker-Registry einrichten

Siehe https://www.docker.com/products/docker-desktop/

Siehe https://rancherdesktop.io/

=== Docker-Images bauen und starten

[source, gradle]
----
./gradlew composeUp
----

Client und Server werden mit `docker compose` installiert und im Hintergrund gestartet.
Der Server ist im Browser unter `localhost:8080` erreichbar.
Der Client ist im Browser unter `localhost:5000` erreichbar.

=== Docker-Images entfernen

[source, gradle]
----
./gradlew composeDown
----

Client und Server werden mit `docker compose` gestoppt und entfernt.

=== Kubernetes-Cluster einrichten

Siehe https://www.docker.com/products/docker-desktop/

Siehe https://rancherdesktop.io/

Siehe https://k3s.io/

=== Kubernetes-Ingress installieren

[source, gradle]
----
./gradlew installIngress
----

Der Ingress-Service wird mit `helm` installiert und im Hintergrund gestartet.

=== Kubernetes-Ingress entfernen

[source, gradle]
----
./gradlew uninstallIngress
----

Der Ingress-Service wird mit `helm` gestoppt und entfernt.

=== Kubernetes-Deployment installieren

[source, gradle]
----
./gradlew install
----

Docker-Images für die Anwendung werden aktualisiert.
Die Anwendung wird mit `helm` installiert und im Hintergrund gestartet.
Sie ist im Browser unter `localhost` erreichbar.

=== Kubernetes-Deployment entfernen

[source, gradle]
----
./gradlew uninstall
----

Die Anwendung wird mit `helm` gestoppt und entfernt.