# Laragon Windows Setup

این فایل، روش نصب و اجرای پروژه را برای ویندوز با Laragon و Node.js 18 در یک جا توضیح می‌دهد.

## پیش‌نیازها
- Laragon نصب باشد
- Node.js نسخه `18.x` داخل Laragon یا روی ویندوز فعال باشد
- MariaDB یا MySQL داخل Laragon اجرا شده باشد
- PowerShell یا Terminal خود Laragon در ریشه پروژه باز شود

## 1. انتخاب Node.js 18
اگر Laragon چند نسخه Node دارد:
1. Laragon را باز کنید
2. از منوی:
   `Menu > Tools > Quick add > Node.js 18`
3. سپس از:
   `Menu > Node.js > Version`
   نسخه `18.x` را انتخاب کنید

برای بررسی:
```powershell
node -v
```

خروجی باید چیزی شبیه این باشد:
```powershell
v18.18.0
```

## 2. ساخت دیتابیس در Laragon
از HeidiSQL یا MySQL CLI داخل Laragon این دستورات را اجرا کنید:
```sql
CREATE DATABASE minecraft_platform CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'minecraft_user'@'localhost' IDENTIFIED BY 'minecraft_password';
GRANT ALL PRIVILEGES ON minecraft_platform.* TO 'minecraft_user'@'localhost';
FLUSH PRIVILEGES;
```

## 3. تنظیم فایل env
در ریشه پروژه:
```powershell
Copy-Item .env.example .env
```

سپس این مقدار را در `.env` تنظیم کنید:
```env
DATABASE_URL="mysql://minecraft_user:minecraft_password@127.0.0.1:3306/minecraft_platform"
```

اگر می‌خواهید خود installer دیتابیس را هم بسازد:
```env
DB_BOOTSTRAP_ENABLED=true
DB_BOOTSTRAP_ROOT_USER=root
DB_BOOTSTRAP_ROOT_PASSWORD=
DB_BOOTSTRAP_HOST=127.0.0.1
DB_BOOTSTRAP_PORT=3306
```

## 4. اجرای نصب‌گر ویندوز
در PowerShell داخل ریشه پروژه:
```powershell
Set-ExecutionPolicy -Scope Process Bypass
.\windows-installer.ps1
```

این اسکریپت:
1. نسخه Node را چک می‌کند
2. `.env` را آماده می‌کند
3. در صورت فعال بودن bootstrap، دیتابیس را می‌سازد
4. `npm install` را اجرا می‌کند
5. اتصال دیتابیس را چک می‌کند
6. migration و seed را اجرا می‌کند
7. admin اولیه را می‌سازد
8. برنامه را اجرا می‌کند

## 5. اجرای دستی در Laragon
اگر بخواهید مراحل را جداگانه اجرا کنید:
```powershell
node .\scripts\setup.js
node .\scripts\check-env.js
npm install
node .\scripts\init-database.js
npx prisma migrate deploy
node .\prisma\seed.js
node .\scripts\create-admin.js
npm start
```

## 6. اطلاعات ادمین اولیه
مقادیر پیش‌فرض از `.env` خوانده می‌شوند:
- `DEFAULT_ADMIN_EMAIL`
- `DEFAULT_ADMIN_PHONE`
- `DEFAULT_ADMIN_USERNAME`
- `DEFAULT_ADMIN_PASSWORD`

## 7. آدرس اجرا
بعد از بالا آمدن برنامه:
- App URL: `http://localhost:3000`
- Health Check: `http://localhost:3000/api/health`

## 8. نکات Laragon
- اگر `mysql` command در PowerShell شناخته نشد، ترمینال داخلی Laragon را باز کنید
- اگر `node -v` نسخه دیگری نشان داد، نسخه Node داخل Laragon را دوباره روی 18 تنظیم کنید
- اگر پورت `3000` اشغال بود، مقدار `PORT` را در `.env` تغییر دهید
