Skip to content

Repository Map ​

High-level directory structure ​

logidav/
├── app/                        # Symfony app config (parameters.yml, config.yml, routing)
├── src/                        # PHP source code (Symfony bundles)
│   ├── AppBundle/              # Main bundle — commands, services, controllers, entities
│   ├── CoreBundle/             # Shared infrastructure — base entities, API clients, utilities
│   ├── EventBundle/            # Event system and listeners
│   ├── ErpBundle/              # Marketplace workflow orchestration
│   ├── UserBundle/             # User management and authentication
│   ├── MeduseBundle/           # Meduse integration layer
│   ├── BigbuyBundle/           # Bigbuy supplier integration
│   ├── VidaxlBundle/           # Vidaxl supplier integration
│   ├── AsirGroupBundle/        # AsirGroup supplier integration
│   ├── CmpBundle/              # CMP supplier integration
│   ├── NotioBundle/            # Notio supplier integration
│   └── MauroFerrettiSRLBundle/ # MauroFerretti supplier integration
├── tests/                      # PHPUnit tests (mirrors src/ structure)
├── web/                        # Public web root
├── docs/                       # Global Menzzo docs submodule
├── tools/                      # Dev tools (cronjob doc generator, php-cs-fixer)
├── CLAUDE.md                   # AI agent instructions
├── AGENTS.md                   # Full project documentation
└── CODING_STYLE.md             # Code conventions

Bundle organization ​

AppBundle — the main bundle ​

Contains the majority of business logic:

DirectoryPurpose
Command/Symfony console commands (cronjobs), organized by domain
Services/Business logic services — reusable across commands/controllers
Controller/HTTP controllers
Entity/Doctrine entities
Repository/Custom Doctrine query classes
Resources/config/Service definitions (services.yml)

CoreBundle — shared infrastructure ​

Cross-cutting concerns used by all other bundles:

  • Base entities shared across the application
  • API client wrappers (Magento, marketplace, carrier APIs)
  • Utility components and helpers
  • Global configuration

Supplier bundles ​

Each supplier has a dedicated bundle (BigbuyBundle, VidaxlBundle, etc.) that encapsulates:

  • Product import logic
  • Stock synchronization
  • Supplier-specific API clients
  • Custom entity mappings

Service registration ​

Services are registered in each bundle's Resources/config/services.yml:

yaml
mz.my_service:
  class: "%mz.my_service.class%"
  autowire: true
  calls:
    - [ setEntityManager, [ "@doctrine.orm.entity_manager" ] ]

Service ID convention

Service IDs follow the pattern mz.<service_name>. The mz prefix stands for Menzzo, the primary brand.

Where do I find...? ​

I'm looking for...Location
Cronjob / command codesrc/AppBundle/Command/
API clientssrc/CoreBundle/Api/
Business servicessrc/*/Services/
Doctrine entitiessrc/*/Entity/
Custom repositoriessrc/*/Repository/
Teststests/
App configapp/config/
Service definitionssrc/*/Resources/config/services.yml
Supplier integrationssrc/*Bundle/ (Bigbuy, Vidaxl, etc.)
Documentation sourcedocs/content/projects/logidav/
Dev toolstools/

Internal developer documentation for Menzzo systems.