docker login repository.broadleafcommerce.com:5001
|If you haven’t already, we first recommend following the Broadleaf Microservices API Tutorial. This tutorial focuses on working with the out-of-box backend APIs from a consumer/client perspective using your own provisioned demo instance on Broadleaf Cloud (without having to run any backend code locally). When you’re ready to extend the APIs or looking to run the backend APIs on your own machine, follow the steps below to get your local environment setup to run the full suite of commerce microservices.|
Broadleaf provides a collection of reference accelerator projects allowing a developer to work with the entire Broadleaf microservice ecosystem on a local machine.
These projects are intended to give you a hands-on look at core framework concepts and key extension patterns. Additionally, these projects provide a good foundational starting point to begin building customizations for your specific commerce implementation.
The framework includes 30+ microservices containing extensible commerce service components built on Java and Spring as well as a centralized metadata-driven back office admin framework built in React.
In order to get started running Broadleaf Microservices locally, you will need to obtain a few resources and credentials before working through the installation instructions outlined below.
Broadleaf licensed clients get access to Broadleaf’s Docker Registry, Maven Nexus, and NPM Repository in order to build and run these starter projects. Once you have obtained these credentials, you will need to configure them appropriately (which will be outlined in the relevant sections below). To be eligible for credentials, users must have a Broadleaf Enterprise or Evaluation License.
We also recommend that you have an IDE(s) setup that can support Java and Spring development from a backend commerce API perspective and React/Next.js application development from a frontend consumer experience perspective. Popular choices that we recommend include IntelliJ IDEA and Visual Studio Code.
In order to run the supporting services (e.g. Zookeeper, SOLR, Kafka, etc…) that underpin the Broadleaf ecosystem, you will need to have Docker Engine & Docker Compose installed locally.
Tip Docker Desktop for both Mac and Windows already includes compose along with other docker apps.
Once you have docker installed, you will want to authenticate with Broadleaf’s docker registry enabling you to pull down Broadleaf container images.
docker login repository.broadleafcommerce.com:5001
When prompted, type in the username and password you received above.
The quickest way to get started would be to generate a project using Broadleaf’s Project Intializr: https://start.broadleafcommerce.com.
Note We recommend reading about some project changes and enhancements that have been introduced with Broadleaf Initialzr (especially if you have experience working with older versions of Broadleaf Microservices).
Pick the Broadleaf Release Train that you would like your project to target. If you are unsure or this is your fist time evaluating Broadleaf, pick the latest
Choose a Flex Package Deployment Option. If this is your fist time evaluating Broadleaf, we recommend choosing the
Mono (also called the
one) Flex Package option.
Package Name specific to your company or implementation (e.g.
Choose dependencies for your specific implementation. We recommend
Kafka as good default starting points.
If you know what commerce microservices you wish to extend and customize, pick them here. If you are unsure or this is the first time evaluating Broadleaf, we recommend that you just skip this section as you can easily modify your project later.
If you are just evaluating Broadleaf, we recommend checking the box that Enables Demo Data
Generate to download a zip file to your local machine.
Unzip the downloaded file and review the
HELP.md file included in the
manifest project. Follow the instructions to generate, build, and run the suite of Broadleaf Microservices on your machine.
Tip once you have your choices made on the Initializr, you can also click "Explore" to preview the manifest project output
The following diagram illustrates the topology of all the resources and components that make up the full suite of Broadleaf Microservices once everything is deployed and running.
The overall topology can be broken down into a few functional tiers:
Gateways - the reference architecture provides 2 example proxy gateways: one for requests to back-office/internal applications and APIs called the
admingateway, and another to route requests to a consumer experience/storefront frontend and related APIs called the
Frontend Applications - these are reference Node.js/React applications that provide interfaces to interact with the headless commerce APIs. These applications include a backoffice admin console intended for merchandisers, content managers, vendors, CSRs, etc… an Open API UI which provides a useful interface for developers to understand how to use and consume the out-of-box commerce APIs, and finally an example storefront accelerator that is used to demonstrate how to create a best-practice consumer-facing storefront application
Headless Commerce APIs - these represent the core Broadleaf microservices that provide a lot of commerce functionality across the different services. These core services can be bundled into different Flex Packages based on business needs and overall deployment intentions
Supporting Services - Broadleaf is designed to support a variety of different supporting architecture components. The framework is built on top of different abstraction frameworks allowing you to choose things like a relational database as well as a messaging broker. Our recommended defaults include Postgres and Kafka as an example.
There are multiple ways to experience working with the framework.
General Learning Resources: Resources that outline and describe important Broadleaf Concepts and Features:
From a Frontend Development Perspective: Here are a few resources catered to frontend developers and to those developers looking to create a consumer facing storefront experience
From a Backend API Development Perspective: As a backend developer, here are a few resources catered to debugging and customizing the core Spring/Java commerce APIs:
From an Operational Perspective: Here are resources catered to infrastructure and DevOps: