# Installation Guide - cPanel Shared Hosting

## 1. Files Upload

1. Poora `jobconnect/` folder ka content apne domain/subdomain ki root me upload karo (File Manager ya FTP se) — for example `public_html/` me directly, ya `public_html/jobconnect/` me agar subfolder chahiye.
2. Structure aisa dikhna chahiye:
   ```
   public_html/
   ├── api/
   ├── admin/
   └── database/   (ye sirf reference ke liye hai, isse public_html se bahar bhi rakh sakte ho for extra safety)
   ```
3. `database/` folder ko public_html se bahar (one level up) move kar dena best hai, kyunki isme raw SQL files hain. Agar wahin rakhna hai to `.htaccess` se block kar dena — hamesha ki tarah safety first.

## 2. Database Setup

1. Database already ban chuka hai: `mytoolsh_Jobdatabase`, user `mytoolsh_Jobuser` already attached (ALL PRIVILEGES)
2. cPanel → **phpMyAdmin** → `mytoolsh_Jobdatabase` select karo → **Import** tab
3. `database/schema.sql` import karo (18 tables banega)
4. Fir `database/seed.sql` import karo (states, cities, categories, default admin, CMS shells, settings)

## 3. Database Credentials — already configured ✅

`api/config/database.php` aur `admin/config/database.php` dono me production credentials pehle se daale hue hain:
```php
define('DB_HOST', 'localhost');
define('DB_NAME', 'mytoolsh_Jobdatabase');
define('DB_USER', 'mytoolsh_Jobuser');
define('DB_PASS', 'Samir@154198');
```
Kuch karne ki zaroorat nahi, sirf verify kar lena ki cPanel me database/user exactly yahi naam se bane hain.

## 4. Security Configuration (LIVE jaane se pehle zaroori)

**`api/config/constants.php`**:
- `JWT_SECRET` ✅ already ek random secret set hai, kuch karne ki zaroorat nahi
- `DEV_MODE` → `false` kar do (SMS gateway wire hone ke baad). Jab tak `true` hai, register/forgot-password response me OTP dikhता rahega — testing ke liye theek hai, production ke liye nahi.

## 5. Default Admin Password Badlo

1. `https://yourdomain.com/admin/login.php` par jaake `admin` / `Admin@123` se login karo
2. **Admin Users** page (sirf Super Admin ko dikhta hai) se naya strong password wala apna khud ka admin bana lo, purana `admin` account disable/delete kar do

## 6. Folder Permissions

cPanel File Manager se ye folders 755 (ya zaroorat pade to 775) rakho, taaki PHP inme likh sake:
- `api/uploads/resumes/`
- `api/uploads/logos/`
- `api/uploads/banners/`
- `api/uploads/attachments/`

## 7. SMS Gateway (OTP ke liye zaroori)

`api/auth/register.php` aur `api/auth/forgot-password.php` me ye line dhoondo:
```php
// TODO: SMS gateway integrate karke yahan OTP bhejo (MSG91 / Fast2SMS / Twilio)
```
Apne gateway ka API call yahan add karo. MSG91/Fast2SMS dono simple REST API dete hain (cURL se ek POST call).

## 8. Firebase Push Notifications (Optional, baad me bhi kar sakte ho)

`admin/modules/notifications/index.php` me TODO comment hai. Firebase project banao, server key lo, aur notification create hone par FCM ko HTTP call bhejo. Jab tak ye wire nahi hota, notifications app ke andar (in-app list) turant dikhti rahengi — sirf push banner/sound nahi aayega.

## 9. HTTPS

cPanel → SSL/TLS Status se **AutoSSL** enable karo (free). SSL active hone ke baad:
- `admin/config/session.php` me `'secure' => true,` line ko uncomment kar do (session cookie ko HTTPS-only banane ke liye)

## 10. Test Checklist

- [ ] `https://jobs.mytoolshub.co.in/admin/login.php` khulta hai aur login hota hai
- [ ] Dashboard par stats (Total Users etc.) 0/sahi dikh rahe hain
- [ ] `https://jobs.mytoolshub.co.in/api/job/job-list.php` JSON response deta hai
- [ ] Postman se `api/auth/register.php` test karo — OTP response me aana chahiye (DEV_MODE=true hone tak)
- [ ] Flutter app me Base URL set karo: `https://jobs.mytoolshub.co.in/api/`
