# Panduan Deploy ke Localhost

> **Panduan lengkap** menjalankan website di komputer Anda sendiri (lokal).
> Berlaku untuk **Windows**, **macOS**, dan **Linux**.

<div align="center">

**Mulai Digital** — *Solusi Website untuk Pertumbuhan Bisnis Anda*

</div>

---

## Daftar Isi

1. [Sebelum Memulai](#1-sebelum-memulai)
2. [Install Aplikasi yang Dibutuhkan](#2-install-aplikasi-yang-dibutuhkan)
3. [Siapkan Project](#3-siapkan-project)
4. [Siapkan Database](#4-siapkan-database)
5. [Jalankan Website](#5-jalankan-website)
6. [Akses Website](#6-akses-website)
7. [Tips & Trik](#7-tips--trik)
8. [Troubleshooting](#8-troubleshooting)

---

## 1. Sebelum Memulai

### Yang Anda Butuhkan

| Aplikasi | Versi | Fungsi |
|----------|-------|--------|
| **PHP** | 8.4+ | Mesin website |
| **Composer** | 2.8+ | Pengelola paket PHP |
| **MySQL** | 8.2+ | Database |
| **Node.js** | 22+ | Pengelola paket JavaScript |
| **VS Code** | Terbaru | Editor kode |

>  **Tips:** Panduan ini akan membantu Anda install semua aplikasi yang dibutuhkan.

---

## 2. Install Aplikasi yang Dibutuhkan

### 2.1 Install VS Code

1. Buka https://code.visualstudio.com/
2. Klik **Download for [OS Anda]**
3. Buka file installer
4. Ikuti proses instalasi (next → next → finish)

---

### 2.2 Install PHP

#### Windows

1. Buka https://windows.php.net/download/
2. Download **PHP 8.4 VC16 x64 Thread Safe** (zip)
3. Extract ke `C:\php`
4. Tambahkan ke PATH:
   - Klik kanan **This PC** → **Properties**
   - Klik **Advanced system settings**
   - Klik **Environment Variables**
   - Di **System variables**, pilih **Path** → klik **Edit**
   - Klik **New** → masukkan `C:\php`
   - Klik **OK** semua
5. Buka **Command Prompt** baru, ketik:
   ```bash
   php -v
   ```
   Jika muncul versi PHP, instalasi berhasil!

#### macOS

1. Buka **Terminal** (Applications → Utilities → Terminal)
2. Install Homebrew (jika belum ada):
   ```bash
   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
   ```
3. Install PHP:
   ```bash
   brew install php@8.4
   ```
4. Tambahkan ke PATH:
   ```bash
   echo 'export PATH="/opt/homebrew/opt/php@8.4/bin:$PATH"' >> ~/.zshrc
   source ~/.zshrc
   ```
5. Verifikasi:
   ```bash
   php -v
   ```
   Jika muncul versi PHP, instalasi berhasil!

#### Linux (Ubuntu/Debian)

1. Buka **Terminal**
2. Jalankan:
   ```bash
   sudo apt update
   sudo apt install php8.4 php8.4-cli php8.4-mysql php8.4-mbstring php8.4-xml php8.4-gd php8.4-zip
   ```
3. Verifikasi:
   ```bash
   php -v
   ```
   Jika muncul versi PHP, instalasi berhasil!

---

### 2.3 Install Composer

#### Windows

1. Buka https://getcomposer.org/download/
2. Download **Composer-Setup.exe**
3. Jalankan installer
4. Ikuti proses (next → next → finish)
5. Buka **Command Prompt** baru, ketik:
   ```bash
   composer -V
   ```
   Jika muncul versi Composer, instalasi berhasil!

#### macOS /  Linux

1. Buka **Terminal**
2. Jalankan:
   ```bash
   php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
   php composer-setup.php
   sudo mv composer.phar /usr/local/bin/composer
   php -r "unlink('composer-setup.php');"
   ```
3. Verifikasi:
   ```bash
   composer -V
   ```
   Jika muncul versi Composer, instalasi berhasil!

---

### 2.4 Install MySQL

#### Windows

1. Buka https://dev.mysql.com/downloads/installer/
2. Download **MySQL Installer**
3. Jalankan installer
4. Pilih **Developer Default** → klik **Next**
5. Set **root password** (ingat password ini!)
6. Selesaikan instalasi

#### macOS

```bash
brew install mysql
brew services start mysql
mysql_secure_installation
```

#### Linux

```bash
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation
```

---

### 2.5 Install Node.js

1. Buka https://nodejs.org/
2. Download versi **LTS** (Long Term Support)
3. Jalankan installer
4. Ikuti proses (next → next → finish)
5. Verifikasi:
   ```bash
   node -v
   npm -v
   ```
   Jika muncul versi Node.js dan npm, instalasi berhasil!

---

## 3. Siapkan Project

### 3.1 Ekstrak File

1. Buka email dari **mulaidigital.com**
2. Download file **.zip**
3. Extract ke lokasi yang diinginkan:
   - **Windows:** `C:\Users\NamaAnda\Documents\Projects\`
   - **macOS:** `/Users/NamaAnda/Sites/`
   - **Linux:** `/home/NamaAnda/projects/`

### 3.2 Buka di VS Code

1. Buka **VS Code**
2. Klik **File** → **Open Folder**
3. Pilih folder project
4. Klik **Select Folder**

### 3.3 Buka Terminal

Di VS Code, buka terminal:
- **Windows/Linux:** Tekan `Ctrl + `` (backtick)
- **macOS:** Tekan `Cmd + `` (backtick)

---

## 4. Siapkan Database

### 4.1 Buat Database

#### Menggunakan Terminal

```bash
# Masuk ke MySQL
mysql -u root -p

# Buat database
CREATE DATABASE boilerplate_company_profile;

# Keluar
EXIT;
```

#### Menggunakan MySQL Workbench

1. Buka **MySQL Workbench**
2. Koneksi ke MySQL server
3. Klik icon **Create Schema**
4. Input nama: `boilerplate_company_profile`
5. Klik **Apply** → **Apply** → **Finish**

---

## 5. Jalankan Website

### 5.1 Install Dependencies

```bash
# Install komponen PHP
composer install

# Install komponen JavaScript
pnpm install
```

### 5.2 Konfigurasi

```bash
# Salin template konfigurasi
cp .env.example .env

# Generate application key
php artisan key:generate
```

### 5.3 Edit File .env

Buka file `.env` dan ubah konfigurasi database:

```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=boilerplate_company_profile
DB_USERNAME=root
DB_PASSWORD=
```

> **Penting:** Ganti `DB_USERNAME` dan `DB_PASSWORD` sesuai konfigurasi MySQL Anda.

### 5.4 Jalankan Migrasi & Seed

```bash
# Jalankan migrasi (buat struktur database)
php artisan migrate

# Masukkan data demo
php artisan db:seed
```

### 5.5 Buat Link Storage

```bash
php artisan storage:link
```

### 5.6 Jalankan Website

```bash
php artisan serve
npm run dev
```

Output:
```
   INFO  Server running on [http://127.0.0.1:8000].
```

>  **Website berhasil dijalankan!** Jangan tutup terminal ini.

---

## 6. Akses Website

### Frontend (Website Publik)

```
http://127.0.0.1:8000/id
```

### Admin Panel

```
http://127.0.0.1:8000/login
```

**Akun Default:**
| Field | Nilai |
|-------|-------|
| **Email** | admin@example.com |
| **Password** | admin@example.com |

---

## 7. Tips & Trik

### Menghentikan Website

Tekan `Ctrl + C` di terminal.

### Menjalankan Ulang

```bash
php artisan serve
```

### Reset Database

```bash
php artisan migrate:fresh --seed
```

### Clear Cache

```bash
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
```

---

## 8. Troubleshooting

### Error "Class not found"
```bash
composer install
composer dump-autoload
```

### Error "No application encryption key"
```bash
php artisan key:generate
```

### Error "SQLSTATE Connection refused"
- Pastikan MySQL sudah running
- Cek `DB_USERNAME` dan `DB_PASSWORD` di file `.env`

### Error "Storage link not found"
```bash
php artisan storage:link
```

### Error "Vite manifest not found"
```bash
pnpm install
pnpm run build
```

### Website Blank Hitam/Putih
```bash
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
```

### Permission Denied (Linux/macOS)
```bash
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
```

---

**Terima kasih!**
