Files
shopPRO/.paul/codebase/overview.md
2026-03-12 13:36:06 +01:00

2.3 KiB
Raw Permalink Blame History

shopPRO — Codebase Overview

Generated: 2026-03-12

What is this project?

shopPRO is a PHP e-commerce platform with an admin panel, customer-facing storefront, and REST API. It uses a Domain-Driven Design architecture with Dependency Injection (migration from legacy architecture complete).

Size & Health

Metric Value
PHP files (autoload/) ~588
Lines of code (autoload/) ~71,668
Test suite 810 tests, 2264 assertions
Domain modules 29
Admin controllers 28
Frontend controllers 8
API controllers 4
Frontend views (static) 11

Tech Snapshot

Layer Technology
Language PHP 7.47.x (production < 8.0)
Database ORM Medoo 1.7.10 + MySQL
Caching Redis via CacheHandler
Email PHPMailer (classic)
Frontend JS jQuery 2.1.3
CSS Bootstrap 4.x (pre-compiled SCSS)
HTTP Client Native cURL
Testing PHPUnit 9.6 via phpunit.phar
Build tools None

Entry Points

File Role
index.php Frontend storefront
admin/index.php Admin panel
ajax.php Frontend AJAX
admin/ajax.php Admin AJAX
api.php REST API (ordersPRO)
cron.php Background job processor

External Integrations

Integration Purpose
Apilo ERP/WMS — order sync, inventory, pricing (OAuth 2.0)
Ekomi Customer review CSV export
TrustMate Review invitation (browser-based, separate cron)
Google XML Feed Google Shopping product feed
shopPRO Import Import products from another shopPRO instance

Key Architecture Decisions

  • DI via manual factories in admin\App, front\App, api\ApiRouter
  • Repository pattern — all DB access in autoload/Domain/{Module}/{Module}Repository.php
  • Redis caching for products (TTL 24h), routes, and settings
  • No Composer autoload at runtime — custom dual-convention autoloader in each entry point
  • Stateless REST API — auth via X-Api-Key header + hash_equals()
  • Job queue — cron jobs stored in pp_cron_jobs table, processed by cron.php

Quick Reference

  • Full stack details: stack.md
  • Architecture & routing: architecture.md
  • Code conventions: conventions.md
  • Testing patterns: testing.md
  • Known issues & debt: concerns.md