# cPanel / Shared Hosting Contract

Suggested topology:
- `app.example.com` -> Flutter Web static build
- `api.example.com` -> PHP `public/`
- `admin.example.com` -> same backend admin host or protected `/admin`

Recommended backend path:
```text
/home/ACCOUNT/shaspos-pro-server/
  app/
  config/
  database/
  routes/
  storage/
  cron/
  public/   <- API/admin document root
  .env
```

Required hosting capability: PHP 8.2+ (8.3/8.4 preferred), PDO MySQL, cURL, OpenSSL, mbstring, JSON, fileinfo, `intl` recommended, MySQL 8 or MariaDB 10.5+, HTTPS, cPanel cron, SMTP.

Prefer CLI cron:
```text
* * * * * /usr/local/bin/php /home/ACCOUNT/shaspos-pro-server/cron/worker.php >/dev/null 2>&1
```
If one-minute cron is unavailable, workers process bounded batches at the best supported interval.

Preflight: document root must be `public/`; `.env`, app/config/database/storage/cron cannot be web-accessible; DB user is least privilege; HTTPS/security headers are enabled; ShasPay credentials are server-only; SMTP and cron are tested; off-host backup and restore are tested before launch.
