
Seluruh aplikasi diatur melalui file docker-compose.yml dan dibangun dengan docker compose :
docker dan docker-compose , ini mungkin perlu memulai kembali sistem Anda karena Docker adalah program tingkat yang sangat rendah.docker compose up --build sebagai pengguna dengan izin ke Docker, atau dengan sudo / doas , bendera build diperlukan jika kode backend atau frontend telah diubah, tambahan -d akan membuatnya terlepas dari terminal.docker compose restart , ini diperlukan sehingga parser akan berjalan dan sehingga toko vektor dapat membuat embeddings baru. Backend dibangun dengan Clojure, bahasa pemrograman fungsional berdasarkan LISP yang berjalan pada mesin virtual Java.
Bagian ini melayani berbagai tujuan, ini bertanggung jawab untuk mengikis halaman kursus dari KU serta statistik dari stad.
Backend juga melayani frontend dan berisi database "data" dan bertanggung jawab untuk menyegarkan dan berbagai layanan sesekali (fitur ini sebagian rusak saat ini).
Layanan ini bertanggung jawab atas pencarian semantik yang digunakan dalam rute get_course_overviews , alih-alih menggunakan trigram atau teks lengkap, kami memutuskan untuk menggunakan pencarian vektor untuk latensi yang lebih rendah.
Layanan ini adalah parser yang mengambil halaman kursus yang dikikis dan parsing ke dalam format yang dapat kita gunakan dalam database untuk mencari dan untuk melayani di frontend.
Frontend dibangun di langsing/naskah. Ini adalah spa yang sangat bertanggung jawab yang menunjukkan kursus dalam bentuk kartu yang dapat diklik untuk mendapatkan tampilan kursus yang lebih rinci.