- Ausleihstatus in Echtzeit
- Benutzerkonten
- Mehrere Berechtigungsebenen
- Suchfunktion
- Modernes, schlichtes Design
Changelog
Handbuch
Installation
Kleinere Verbesserungen.
Module aktualisiert, um Sicherheitslücken zu schließen.
Die Startseite enthält nun einen Link zum GitHub-Repository und ein Datum der letzten Aktualisierung.
Neues Feature: Die Suchfunktion unterstützt nun die direkte Suche eines Begriffs in einer bestimmten Kategorie. Beispielsweise per Link.
Dies ist die Startseite.
Wenn ihr schon einen Account habt, könnt ihr euch auf dieser Seite mit eurem Benutzernamen oder eurer Email und Passwort einloggen. Wenn ihr euer Passwort vergessen habt, klickt den Link "Passwort vergessen ?" unten links. Zum Registrieren öffnet den Link "Registrieren" unten rechts.
Hier seht ihr das Registrierungsformular.
Füllt es mit eurer iServ-Emailadresse und Passwort aus und ihr seid startklar.
Wenn ihr euch erfolgreich registriert habt, seht ihr diese Info und könnt euch mit eurem angezeigten Benutzernamen oder eurer Email einloggen. Der Benutzername wird klein geschrieben und ist in der Regel euer Vorname und Nachname getrennt durch einen Punkt, so wie in eurer iServ-Email.
Das ist das Dashboard, wo ihr die Status von ausgelaufenden Ausleihen und bald auslaufenden Ausleihen sehen könnt. Für die Zukunft ist noch eine Funktion zum halbautomatischen Senden von Emails an Personen mit ausgelaufenden und bald auslaufenden Ausleihen geplant. Darunter habt ihr eine Suchfunktion, womit ihr nach allem suchen könnt, sei es ein Buchname, Autorname, Genre oder ISBN. Die Tabelle ist eine zufällige Auswahl an Büchern, die als Anregung oder Inspiration dienen soll. Über den Button "Alle Bücher" werdet ihr zu einer Seite weitergeleitet, die euch alle eingetragenen Bücher anzeigt.
Eine Sidebar zur Navigation zwischen den Bereichen könnt ihr mit den zwei Strichen oben links in der Ecke ausklappen. Dort seht ihr dann im Optimalfall euer Profilbild, Namen und Links zu den verschiedenen Bereichen.
Zum Suchen tippt ihr einen Begriff in die Suchleiste und klickt auf die jeweilige gewünschte Suchkategorie.
Die Tabelle mit allen Einträgen zeigt euch verschiedene Informationen auf einen Blick. Beispielsweise ob ein Buch zur Zeit verfügbar ist, durch einen grünen oder roten Kreis für verfügbar oder nicht verfügbar. Wenn ihr auf den Buchnamen klickt, werdet ihr zur Buch-eigenen Seite weitergeleitet, zu der ich gleich komme. Wenn ihr jedoch auf einen Link in der Spalte "Genre" oder "Autor" klickt, werdet ihr zur Suche weitergeleitet, die euch alle Bücher mit dieser Eigenschaft liefert.
So sieht eine Buchseite aus. Hier könnt ihr mit dem Stift oben rechts Eigenschaften eines Buches bearbeiten oder - wie in diesem Fall - ergänzen. Wenn ein Buch verfügbar ist, also wenn weniger Exemplare ausgeliehen wurden als eingetragen sind, hat das Cover eine grüne Umrandung. Unterhalb seht ihr die Ausleihhistorie des Buches, also von wem aus welcher Klasse das Buch von wann bis wann ausgeliehen wurde.
Um ein Buch an jemanden auszuleihen, gebt in die Felder Name und Klasse der Person ein und klickt auf ausleihen. Das angezeigte Datum ist immer das Aktuelle, kann aber auch geändert werden, falls im Nachhinein Einträge angelegt werden.
Wenn ein Buch also ausgeliehen wurde und nicht mehr verfügbar ist, sieht die Seite so aus. In der Ausleihhistorie ist nun eingetragen, was ihr zuvor eingegeben habt. Mit dem eingekreisten Kreuz könnt ihr die Ausleihe beenden, wenn das Buch zurückgegeben wurde. Gut zu wissen ist hierbei, dass der Status in Echtzeit mit allen Geräten, die dieses Buch anschauen synchronisiert wird, sodass es nicht vorkommen kann, dass ihr ein Buch verleiht, dass kurz zuvor durch jemand anders verliehen wurde. Hilfreich ist das auch, wenn man mit mehreren Leuten viele Bücher auf einmal eintragen möchte.
Hier könnt ihr neue Bücher eintragen. Ihr müsst alles ausfüllen, bis auf die ISBN, die ist optional. Anschließend "Hinzufügen" klicken. Wenn ihr ein Buch hinzufügen möchtet, was schon vorhanden ist, also zum Beispiel ein zweites "Die Drei ??? - Geisterinsel", dann tut das über die bucheigene Seite, dort könnt ihr die Anzahl des Büches anpassen.
Hier seht ihr alle registrierten Benutzer und könnt ihnen den Zugriff gestatten oder verweigern. Dies wird durch die Regler neben "Manager" kontrolliert. Standardmäßig haben neu registrierte Benutzer die Rolle "Manager" nicht, das kann aber durch einen Klick geändert werden.
In den Einstellungen könnt ihr eurer Passwort ändern und ein Profilbild festlegen.
Abmelden könnt ihr euch durch diesen Button oben rechts in der Ecke.
Die Tour durch die App endet hier.
Das Ziel dieser Anleitung ist es, alle Programme so zu installieren und einzustellen, dass die Software autark läuft.
Konkret heißt das, dass im Falle eines Neustarts die Programme von selbst gestartet werden und kein weiterer Benutzereingriff notwendig ist.
Für diese Anleitung nutze ich Ubuntu Server 20.04 als Betriebssystem.
Drei Programme werden benötigt:
- Git
- MongoDB
- Docker
- Docker Compose
Nutzen Sie sudo apt update && sudo apt upgrade
um sich zu vergewissern, dass Paketlisten und Pakete auf dem neuesten Stand sind.
Führen Sie sudo apt install docker
aus.
Führen Sie sudo apt install docker-compose
aus.
Befolgen Sie diese Anleitung.
Führen Sie git clone https://github.com/KnechtNoobrecht/gt-db_public.git
in einem Verzeichnis Ihrer Wahl aus.
Navigieren Sie in das Verzeichnis, in das Sie den Quellcode geklont haben.
Öffnen Sie den Ordner gt-db_public
.
Erstellen Sie eine .env
-Datei mit einem Text-Editor Ihrer Wahl.
Ein Beispiel: Führen Sie nano .env
aus.
Anschließend erstellen Sie vier Einträge.
-
DBPASSWORDLOCAL
Dies ist das Passwort mit dem sich die Webapp zur Datenbank verbindet. Sie können es selbst wählen, verwenden Sie jedoch ausschließlich alphanumerische Zeichen.Beispiel:
DBPASSWORDLOCAL="A6yzNShCTCe8mzVP"
-
DBUSER
Dieser Eintrag muss zwingend wie folgt sein:DBUSER="superuser"
-
IPADDRESS
Die IP-Addresse, unter der die Datenbank läuft, zu der sich die Webapp verbindetBeispiel:
IPADDRESS="localhost"
-
SRVPORT
Der Port unter dem der Webserver läuft. Zu Testzwecken empfehle ich, einen Port zu wählen, der nicht80
oder443
ist, da Linux diese Standardmäßig blockiert, beziehungsweise Adminrechte erfordern, was aber nicht praktikabel ist.Beispiel:
SRVPORT="4434"
-
COOKIESECRET
Ein Passwort, mit dem die Cookies verschlüsselt werden.Beispiel:
COOKIESECRET="durchEinSicheresPasswortErsetzen"
-
UPDATEFOLDER
Vollständiger Pfad zur Installation des Programms.Beispiel:
UPDATEFOLDER="/home/user/gt-db_public"
In dem Installationsverzeichnis gt-db_public
erstellen Sie den Ordner db
(oder nennen Sie ihn wie Sie möchten) indem Sie mkdir db
ausführen.
Anschließend führen Sie sudo chown -R mongodb:mongodb /pfad/zu/ihrem/datenbankordner
aus, wobei sie /pfad/zu/ihrem/datenbankordner
mit dem absoluten Pfad zu Ihrem eben erstellten Datenbankordner ersetzen.
Sie haben bereits ein Passwort für MongoDB ausgesucht.
Nun sichern Sie die Datenbank mit diesem Passwort.
Dazu starten Sie die Datenbank mit folgendem Befehl: mongod --dbpath="./db"
, vorrausgesetzt Sie befinden sich in dem Ordner gt-db_public
.
Anschließend verbinden Sie sich zur Datenbank, indem Sie mongo localhost
ausführen. Ersetzen Sie dabei localhost
durch eine entsprechende IP-Adresse, falls Sie von einem anderen Computer zugreifen.
Wechseln Sie mit use admin
zur admin Datenbank.
Anschließend nutzen Sie folgenden Befehl, wobei Sie changeMeToAStrongPassword
mit Ihrem Passwort ersetzen:
db.createUser(
{
user: "superuser",
pwd: "changeMeToAStrongPassword",
roles: [ "root" ]
}
)
Als letztes muss noch ein Text-Index erstellt werden.
Dies tun Sie, indem Sie use gt-db
gefolgt vondb.books.createIndex({name:"text", description:"text"}, {default_language: "german"})
ausführen.
Mit exit
schließen Sie das Ganze ab.
Bei Problemen lesen Sie bitte diesen Artikel.
Um zu vermeiden, dass Benutzereingriffe nötig sind, müssen Änderungen an der Konfigurationsdatei vorgenommen werden.
Dazu führen Sie sudo nano /etc/mongod.conf
aus.
In dieser Datei ändern Sie dbpath
zu dem absoluten Pfad zu Ihrem Datenbank-Verzeichnis.
Zum Beispiel: dbpath: /home/julius/gt-db_public/db
Außerdem muss die Zeile #security:
zu security:
verändert werden, und in der Zeile darunter authorization: "enabled"
eingefügt werden.
Somit nutzt MongoDB das von Ihnen erstellte Passwort.
Das Endprodukt sollte wie folgt aussehen:
Damit ist die Einrichtung der Datenbank abgeschlossen.
Lesen Sie diesen Artikel.
Auf einigen Systemen ist es möglich, dass folgende Befehle nötig sind, um zu gewährleisten, dass Docker ordnungsgemäß funktioniert:
sudo chown $USER /var/run/docker.sock
usermod -G docker $USER
Navigieren Sie in den Ordner gt-db_public
und führen Sie npm install
aus.
Anschließend führen Sie docker-compose up
aus und die App wird gestartet.
Docker: sudo systemctl enable docker
MongoDB: sudo systemctl enable mongod