48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
# Tech Stack
|
|
|
|
## Backend
|
|
|
|
| Component | Version | Notes |
|
|
|---|---|---|
|
|
| PHP | 5.6+ assumed (no explicit constraint) | No `composer.json`, no `declare(strict_types)` |
|
|
| MySQL | unspecified | Schema in [migrations/](migrations/) |
|
|
| Medoo ORM | 1.7.10 | [libraries/medoo/medoo.php](libraries/medoo/medoo.php), used via global `$mdb` |
|
|
| RedBeanPHP | bundled | [libraries/rb.php](libraries/rb.php), used in [api.php](api.php) and [cron.php](cron.php) |
|
|
| PHPMailer | bundled | [libraries/phpmailer/](libraries/phpmailer/) |
|
|
|
|
**Autoloader:** custom `spl_autoload_register` in [index.php](index.php) maps namespaces to `autoload/{layer}/class.{Name}.php`. No Composer.
|
|
|
|
## Frontend
|
|
|
|
| Library | Version | Source |
|
|
|---|---|---|
|
|
| jQuery | 3.6.0 | CDN |
|
|
| jQuery UI | bundled | [libraries/framework/vendor/jquery/jquery_ui/](libraries/framework/vendor/jquery/jquery_ui/) |
|
|
| Bootstrap | 5 (active) + 4.1.3 (legacy) | CDN + [libraries/bootstrap-4.1.3/](libraries/bootstrap-4.1.3/) |
|
|
| DataTables | 2.1.7 | CDN |
|
|
| Highcharts | latest | CDN |
|
|
| Select2 | 4.1.0-rc.0 | CDN + [libraries/select2/](libraries/select2/) |
|
|
| Font Awesome | 6.5.1 (active) + 4.7.0 (legacy) | CDN + [libraries/font-awesome-4.7.0/](libraries/font-awesome-4.7.0/) |
|
|
| Moment.js | 2.18.1 | CDN + [libraries/moment/](libraries/moment/) |
|
|
| Date Range Picker | bundled | [libraries/daterange/](libraries/daterange/) |
|
|
| CKEditor | bundled | [libraries/ckeditor/](libraries/ckeditor/) |
|
|
|
|
Custom assets: [libraries/adspro-dialog.js](libraries/adspro-dialog.js), [libraries/functions.js](libraries/functions.js), [libraries/xlsxwriter.class.php](libraries/xlsxwriter.class.php).
|
|
|
|
## Styling
|
|
|
|
- SCSS: [layout/style.scss](layout/style.scss) → [layout/style.css](layout/style.css) (manual compilation; no automated build pipeline)
|
|
- Source map present: [layout/style.css.map](layout/style.css.map)
|
|
|
|
## Configuration
|
|
|
|
- [config.php](config.php) — DB credentials, SMTP settings (plaintext; see [concerns.md](concerns.md))
|
|
- `settings` DB table — runtime config, API keys, cron state, feature flags. Accessed via `\services\GoogleAdsApi::get_setting($key)` / `set_setting($k, $v)` (used globally despite the class name).
|
|
|
|
## Tooling absent
|
|
|
|
- No Composer / package.json / lockfiles
|
|
- No PHPUnit / phpcs / phpstan
|
|
- No `.editorconfig`, no `.github/workflows`, no CI
|
|
- No linting / formatting config
|