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.4–7.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