
แอปพลิเคชันทั้งหมดถูกควบคุมผ่านไฟล์ docker-compose.yml และสร้างขึ้นด้วย docker compose :
docker และ docker-compose ซึ่งอาจต้องรีสตาร์ทระบบของคุณเนื่องจาก Docker เป็นโปรแกรมระดับต่ำมากdocker compose up --build เป็นผู้ใช้ที่มีสิทธิ์ในการเทียบกับ Docker หรือด้วย sudo / doas จำเป็นต้องมีการสร้างธงการสร้างหากรหัสแบ็กเอนด์หรือส่วนหน้ามีการเปลี่ยนแปลงนอกจากนี้ -d จะทำให้มันหลุดออกจากเทอร์มินัลdocker compose restart นี่เป็นสิ่งจำเป็นเพื่อให้ตัวแยกวิเคราะห์จะทำงานและเพื่อให้ร้านค้าเวกเตอร์สามารถสร้าง embeddings ใหม่ แบ็กเอนด์ถูกสร้างขึ้นด้วย Clojure ซึ่งเป็นภาษาโปรแกรมที่ใช้งานได้ตาม LISP ซึ่งทำงานบนเครื่องเสมือน Java
ส่วนนี้มีวัตถุประสงค์หลายประการโดยรับผิดชอบในการขูดหน้าหลักสูตรจาก KU รวมถึงสถิติจากสเตดส์
แบ็กเอนด์ยังให้บริการส่วนหน้าและมีฐานข้อมูล "ข้อมูล" และรับผิดชอบในการรีเฟรชและบริการต่าง ๆ เป็นครั้งคราว (คุณลักษณะนี้แตกบางส่วนในขณะนี้)
บริการนี้รับผิดชอบการค้นหาความหมายที่ใช้ในเส้นทาง get_course_overviews แทนที่จะใช้ trigrams หรือข้อความเต็มเราตัดสินใจใช้การค้นหาเวกเตอร์สำหรับเวลาแฝงที่ต่ำกว่า
บริการนี้เป็นตัวแยกวิเคราะห์ที่ใช้หน้าหลักสูตรที่ถูกคัดค้านและแยกวิเคราะห์เป็นรูปแบบที่เราสามารถใช้ในฐานข้อมูลสำหรับการค้นหาและให้บริการไปยังส่วนหน้า
ส่วนหน้าถูกสร้างขึ้นใน svelte/typescript นี่คือสปาที่มีความรับผิดชอบสูงที่แสดงหลักสูตรในรูปแบบของการ์ดซึ่งสามารถคลิกเข้าไปเพื่อรับมุมมองที่ละเอียดยิ่งขึ้นของหลักสูตร