---
title: Shopware Platform | Shopware Community Hub
description: >-
  In this section, we will discover the high-level structure of the Shopware
  repository.
canonical_url: 'https://hub.shopware.com/learn/unit/shopware-platform'
---

# Shopware Platform

<LearningObjectives>

- Understand the **key components** and their organization in the Shopware platform directory structure.
- Identify the **purpose and functionality** of each major component in the Shopware ecosystem.

</LearningObjectives>

# Shopware Platform

You have installed Shopware. Now, open the `shopware/platform` repo directory structure and look at the source code under the `/src` folder. It is organized into several key folders - `administration`, `core`, `storefront`, and `elasticsearch`, each serving a distinct purpose within the Shopware ecosystem. Let's get a short intro of each :

![structure](./assets/shopwarePlatform-coreStructure.png)

Shopware is composed of a robust set of core components that provide the essential functionalities required for a fully operational ecommerce platform. In addition to these core components, Shopware supports a wide range of add-on components that enhance and extend its capabilities. This unit will detail these components, explaining their roles and how they contribute to the overall functionality of Shopware.

## Administration

The `administration` contains the backend administrative interface of Shopware, which shop administrators and managers use to manage the shop. This includes:

- **Vue.js Components**: The admin panel's frontend components are built with Vue.js. These components handle various tasks, such as managing products, orders, customers, and settings.
- **User Interface**: All the UI elements, including forms, tables, and dashboards, that administrators interact with.
- **API Integrations**: Interfaces and services that communicate with the backend APIs to perform CRUD operations and other administrative tasks.
- **Plugins and Extensions**: The administration panel can be extended with additional plugins to provide more functionality.

### Key Features

- **Dashboard:** Overview of shop performance and key metrics.
- **Product Management:** Tools for adding, editing, and organizing products.
- **Order Management:** Interface for processing and tracking orders.
- **Customer Management:** Management of customer information and interactions.
- **Configuration:** Settings for store operations, themes, and integrations.

<Callout title="Note" type="info">

Since Shopware version 6.7, the **dashboard statistics and associated components** were removed from the administration panel.

</Callout>

## Core Framework

The `core` is the backbone of the Shopware platform, containing the main business logic and core functionalities. This includes:

- **Business Logic**: Classes and services that handle the fundamental operations of the ecommerce platform, such as product management, order processing, customer management, and more.
- **Framework**: The foundational code that supports the entire platform, including dependency injection, event handling, and configuration management.
- **Database Entities**: Definitions of the database schemas and entities used across the platform.
- **Services**: Various services that perform specific tasks, such as payment processing, shipping calculations, and inventory management.
- **Event System**: The core event system that allows for custom actions and reactions within the platform.

### Key Features

- **Dependency Injection:** Ensures a decoupled and modular codebase.
- **Event System:** Facilitates event-driven development, which is crucial for extending Shopware functionalities.
- **Data Abstraction Layer:** Provides a consistent interface for database interactions.

## Storefront

The `storefront` is responsible for rendering the front-end of the ecommerce site. It uses Twig templating and Bootstrap for responsive design, ensuring an optimal user experience across various devices. This includes:

- **Frontend Components**: Templates, stylesheets, and JavaScript files that define the look and feel of the online shop.
**Twig Templates**: These are the templating files used to render the HTML pages of the storefront. Twig is a PHP templating engine**.
- **Themes**: Default and customizable themes that can be applied to change the storefront's appearance.
- **Assets**: Static assets like images, fonts, and CSS files used in the storefront.
- **Controllers**: PHP classes that handle HTTP requests and responses, rendering the appropriate views for various storefront pages.

### Key Features

- **Responsive Design:** Ensures optimal display across different devices.
- **Theme Management:** Customizable themes for a unique shop appearance.
- **SEO Optimization:** Tools to enhance search engine visibility.
- **Checkout Process:** Streamlined and secure checkout experience.

## Elasticsearch

The `elasticsearch` includes configurations and integrations with Elasticsearch, which is used for advanced search capabilities within the Shopware platform. This includes:

- **Elasticsearch Indexing**: Services and scripts that index products, categories, and other data into Elasticsearch.
- **Search Queries**: Definitions of search queries that leverage Elasticsearch's powerful search and filtering capabilities.
- **Configuration**: Settings and configurations for connecting and interacting with Elasticsearch servers.
- **Integration Services**: Code that integrates Elasticsearch with the rest of the Shopware platform, ensuring that data is synchronized and search results are accurate.

### Key Features

- **Full-Text Search:** Comprehensive search functionality for products and content.
- **Faceted Search:** Filtering options to refine search results.
- **Search Suggestions:** Predictive text to enhance search usability.

## DBAL (Database Abstraction Layer)

The DBAL component provides an abstraction layer for database interactions, ensuring consistent and efficient data management.

### Key Features

- **Unified Interface:** Consistent API for database operations.
- **Data Integrity:** Mechanisms to ensure data accuracy and consistency.
- **Scalability:** Efficient handling of large datasets and high transaction volumes.

## API

The API module provides RESTful API endpoints, facilitating seamless integration with third-party services and custom applications. This API-first approach ensures flexibility and extensibility.

### Key Features

- **REST API:** Standard API for interacting with the platform programmatically.
- **Webhooks:** Event-driven notifications for real-time updates.
- **Authentication:** Secure access to API endpoints.

## Messenger

The Messenger component handles asynchronous message processing, improving the scalability and reliability of background tasks.

### Key Features

- **Queue Management:** Efficient handling of task queues.
- **Scalability:** Supports high-throughput message processing.
- **Reliability:** Ensures message delivery and processing integrity.

## Checkout

The Checkout component in Shopware manages the entire checkout process, ensuring a smooth and secure transaction experience for customers.

### Key Features

- **Cart Management:** Handles cart items' addition, removal, and modification.
- **Payment Processing:** Integrates with various payment gateways for secure transactions.
- **Order Management:** Processes and tracks customer orders from initiation to completion.
- **Shipping Options:** Manages shipping methods and calculates shipping costs.

In summary, these folders are crucial to the overall structure and functionality of the Shopware platform:

- **Administration**: Manages the backend interface for administrators.
- **Core**: Contains the platform's essential business logic and framework.
- **Storefront**: Manages the frontend, customer-facing part of the ecommerce site.
- **Elasticsearch**: Handles the integration and configuration of Elasticsearch for advanced search features.

## Core Content Components

### Product Management (src/Core/Content/Product)

Description: Manages all aspects of product data, including creation, editing, categorization, and pricing.

#### Key Features

Product Attributes: Customizable attributes for detailed product descriptions.

Inventory Management: Tracks stock levels and availability.

Product Variants: Supports different versions of a product, such as sizes and colors.

### Category Management (src/Core/Content/Category)

Description: Organizes products into categories for better navigation and searchability.

#### Key Features

Category Tree: Hierarchical organization of product categories.

SEO Optimization: Tools for enhancing category visibility in search engines.

Custom Fields: Additional fields for detailed category descriptions.

### CMS (Content Management System) (src/Core/Content/Cms)

Description: Allows for the creation and management of custom content pages within the storefront.

#### Key Features

Drag-and-Drop Editor: User-friendly interface for creating content pages.

Content Blocks: Predefined blocks for adding text, images, videos, and other media.

Landing Pages: Tools for creating targeted landing pages for marketing campaigns.

### Media Management (src/Core/Content/Media)

Description: Handles all media files used in the storefront, including images, videos, and documents.

#### Key Features

Media Library: Central repository for managing media files.

Image Optimization: Tools for resizing and optimizing images.

Media Linking: Easy integration of media files into product listings and content.

### Flow (Flow Builder) (src/Core/Content/Flow)

Description: The Flow Builder allows users to automate business processes by defining flows based on specific triggers and actions.

#### Key Features

Automation: Create automated workflows to handle repetitive tasks.

Visual Interface: User-friendly drag-and-drop interface for designing flows.

Integration: Seamlessly integrates with other Shopware components and external services.

### Rule (Rule Builder) (src/Core/Content/Rule)

Description: The Rule Builder allows users to create custom rules that can be applied across various Shopware functionalities, such as pricing, promotions, and content visibility.

#### Key Features

Customization: Define rules based on a wide range of conditions and criteria.

Flexibility: Apply rules to different parts of the shop, enhancing personalization.

User Interface: Intuitive interface for creating and managing rules.

### Product Stream (src/Core/Content/ProductStream)

Description: Product Streams allow dynamic grouping of products based on specific criteria, which can be used for personalized marketing and product recommendations.

#### Key Features

Dynamic Grouping: Automatically update product groups based on defined criteria.

Marketing Integration: Use product streams for targeted marketing campaigns.

Flexibility: Create streams based on a variety of product attributes and conditions.

### Product Export (src/Core/Content/ProductExport)

Description: The Product Export component enables the export of product data for use in external systems, marketplaces, and comparison shopping engines.

#### Key Features

Customizable Templates: Define export templates to meet specific requirements.

Scheduled Exports: Automate the export process with scheduled tasks.

Integration: Export data in formats compatible with various external platforms.

### Dependency Injection (src/Core/Framework/DependencyInjection)

Description: The Dependency Injection component is a part of the core framework that facilitates the management of dependencies, promoting a modular and maintainable codebase.

#### Key Features

Decoupling: Reduces direct dependencies between components, enhancing modularity.

Configuration: Easily configure and manage dependencies through service containers.

Flexibility: Supports the injection of services and parameters into components.

## Core System Components

### User Management (src/Core/System/User)

Description: Manages user accounts, roles, and permissions within the Shopware platform.

#### Key Features

User Accounts: Creation and management of user accounts.

Role-Based Access Control: Assigns permissions based on user roles.

Security: Ensures secure access and user authentication.

### System Configuration (src/Core/System/SystemConfig)

Description: Handles global system settings and configurations.

#### Key Features

Configuration Management: Centralized management of system settings.

Environment Variables: Support for different configurations based on environments (development, staging, production).

### Currency Management (src/Core/System/Currency)

Description: Manages currencies used within the Shopware platform.

#### Key Features

Currency Settings: Configuration of different currencies.

Exchange Rates: Management of exchange rates for multi-currency support.

### Snippet Management (src/Core/System/Snippet)

Description: Manages language snippets and translations within the platform.

#### Key Features

Language Packs: Support for multiple languages and translations.

Snippet Editing: Tools for customizing language snippets used in the storefront and administration.

Understanding the core components of Shopware is essential for leveraging its full potential. The core components provide the foundational functionalities necessary for running an eCommerce shop, while add-on components allow for customization and extended capabilities. This modular approach ensures that Shopware can be tailored to meet specific business needs, providing a flexible and scalable eCommerce solution.

For more detailed information on Shopware Platform and its components, refer to the [Shopware GitHub Repository](https://github.com/shopware/shopware) and our course  [Shopware Backend Development Essentials](https://hub.shopware.com/learn/path/shopware-backend-development-essentials).
