- Changed font from Open Sans to Roboto in layout files. - Added campaign and ad group filters in products main view. - Enhanced product history to include campaign and ad group IDs. - Updated migrations to support new campaign and ad group dimensions in product statistics. - Introduced new migration files for managing campaign types and dropping obsolete columns.
2.5 KiB
2.5 KiB
Repository Guidelines
Project Structure & Module Organization
adsPRO is a custom PHP MVC app. Keep business logic in:
autoload/controls/(class.*.php): request handling (\controls\*)autoload/factory/(class.*.php): DB access via Medoo (\factory\*)autoload/view/(class.*.php): view composition (\view\*)autoload/services/: external integrations (Google Ads, OpenAI, Claude)templates/: PHP templates rendered with\Tpl::view()migrations/: SQL migrations (NNN_description.sql+ optionaldemo_data.sql)layout/: SCSS/CSS assets (style.scss->style.css)
Main entry points are index.php, ajax.php, api.php, cron.php, and install.php.
Build, Test, and Development Commands
php -S 127.0.0.1:8000- run a local PHP server from repo root.php install.php- apply pending DB migrations.php install.php --with_demo- apply migrations and demo data.php install.php --force- re-apply tracked migrations.php -l autoload/controls/class.Campaigns.php- lint a changed PHP file.
There is no dedicated build pipeline; frontend dependencies are committed in libraries/. SCSS is typically compiled via VS Code Live Sass Compiler.
Coding Style & Naming Conventions
- Follow existing PHP style: spaces inside parentheses (
if ( $x )), braces on new lines. - Use
PascalCaseclass names, lowercase namespaces (\controls,\factory), andsnake_casefor methods/variables/DB columns. - Controllers/factories are conventionally
static public function .... - Keep route/module naming aligned with URL pattern
/module/action/....
Testing Guidelines
No first-party automated test suite is maintained in this repo. Validate changes with:
- PHP lint on edited files.
- Manual UI checks for affected
templates/views. - Endpoint checks for
ajax.php,api.php, orcron.phppaths you touched. - Migration dry run on a non-production database when schema is changed.
Document manual test steps and outcomes in each PR.
Commit & Pull Request Guidelines
- Use concise Polish commit messages with prefixes seen in history:
feat:,fix:,update:. - Keep commits focused (feature, refactor, migration, UI tweak).
- PRs should include: scope summary, linked issue/task, migration notes, manual test checklist, and screenshots for UI changes.
Security & Configuration Tips
config.php contains environment credentials. Do not introduce new secrets in commits or PR discussions, and treat any credential change as a coordinated ops task.