PANDUAN DEPLOY NUR AL-ILM KE CPANEL / SHARED HOSTING

Isi ZIP ini adalah paket production:
- server.js sebagai startup file Node.js
- package.json dan package-lock.json backend
- folder dist hasil build React/Vite
- folder routes, config, middleware, helpers, templates
- folder uploads berisi file upload yang sudah ada
- file .env.example sebagai contoh konfigurasi
- nuralim.sql sebagai file import database awal

Langkah umum di cPanel:
1. Upload dan extract ZIP ke folder aplikasi Node.js, misalnya:
   /home/USER/nuralilm

2. Di cPanel, buka Setup Node.js App:
   - Node.js version: 18 atau lebih baru
   - Application root: folder hasil extract
   - Application startup file: server.js
   - Application mode: production

3. Buat database MySQL dan user database di cPanel.

4. Import file nuralim.sql melalui phpMyAdmin jika database masih kosong.

5. Buat environment variables di Node.js App cPanel:
   NODE_ENV=production
   DB_HOST=localhost
   DB_USER=USER_DATABASE
   DB_PASSWORD=PASSWORD_DATABASE
   DB_NAME=NAMA_DATABASE
   JWT_SECRET=isi_random_panjang_minimal_32_karakter
   CORS_ORIGIN=https://domain-anda.com
   SMTP_HOST=smtp.domain-anda.com
   SMTP_PORT=465
   SMTP_SECURE=true
   SMTP_USER=email@domain-anda.com
   SMTP_PASS=password_email
   SMTP_FROM=email@domain-anda.com

6. Jalankan npm install dari menu Node.js App cPanel atau terminal:
   npm install --omit=dev

7. Restart aplikasi Node.js dari cPanel.

8. Cek URL berikut setelah deploy:
   https://domain-anda.com/api/health
   Jika muncul status ok, backend aktif.

Catatan penting:
- Jangan upload node_modules dari komputer lokal.
- File .env asli lokal sengaja tidak dimasukkan ke ZIP agar credential tidak bocor.
- Fitur translate E-Konsultasi membutuhkan backend aktif dan server hosting bisa akses internet keluar.
- Jika domain frontend dan backend berbeda, isi CORS_ORIGIN dengan domain frontend.
