Wygenerowano przez równoległą analizę czterech agentów: stack, architektura, konwencje, integracje, testy, baza danych oraz wykryte problemy i dług techniczny. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# 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
|