Learn about InStore modules and how to customize them.
A major component of InStore is built on a two-part system of a foundational core application and a selection of product modules. This structure offers flexibility, allowing you to use the base functionality, the full InStore colleague app, or a customized version of it.
InStore core application
The core application is the foundation of InStore. It provides essential functions such as payments, refunds, cash management, and device management.
- Hosting: the core application is hosted by commercetools.
- Customization: the core application cannot be modified or customized directly.
- Integration: you can't integrate with the core application directly, instead, you integrate with it via the core product modules hosted in the InStore modular store.
InStore modules
For the full InStore colleague app experience, you integrate with a selection of InStore product modules from the InStore modular store. These dynamically loaded modules provide the app's functionality and flexibility. If you are not using the InStore colleague app, you can still use these modules to include InStore functionality in your own application.
- Hosting: modules are hosted by you, giving you full control over your implementation.
- Customization: some modules can be customized using administration parameters and styling overrides. For more information about what can be customized for each module, see the relevant documentation page.
- Integration: you can incorporate all available modules or select only the ones you need and replace others with your own frontend components.
InStore modular store
The InStore modular store is the full collection of core product modules and accelerator product modules. You can use the modular store as the base of the InStore colleague app, or you can select specific modules from it to use within your own application.
The InStore modular store is hosted on a private GitHub repository. To access this repository, contact the InStore support team.
For more information about setting up the InStore modular store as a base for the InStore colleague app, see setting up the InStore modular store.
Core product modules
Core product modules act as wrappers for the InStore core application that provides the base InStore functions of payments, refunds, device management, and cash management. The core application is injected into the core product modules at runtime. While this code cannot be directly modified, you can configure some of its behaviors on the InStore colleague app via these wrapper modules using administration parameters in the InStore Center.
Core product modules include the following:
Module | Functionality |
---|---|
InStore_CashManagement | Manages and tracks cash in a location. |
InStore_DeviceManagement | Manages workstations and devices of a location. |
InStore_Payment | Connects to Composable Commerce payment functionalities. |
InStore_Refund | Processes refunds. |
Accelerator product modules
Accelerator product modules provide additional functionality and frontend components for the InStore colleague app, beyond what is offered by the core product modules.
Frontend modules have dependencies on the InStore_State module and on your integration server configuration. You can configure accelerator modules in their webpack setup.
Accelerator product modules include the following:
Module | Functionality |
---|---|
InStore_Auth | Authenticates user access to InStore features based on assigned roles. |
InStore_Cart | Creates and edits Carts, wishlists, and shipping methods. |
InStore_Catalog | Fetches your catalog to display to the user. |
InStore_Configuration | Retrieves data from the InStore_State module to set the presentation of the Settings page of the InStore colleague app. |
InStore_Customer | Retrieves Customer data from Composable Commerce. |
InStore_ReprintReceipt | Reprints receipts and generates gift receipts. |
InStore_Shell | Container app for all other modules, this module loads the other modules and implements the interface of the core modules. |
InStore_State | Provides the logic for the InStore_Shell module and other frontend modules. |
InStore_TransactionHistory | Provides transaction history. |
InStore_UIComponents | Provides UI components including buttons, header, footer, icons, and status bar. |
You can also create and host your own modules to further extend your InStore functionality.