Proyek ini terdiri dari tiga komponen utama:
- Frontend: Aplikasi web yang dibangun dengan React.
- Backend: Server API yang dikelola menggunakan Strapi CMS.
- Chatbot: Layanan chatbot cerdas yang didukung oleh model Qwen melalui server Flask.
Berikut adalah tim yang berkontribusi dalam pengembangan proyek ini:
| Nama | NRP | GitHub |
|---|---|---|
| Steven Figo | 5027221021 | @Derkora |
| Moch. Zidan Hadipratama | 5027221052 | @ZidanHadipratama |
| Naufan Zaki Luqmanulhakim | 5027221065 | @NaufanZaki |
| Komponen | Teknologi |
|---|---|
| Frontend | React, Vite, Tailwind CSS |
| Backend | Strapi CMS, Node.js |
| Chatbot | Flask, Python, Qwen Model |
| Wabot | Flask, Python, Node.js |
| Database | SQLite |
| Deployment | Docker |
Sebelum memulai, pastikan Anda telah menginstal Docker dan Docker Daemon sedang berjalan di sistem Anda.
Pertama, clone repositori ini ke mesin lokal Anda.
git clone https://github.com/Derkora/catty.git
cd cattyBackend Strapi memerlukan file konfigurasi environment (.env) untuk terhubung ke database dan layanan lainnya.
- Buat file baru bernama
.envdi dalam direktoriBE-strapi/. - Isi dari file
.envdapat diakses dan disalin dari tautan Google Drive berikut: Akses File .env
- Konfigurasi Repository NVIDIA
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update- Instal Toolkit NVIDIA
sudo apt-get install -y nvidia-container-toolkit- Konfigurasi Docker untuk Menggunakan Runtime NVIDIA
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerPastikan service Docker sudah berjalan sebelum melanjutkan.
a. Verifikasi Status Docker (Opsional)
sudo systemctl status dockerJika tidak aktif, jalankan dengan sudo systemctl start docker.
b. Build Docker Network Untuk membangun jaringan docker
docker network create ai-networkc. Build Docker Compose
Build semua image yang dibutuhkan untuk frontend, backend, dan chatbot. Opsi --no-cache memastikan image dibangun dari awal.
docker compose build --no-cached. Jalankan Kontainer Docker Anda dapat menjalankan semua layanan secara bersamaan menggunakan Docker Compose.
- Untuk menjalankan di background (detached mode):
docker compose up -d
- Untuk menjalankan dan melihat log secara real-time di terminal:
docker compose up
Setelah kontainer berjalan, Anda perlu melakukan konfigurasi awal pada Strapi melalui antarmuka admin.
a. Akses Panel Admin Strapi
Buka browser dan navigasi ke http://localhost:1337/admin. Buat akun admin pertama Anda saat diminta.
b. Tambahkan Roles & Permissions
Navigasi ke Settings -> Users & Permissions Plugin -> Roles.
Buat dua role baru dengan konfigurasi izin sebagai berikut:
-
Role 1:
Admin ITBerikan izin penuh (semua actions) untuk koleksi berikut:DokumenHistoryPertanyaan ChatbotUploadUsers Pemissions
PENTING: Klik tombol Save setelah selesai.
-
Role 2:
Mahasiswa ITBerikan izin terbatas sebagai berikut:Dokumen:create,find,findOneHistory:createPertanyaan Chatbot:find,findOneUpload:find,findOneUsers Permissions:Auth: Izinkan semua kecualiresetPassworddanchangePassword.Permissions:getPermissionsRole:find,findOneUser:findOne,find,me
PENTING: Klik tombol Save setelah selesai.
c. Buat User Admin Pertama
Agar sistem memiliki user dengan role Admin IT, buat entri baru.
- Buka tab
Content Manager->User. - Klik
Create new entry.
- Isi form dengan data berikut:
username: (pilih username Anda)email: (masukkan email yang valid)password: (buat password yang aman)confirmed: TRUErole: Admin IThistory: (biarkan kosong)
- Klik Save untuk menyimpan.
Selamat! Semua layanan sudah berjalan dan terkonfigurasi. Anda kini dapat mengakses aplikasi web utama melalui browser Anda.
- URL Aplikasi:
http://localhost:3000/
