Skip to content
Snippets Groups Projects
README.md 1.65 KiB
Newer Older
Cornspies's avatar
Cornspies committed
Proof of Concept eines Textgenerators für Anträge, Anordnungen und Widersprüche im Straßenverkehrswesen.

Es handelt sich um eine Webanwendung, die mithilfe von Golang, HTML, CSS und Javascript entwickelt wurde.
Als Datenbanksystem wird SQLITE verwendet, um ein einfaches aufsetzen und mögliche Portabilität zu gewährleisten.
Die Datenbank sollte aber so weit abstrahiert sein, dass ein wechseln des Datenbanksystems ohne große Probleme möglich ist.

Dateistruktur:
- dokumente: Ablageort für vorerstellte Dokumente, die zum Ausdruck angeboten werden
- internal: Die internen Systeme
    -- database: allgemeine Datenbankfunktionalitäten, sowie ein Installationsscript für die Datenbank
    -- generator: Das Herzstück des Systems. Hier werden PDFs generiert, die notwendigen Ausgaben für die Darstellung auf der Website erstellt
                  und Daten aus der Datenbank ausgelesen
- web: Verzeichnis für statische Dateien: css, js und html templates
- main.db: Die Hauptdatenbank, die mit einem kleinen Datensatz befüllt ist
- main.go: Die Hauptdatei des Systems, hier wird der http server gemanaged und das routing übernommen

INSTALLATIONSANLEITUNG:
Für die Installation werden zwei Dinge benötigt:
- Golang 1.23+
- GCC 12+ (durch PATH erreichbar)

Schritte:

1. CGO für Go aktivieren:
`go env -w CGO_ENABLED=1`

2. Das Projekt builden:
`go build`

3. Das Projekt starten:
`./bachelor`

HINWEIS: Da für den Betrieb der Port 80 verwendet wird, muss das Programm auf Linux mit Administratorrechten gestartet werden, also:
`sudo ./bachelor`

HINWEIS: Das erste builden kann einige wenige Minuten dauern, da hier das Package sqlite3 einmal komplett komppiliert wird.