# Stack — rank24.pl

## Core Language & Runtime
- **PHP** (5.6+, no version pinned) — backend logic, no framework
- **MySQL 5.x** — primary data store (host: `localhost`, db: `host700513_rank24`)
- **Apache** with `mod_rewrite` — URL rewriting via `.htaccess`
- **Timezone**: `Europe/Warsaw`, encoding: `UTF-8`

## PHP Libraries

| Library | Version | Purpose | Path |
|---------|---------|---------|------|
| Medoo | 1.2.1 | ORM / query builder (MySQL) | `libraries/medoo.php` |
| Savant3 | — | Template engine | `autoload/Savant3.php` / `autoload/savant3/` |
| OPD (opdClass) | — | Legacy PDO wrapper with debug console | `autoload/opd.class.php` |
| PHPMailer | 5.2.15 | SMTP email sending | `resources/phpmailer/` |
| mPDF | 6.0 | Server-side PDF generation | `resources/mpdf60/` |
| xajax | — | Server-side AJAX request handler | `resources/xajax/` |
| RestClient | 2.0 | DataForSEO API v2 client | `autoload/RestClient.php` |
| RestClient3 | 3.0 | DataForSEO API v3 client | `autoload/RestClient3.php` |
| Custom Grid | — | DataTables-based grid (view/edit/upload) | `libraries/grid/` |

## Frontend Stack

| Library | Version | Purpose |
|---------|---------|---------|
| jQuery | 1.11.1 | DOM / AJAX | `libraries/framework/vendor/jquery/` |
| Bootstrap | 3.x | CSS framework, JS components | `libraries/framework/` |
| DataTables | — | Sortable/filterable tables | `libraries/framework/vendor/plugins/` |
| CKEditor | — | Rich text editing | `libraries/framework/vendor/plugins/` |
| Highcharts / C3 | — | Charts and data viz | `libraries/framework/vendor/plugins/` |
| Moment.js | — | Date manipulation | `libraries/framework/vendor/plugins/` |
| Select2 | — | Searchable selects | `libraries/framework/vendor/plugins/` |
| Dropzone | — | Drag-and-drop file uploads | `libraries/framework/vendor/plugins/` |
| Font Awesome / Glyphicons | — | Icon fonts | `libraries/framework/` |

CSS preprocessing via **SCSS/SASS** — source in `layout/style-scss/`, compiled to `layout/style-css/custom.css`.

## External Service Integrations

| Service | Purpose | Config key |
|---------|---------|-----------|
| DataForSEO API v2/v3 | Google rank checking (primary) | credentials in `class.Cron.php` |
| Majestic | Domain metrics (TF, CF, backlinks) | `$config['site']['majestic_interval']` = 7d |
| SEMstorm | Keyword / traffic data | `$config['site']['semstorm_interval']` = 1d |
| ProxyMarket | Proxy provider (disabled) | `$config['proxy']['proxymarket-api']` |
| Proxy.Adding.pl | Proxy provider (disabled) | `$config['proxy']['adding-api']` |
| Internal proxy pool | HTTP proxies for scraping | table `pro_proxy_servers` |

## Deployment

- **FTP/SFTP** to `host700513.hostido.net.pl` — auto-upload via VS Code FTP-KR extension
- Remote root: `/public_html/`
- Config: `.vscode/ftp-kr.json`, `.vscode/sftp.json`
- No CI/CD pipeline; manual or FTP-based deploys only
