# TMITStore — cPanel Deployment Guide

## ফাইল Structure (cPanel-এ)

```
/home/cpanel_username/
│
├── public_html/              ← তোমার domain এর web root
│   ├── index.php             ← public/ ফোল্ডারের সব ফাইল এখানে
│   ├── .htaccess
│   ├── setup.php             ← (run করার পর DELETE করো)
│   └── (অন্যান্য public files)
│
└── ecommerce/                ← Laravel app (public_html এর বাইরে)
    ├── app/
    ├── bootstrap/
    ├── config/
    ├── database/
    │   └── tmitstore_export.sql  ← Database import করো
    ├── resources/
    ├── routes/
    ├── storage/
    ├── vendor/
    ├── .env                  ← .env.production copy করে rename করো
    └── ...
```

---

## Step-by-Step Upload Guide

### Step 1 — ফাইল Upload

**cPanel → File Manager** বা FTP দিয়ে:

1. `public/` ফোল্ডারের ভেতরের সব ফাইল → `public_html/` এ upload করো
   - `index.php`, `.htaccess`, `setup.php`, `favicon.ico` ইত্যাদি

2. Laravel project এর বাকি সব ফোল্ডার → `ecommerce/` নামে upload করো
   - `app/`, `bootstrap/`, `config/`, `database/`, `resources/`, `routes/`, `storage/`, `vendor/` ইত্যাদি
   - `public/` ফোল্ডার upload করতে হবে না (সেটা public_html এ গেছে)
   - `license_server/` ফোল্ডার এখানে দিবে না (সেটা আলাদা server এ)

---

### Step 2 — Database Import

1. **cPanel → MySQL Databases** → নতুন database ও user তৈরি করো
2. **cPanel → phpMyAdmin** → নতুন database select করো
3. **Import** → `database/tmitstore_export.sql` ফাইল upload করো

---

### Step 3 — .env Configure করো

`ecommerce/` ফোল্ডারে `.env.production` ফাইলটাকে `.env` নামে copy করো, তারপর এডিট করো:

```env
APP_URL=https://yourdomain.com          ← তোমার domain

DB_DATABASE=cpanel_user_dbname          ← cPanel database name
DB_USERNAME=cpanel_user_dbuser          ← cPanel database user
DB_PASSWORD=your_db_password            ← database password

LICENSE_SERVER_URL=https://yourlicenseserver.com/license/validator.php
```

---

### Step 4 — Setup Run করো

Browser এ যাও:
```
https://yourdomain.com/setup.php?token=tmit_setup_2024
```

এটা:
- ✅ Storage symlink তৈরি করবে (upload করা ছবি দেখা যাবে)
- ✅ Permission fix করবে
- ✅ PHP extension check করবে

**Run করার পর `public_html/setup.php` DELETE করো!**

---

### Step 5 — Done!

Site live: `https://yourdomain.com`
Admin panel: `https://yourdomain.com/admin`

---

## License Server (আলাদা)

`license_server/validator.php` ফাইলটা তোমার **অন্য একটা server** এ upload করো।
Theme-এর সাথে এই ফাইল দিবে না।

সেখানে allowed domains যোগ করো:
```php
$licenses = [
    'customer-site.com' => 'TMIT-ABCD-1234',
];
```

---

## Troubleshooting

| সমস্যা | সমাধান |
|--------|--------|
| 500 Error | `ecommerce/storage/logs/laravel.log` দেখো |
| 403 Forbidden | `.htaccess` ফাইল আছে কিনা check করো |
| ছবি দেখা যাচ্ছে না | setup.php আবার run করো (symlink) |
| APP_KEY error | `.env` এ `APP_KEY=base64:...` আছে কিনা দেখো |
| DB Connection error | `.env` এর DB credentials check করো |
