Source Code Structure
The following diagram shows the dependencies among the modules in the source distribution:

bill-of-materials module
Contains a pom.xml file that lists all the third-party software versions required by Elastic Path.
The
bill-of-materialsmodule must be built before any other module to ensure that the dependencies are available.The parent
ep-commerce/pom.xmlfile is dependent on thisep-commerce/bill-of-materials/pom.xmlfile.
commerce-data module
Demo Import/Export data and images for the Mobee and SnapitUp catalogs.
Used by
extensions/database/ext-datamoduleDependencies can be removed after a project has created its own test data
commerce-engine module
Commerce Engine source. See below for a list of key modules.
| Module Name | Description | 
|---|---|
batch | Batch Server JAR module. | 
core | Core Engine project. This project produces the JAR that contains the Core engine, which contains the lower layers of Core Commerce architecture. | 
email | Email processing modules. | 
importexport | Import-Export Tool. | 
jms | JMS (Java Messaging Service) integration. For more information, see Asynchronous Event Messaging. | 
liquibase | Liquibase change logs. | 
messaging | Event messages for business events. For more information, see Asynchronous Event Messaging. | 
order-processing | Camel routes to split order events into gift certificate and shipment events for fulfillment processing. | 
payment-api | Payments API for payment processing. | 
querylanguage | Query Language project. This project produces a JAR that contains advanced query/EPQL (Elastic Path Query Language) classes. | 
search | Search Server JAR module and Solr configuration files. | 
sync | Data Sync Tool. | 
tax-calculation-connectivity | Connectivity API for tax calculation that is used by Tax Calculation Accelerator Kits. | 
commerce-manager module
Commerce Manager source.
cortex-resources module
Integration layer between Cortex and the Core Engine. Includes resource and repository bundles.
devops module
Devops scripts and configuration.
- Includes reversioning scripts
 - Depends on the deployment package generated by 
extensions/packager 
extensions module
Commerce extensions, webapps, and system tests. See below for a list of key modules.
| Module Name | Description | 
|---|---|
activemq-broker | Runs a local ActiveMQ JMS broker. | 
assets | Application assets including Velocity templates and dynamic content. | 
batch | Batch Server extension JAR and webapp modules. | 
cm | Commerce Manager extensions and webapp modules. | 
core | Core extensions. See Extensions Core modules. | 
cortex | Cortex extension bundles, commerce engine wrapper, webapp and system tests. | 
data-population | Data Population extensions. See the Extending Data Population Tool in Developer Tools. | 
database | Schema extensions and catalog data. See Modifying Schema and Catalog Data. | 
importexport | Import-Export Tool extensions | 
integration | Integration Server webapp. | 
packager | Creates a deployment package and a standalone demo package. | 
search | Search Server extension JAR and webapp modules. | 
sync | Data Sync Tool extensions. | 
system-tests | System tests that depend on launching webapps. Includes webapp smoke tests, extensibility tests, Import/Export tests, and Data Sync tests. |