Auto-generated by paul:map-codebase — 4 parallel analysis agents. Covers stack, architecture, conventions, and concerns. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
Codebase Map — orderPRO
Generated: 2026-03-12 Branch: main
What is this project?
orderPRO is a custom PHP 8.4 order management system (OMS) that aggregates and manages orders from multiple sales channels (Allegro marketplace, shopPRO e-commerce platform). It handles order import, status synchronization, shipment management, and product data enrichment. The system is entirely self-contained — no Composer runtime dependencies — built on a hand-rolled micro-framework.
Documents
| Document | Contents |
|---|---|
| STACK.md | Language, framework, DB, integrations, build tools, dependencies |
| ARCHITECTURE.md | Directory layout, layers, request flow, domain model, all 24 DB tables |
| CONVENTIONS.md | Naming rules, design patterns, DB access style, frontend conventions, testing |
| CONCERNS.md | Tech debt, bugs, security gaps, incomplete features — with severity levels |
Quick Reference
Stack
- PHP 8.4, zero Composer runtime deps, hand-rolled framework in
src/Core/ - MySQL via raw PDO prepared statements (no ORM)
- Frontend: plain PHP views, SCSS → CSS via Dart Sass, jQuery + custom alert module
- Tests: PHPUnit 11 (currently zero active test coverage)
External Integrations
| Integration | Purpose |
|---|---|
| Allegro | OAuth 2.0, order import, status sync, shipment management |
| shopPRO | API key auth, order/product import |
| Apaczka | HMAC-signed REST, multi-carrier shipping aggregator |
| InPost ShipX | Bearer token REST, parcel lockers (settings only — shipments route via Allegro WZA workaround) |
| GS1 | Barcode/product data (bin scripts) |
Architecture in One Sentence
public/index.php → Application → Router → middleware pipeline → controller (in src/Modules/) → service → repository (raw PDO) → plain PHP view.
Top Concerns to Address
- OAuth refresh duplicated across 4 Allegro services → extract
AllegroTokenRefreshService - Utility methods duplicated 15+ times across repositories → shared trait or utility class
- Zero test coverage —
tests/directory is empty - Known bug:
AllegroShipmentService.php:255— ZPL branch always returns'A6'(dead conditional) - InPost shipment provider stub — settings exist, no
ShipmentProviderInterfaceimplementation - No
CURLOPT_SSL_VERIFYPEERset in any cURL client — implicit trust of TLS certs
Module Overview
| Module | Path | Responsibility |
|---|---|---|
| Auth | src/Modules/Auth/ |
Login, session management |
| Orders | src/Modules/Orders/ |
Order list, detail, filters, status updates |
| Settings | src/Modules/Settings/ |
Integration config, carrier mapping, status groups |
| Shipments | src/Modules/Shipments/ |
Shipment creation, label printing, provider dispatch |
| Cron | src/Modules/Cron/ |
Cron job runner, schedule management |
| Users | src/Modules/Users/ |
User management |
Entry Points
| Entry | Path |
|---|---|
| Web app | public/index.php |
| Route definitions | routes/web.php |
| CLI scripts | bin/ (8 scripts) |
| DB migrations | database/migrations/ |