Compare commits
3
Commits
3116696a79
...
8a0be322d2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a0be322d2 | ||
|
|
56064d672f | ||
|
|
a631b31341 |
@@ -49,3 +49,80 @@ Als Quelltext-Editor / IDE kommt VSCode zum Einsatz.
|
|||||||
|
|
||||||
### DBeaver
|
### DBeaver
|
||||||
Ist der Datenbank-Editor
|
Ist der Datenbank-Editor
|
||||||
|
|
||||||
|
## Technische Dokumentation
|
||||||
|
|
||||||
|
### 20.09.2026 Grundsätzliche technische Entscheidungen
|
||||||
|
#### Systeme:
|
||||||
|
- Programmiersprache : - GO
|
||||||
|
- Javascript
|
||||||
|
- SQL
|
||||||
|
- Datenbank: Postgresql
|
||||||
|
- Webtechnologie: HTMX
|
||||||
|
|
||||||
|
#### Grundlegende technische Entscheidungen
|
||||||
|
- Jedes relevante Objekt (z.B. Produkte) hat eine Darstellung als:
|
||||||
|
- Node (Raumdarstellung)
|
||||||
|
- Form (Darstellung des Objektes und Editiermöglichkeit) - List (Listen /Tabellensicht
|
||||||
|
- Alle Objekte werden in der API über ihre eindeutige ID angesprochen. Über die ID kann ich den Typ des Objektes herausfinden
|
||||||
|
- Objekte werden nur bei Bedarf aus der Datenbank geladen.
|
||||||
|
- Objekte werden nach dem Laden oder Anlegen gechached!
|
||||||
|
- Weboberflächen zur Pflege der Daten aber auch die Seiten zur Nutzung des CPQ müssen responsive sein!
|
||||||
|
- Nutzung des 12- Spalten loyouts!
|
||||||
|
- Alle Images haben einen Alternativen Text
|
||||||
|
- Struktur der Oberfläche und die Darstellung werden strikt getrennt (HTML + CSS)
|
||||||
|
- Die Entwicklung erfolgt über die Definition von Tickets
|
||||||
|
- Jedes Ticket verursacht ein Brauch und einen Merge!
|
||||||
|
|
||||||
|
### Open Source - Pakete
|
||||||
|
|
||||||
|
#### Go:
|
||||||
|
|
||||||
|
##### Viper
|
||||||
|
|
||||||
|
Viper dient zum Laden uns Auswerten von Config-Dateien. In diesem Case werden die HTTP-Servereinstellungen und die Datenbankverbindung ausgewertet.
|
||||||
|
|
||||||
|
````
|
||||||
|
go get github.com/spf13/viper
|
||||||
|
````
|
||||||
|
|
||||||
|
##### PostgreSQL
|
||||||
|
|
||||||
|
Die Datenbank des Systems ist in dem Datenbankmanagementsystem PostgreSQL abgelegt. Zum einen braucht es eine Installation des Systems, auf dem die Software Zugriff hat und zum anderen benötigt das System die entsprechenden PostgreSQL Treiber für Go.
|
||||||
|
|
||||||
|
````
|
||||||
|
go get github.com/lib/pq
|
||||||
|
````
|
||||||
|
|
||||||
|
##### Gin Gonic
|
||||||
|
|
||||||
|
Webserver Library zum Routing der API.
|
||||||
|
|
||||||
|
````
|
||||||
|
go get -u github.com/gin-gonic/gin
|
||||||
|
go get github.com/gin-contrib/cors
|
||||||
|
go get github.com/gin-contrib/sessions
|
||||||
|
````
|
||||||
|
|
||||||
|
##### Go Air
|
||||||
|
|
||||||
|
Go Air ist ein Live-Reload-Tool für Go-Anwendungen, das die Entwicklungsproduktivität erhöht.
|
||||||
|
|
||||||
|
````
|
||||||
|
go install github.com/air-verse/air@latest
|
||||||
|
export PATH="$PATH:$(go env GOPATH)/bin"
|
||||||
|
````
|
||||||
|
|
||||||
|
Den Export ggf. in der .bashrc oder .zshrc hinzufügen.
|
||||||
|
|
||||||
|
#### HTML Erweiterungen
|
||||||
|
|
||||||
|
ggf. später lokal runter laden ...
|
||||||
|
|
||||||
|
##### HTMX
|
||||||
|
|
||||||
|
HTMX ist eine JavaScript-Bibliothek, die es ermöglicht, HTML direkt über AJAX-Anfragen zu aktualisieren.
|
||||||
|
|
||||||
|
````
|
||||||
|
<script src="https://unpkg.com/htmx.org@1.9.2"></script>
|
||||||
|
````
|
||||||
|
|||||||
Reference in New Issue
Block a user