The following represents the general considerations that will need to be addressed to launch a custom application on top of Broadleaf Commerce:
- Review the Data Model. We have made every effort to create a rich data model that should cover most, if not all, of our user's needs. However, should you encounter a situation where you need to extend/override the Broadleaf Commerce data model, you will need to refer to Extending Entities.
- Broadleaf Commerce is a Spring-based framework. Your application will need to use Spring as well to interact with Broadleaf Commerce. As a result, you will need to merge the Spring configuration for your application with that of Broadleaf Commerce. Thankfully, this is easy to do, but there are some guidelines. Refer to Merge Configuration.
- Broadleaf Commerce will also work with most modern database platforms for which a valid JDBC driver exists. We include ddl creation scripts for a handful of major database platforms in the sql directory of our distributions.
- Broadleaf Commerce requires at least some minimal entity manager configuration to work with your database. Refer to Persistence Configuration.
- Should you need to add custom configuration for you application based on environment (i.e. development, test, prod, etc...), Broadleaf Commerce provides an environment configuration facility. Refer to Runtime Environment Configuration.
- Should you need to override / alter the behavior specified in a Broadleaf Commerce service, then refer to Extending Services.
- Broadleaf Commerce provides highly-configurable workflows for both pricing and checkout. The default behavior of these workflows will fulfill many user's needs. However, if you wish to re-order workflows or add activities, refer to the Workflow Configuration.
- Broadleaf Commerce performs a number of key functions through the use of modules. For example, Pricing (including shipping, tax, etc...) and Payment (credit card, gift card, bank account, etc...) are all handled through the use of Broadleaf Commerce modules. Refer to the Creating Modules section and the subtopics under Configuring For Your Environment for more information.
- While not required, Broadleaf Commerce suggests that users implement the presentation layer of their applications using Spring MVC. Broadleaf Commerce includes a number of pre-built controllers and tag libraries that work with Spring MVC (our demo application was also built using Spring MVC). Refer to Presentation Layer.