
Die gesamte Anwendung wird über die Datei docker-compose.yml geregelt und mit docker compose erstellt:
docker und docker-compose . Dies erfordert möglicherweise einen Neustart Ihres Systems, da Docker ein sehr niedriges Programm ist.docker compose up --build entweder als Benutzer mit Berechtigungen an Docker oder mit sudo / doas , das Build -Flag ist erforderlich, wenn der Backend- oder Frontend -Code geändert wurde. -d wird es vom Terminal abgetrennt.docker compose restart , dies ist erforderlich, damit der Parser ausgeführt wird und damit der Vektor Store neue Einbettungen erstellen kann. Das Backend ist mit Clojure erstellt, eine funktionale Programmiersprache, die auf LISP basiert, die auf der java -virtuellen Maschine ausgeführt wird.
Dieser Teil dient mehreren Zwecken, er ist dafür verantwortlich, die Kursseiten von KU sowie die Statistiken aus Stads zu schaben.
Das Backend dient auch der Frontend und enthält die Datenbank "DataScript" und ist für das Aktualisieren und gelegentlich verschiedene Dienste verantwortlich (diese Funktion ist derzeit teilweise unterbrochen).
Dieser Dienst ist für die semantischen Suchanfragen verantwortlich, die in der Route get_course_overviews verwendet werden, anstatt Trigramme oder Volltext zu verwenden, wir haben uns entschlossen, die Vektorsuche für die niedrigere Latenz zu verwenden.
Dieser Service ist der Parser, der die abgekratzten Kursseiten aufnimmt und sie in ein Format analysiert, das wir in der Datenbank verwenden können, um sie zu suchen und dem Frontend zu dienen.
Frontend ist in Sufle/TypeScript integriert. Dies ist ein sehr verantwortungsbewusstes Spa, das die Kurse in Form von Karten zeigt, die angeklickt werden können, um eine detailliertere Ansicht des Kurses zu erhalten.