Selamat datang di repositori resmi PILAR, sebuah sistem penunjang keputusan (Decision Support System) yang dirancang untuk memetakan kecenderungan kognitif dan merekomendasikan lintasan akademik berdasarkan pemodelan matriks RIASEC (Holland Codes).
Proyek ini dibangun menggunakan arsitektur modern yang memisahkan antarmuka pengguna (Frontend) dengan logika pemrosesan data (Backend), serta dikemas menggunakan teknologi kontainerisasi untuk memastikan keandalan di berbagai lingkungan deployment.
- Frontend: React.js, Vite, TailwindCSS
- Backend: Python, FastAPI, SQLModel
- Database: MySQL 8.0
- Infrastruktur: Docker & Docker Compose
website-pak-karma/
├── backend/ # Berisi seluruh logika REST API, ORM, dan mesin komputasi (FastAPI)
├── frontend/ # Berisi antarmuka pengguna interaktif (React & Vite)
├── database/ # Berisi skema awal (Data Seeding) untuk inisialisasi MySQL
├── docker-compose.yml# Konfigurasi orkestrasi kontainer
└── README.md # Dokumentasi utama (Berkas ini)
Sebelum menjalankan aplikasi, pastikan sistem Anda telah memiliki:
- Docker (v24.0.0 atau lebih baru)
- Docker Compose (v2.20.0 atau lebih baru)
- Git
Proyek ini dirancang agar dapat berjalan dengan satu perintah operasional melalui Docker.
-
Kloning Repositori
git clone <url-repositori> cd pilar-project
-
Konfigurasi Variabel Lingkungan (Environment Variables) Secara bawaan, sistem akan membaca file
.env.exampleyang tersedia di masing-masing direktori. Untuk penyesuaian khusus, Anda dapat menyalin file tersebut:cp .env.example .env cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env
-
Menjalankan Sistem Jalankan perintah berikut untuk membangun (build) seluruh citra (image) dan menyalakan kontainer:
docker compose up -d --build
-
Akses Layanan Setelah semua kontainer berstatus Healthy, sistem dapat diakses melalui:
- Antarmuka Pengguna (Frontend): http://localhost:5173
- Layanan API (Backend): http://localhost:8000
- Dokumentasi API Terbuka (Swagger UI): http://localhost:8000/docs
Jika Anda ingin mengakses aplikasi ini melalui internet (misal: untuk demo jarak jauh), Anda dapat mengaktifkan tunnel Ngrok:
- Pastikan Anda sudah mengisi
NGROK_AUTHTOKENdi file.env. - Jalankan docker-compose dengan profil
tunnel:docker compose --profile tunnel up -d
- Cek URL publik Anda melalui dashboard Ngrok atau log container.
Untuk menghapus seluruh data yang ada di database dan mengembalikan sistem ke kondisi awal (sesuai seed data), jalankan:
docker compose down -v
docker compose up -d --build(Peringatan: Perintah ini bersifat destruktif dan akan menghapus seluruh data partisipan yang telah terekam).
Dokumentasi ini dikelola secara internal untuk keperluan pengembangan dan pemeliharaan Sistem PILAR.