diff --git a/commerce.links.menu.yml b/commerce.links.menu.yml
index b661e554..cffef261 100644
--- a/commerce.links.menu.yml
+++ b/commerce.links.menu.yml
@@ -6,8 +6,8 @@ commerce.admin_commerce:
   weight: -9
 
 commerce.configuration:
-  title: 'Configuration'
+  title: 'Others'
   route_name: 'commerce.configuration'
   parent: 'commerce.admin_commerce'
-  description: 'Configure your store and Commerce module settings.'
+  description: 'Miscellaneous settings.'
   weight: 10
diff --git a/commerce.module b/commerce.module
index d29970d6..980cf915 100644
--- a/commerce.module
+++ b/commerce.module
@@ -212,3 +212,54 @@ function commerce_module_preuninstall($module) {
     \Drupal::service('commerce.bundle_plugin_installer')->uninstallBundles($entity_type, [$module]);
   }
 }
+
+/**
+ * Implements hook_theme().
+ */
+function commerce_theme($existing, $type, $theme, $path) {
+  return [
+    'commerce__dashboard_layout' => [
+      'variables' => [
+        'groups' => [],
+      ],
+    ],
+  ];
+}
+
+/**
+ * Implements hook_theme_suggestions_HOOK_alter().
+ */
+function commerce_theme_suggestions_admin_block_content_alter(&$suggestions, $vars, $hook) {
+  if ('commerce.admin_commerce' == \Drupal::routeMatch()->getRouteName()) {
+    $suggestions[] = 'commerce__' . 'dashboard_layout';
+  }
+}
+
+/**
+ * Implements template_preprocess_HOOK().
+ *
+ * TODO:Reorder groups according to their weights.
+ */
+function template_preprocess_commerce__dashboard_layout(&$vars) {
+  $items = $vars['content'];
+  $groups = [];
+
+  foreach ($items as $key => $item) {
+    // Add unique class to commerce components.
+    $class = strtolower($item['title']);
+    $class = str_replace(' ', '-', $class);
+    $item['class'] = $class;
+
+    // Group together components.
+    if (isset($item['options']['attributes']['group'])) {
+      $group = $item['options']['attributes']['group'];
+      $groups[$group]['title'] = $group;
+      $groups[$group][] = $item;
+    }
+    else {
+      $groups['miscellaneous']['title'] = t('Miscellaneous');
+      $groups['miscellaneous'][] = $item;
+    }
+  }
+  $vars['groups'] = $groups;
+}
diff --git a/commerce.routing.yml b/commerce.routing.yml
index 1bb23567..2b27f141 100644
--- a/commerce.routing.yml
+++ b/commerce.routing.yml
@@ -10,6 +10,6 @@ commerce.configuration:
   path: '/admin/commerce/config'
   defaults:
     _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
-    _title: 'Configuration'
+    _title: 'Others'
   requirements:
     _permission: 'access commerce administration pages'
diff --git a/modules/checkout/commerce_checkout.links.menu.yml b/modules/checkout/commerce_checkout.links.menu.yml
index ab97bd50..4c6f8350 100644
--- a/modules/checkout/commerce_checkout.links.menu.yml
+++ b/modules/checkout/commerce_checkout.links.menu.yml
@@ -1,5 +1,8 @@
 entity.commerce_checkout_flow.collection:
   title: 'Checkout flows'
   route_name: 'entity.commerce_checkout_flow.collection'
-  parent: 'commerce.configuration'
+  parent: 'commerce.admin_commerce'
   description: 'Manage your checkout flows.'
+  options:
+    attributes:
+      group: Store Management & Configuration
\ No newline at end of file
diff --git a/modules/order/commerce_order.links.menu.yml b/modules/order/commerce_order.links.menu.yml
index 58b1f577..400cc05b 100644
--- a/modules/order/commerce_order.links.menu.yml
+++ b/modules/order/commerce_order.links.menu.yml
@@ -3,15 +3,24 @@ entity.commerce_order.collection:
   route_name: entity.commerce_order.collection
   parent: commerce.admin_commerce
   description: 'Manage your orders.'
+  options:
+    attributes:
+      group: Order Management
 
 entity.commerce_order_type.collection:
   title: Order types
   route_name: entity.commerce_order_type.collection
-  parent: commerce.configuration
+  parent: commerce.admin_commerce
   description: 'Manage your order types.'
+  options:
+    attributes:
+      group: Order Management
 
 entity.commerce_order_item_type.collection:
   title: Order item types
   route_name: entity.commerce_order_item_type.collection
-  parent: commerce.configuration
+  parent: commerce.admin_commerce
   description: 'Manage your order item types.'
+  options:
+    attributes:
+      group: Order Management
diff --git a/modules/payment/commerce_payment.links.menu.yml b/modules/payment/commerce_payment.links.menu.yml
index d1fd162c..f92a4bbe 100644
--- a/modules/payment/commerce_payment.links.menu.yml
+++ b/modules/payment/commerce_payment.links.menu.yml
@@ -1,5 +1,8 @@
 entity.commerce_payment_gateway.collection:
   title: 'Payment gateways'
   route_name: 'entity.commerce_payment_gateway.collection'
-  parent: 'commerce.configuration'
+  parent: commerce.admin_commerce'
   description: 'Manage your payment gateways.'
+  options:
+    attributes:
+      group: Store Management & Configuration
\ No newline at end of file
diff --git a/modules/price/commerce_price.links.menu.yml b/modules/price/commerce_price.links.menu.yml
index 1e16de69..1e03f6c5 100644
--- a/modules/price/commerce_price.links.menu.yml
+++ b/modules/price/commerce_price.links.menu.yml
@@ -1,5 +1,8 @@
 entity.commerce_currency.collection:
   title: Currencies
   route_name: entity.commerce_currency.collection
-  parent: commerce.configuration
+  parent: commerce.admin_commerce
   description: 'Manage your currencies.'
+  options:
+    attributes:
+      group: Store Management & Configuration
diff --git a/modules/product/commerce_product.links.menu.yml b/modules/product/commerce_product.links.menu.yml
index 2b3ec8b5..f5a35a27 100644
--- a/modules/product/commerce_product.links.menu.yml
+++ b/modules/product/commerce_product.links.menu.yml
@@ -3,21 +3,33 @@ entity.commerce_product.collection:
   route_name: 'entity.commerce_product.collection'
   parent: 'commerce.admin_commerce'
   description: 'Manage your products.'
+  options:
+    attributes:
+      group: Products
 
 entity.commerce_product_attribute.collection:
   title: 'Product attributes'
   route_name: 'entity.commerce_product_attribute.collection'
   parent: 'commerce.admin_commerce'
   description: 'Manage your product attributes.'
+  options:
+    attributes:
+      group: Products
 
 entity.commerce_product_type.collection:
   title: 'Product types'
   route_name: 'entity.commerce_product_type.collection'
-  parent: 'commerce.configuration'
+  parent: commerce.admin_commerce
   description: 'Manage your product types.'
+  options:
+    attributes:
+      group: Products
 
 entity.commerce_product_variation_type.collection:
   title: 'Product variation types'
   route_name: 'entity.commerce_product_variation_type.collection'
-  parent: 'commerce.configuration'
+  parent: commerce.admin_commerce
   description: 'Manage your product variation types.'
+  options:
+    attributes:
+      group: Products
diff --git a/modules/promotion/commerce_promotion.links.menu.yml b/modules/promotion/commerce_promotion.links.menu.yml
index 97436e6a..bc262a49 100644
--- a/modules/promotion/commerce_promotion.links.menu.yml
+++ b/modules/promotion/commerce_promotion.links.menu.yml
@@ -3,3 +3,6 @@ entity.commerce_promotion.collection:
   route_name: 'entity.commerce_promotion.collection'
   parent: 'commerce.admin_commerce'
   description: 'Manage your promotions.'
+  options:
+    attributes:
+      group: Store Management & Configuration
diff --git a/modules/store/commerce_store.links.menu.yml b/modules/store/commerce_store.links.menu.yml
index c4d8e89c..8658fc24 100644
--- a/modules/store/commerce_store.links.menu.yml
+++ b/modules/store/commerce_store.links.menu.yml
@@ -3,9 +3,16 @@ entity.commerce_store.collection:
   route_name: 'entity.commerce_store.collection'
   parent: 'commerce.admin_commerce'
   description: 'Manage your stores.'
+  options:
+    attributes:
+      group: Store Management & Configuration
+
 
 entity.commerce_store_type.collection:
   title: 'Store types'
   route_name: 'entity.commerce_store_type.collection'
-  parent: 'commerce.configuration'
+  parent: commerce.admin_commerce
   description: 'Manage your store types.'
+  options:
+    attributes:
+      group: Store Management & Configuration
diff --git a/modules/tax/commerce_tax.links.menu.yml b/modules/tax/commerce_tax.links.menu.yml
index c566f7ce..16bb8e29 100644
--- a/modules/tax/commerce_tax.links.menu.yml
+++ b/modules/tax/commerce_tax.links.menu.yml
@@ -1,5 +1,8 @@
 entity.commerce_tax_type.collection:
   title: 'Tax types'
   route_name: 'entity.commerce_tax_type.collection'
-  parent: 'commerce.configuration'
+  parent: commerce.admin_commerce
   description: 'Manage your tax types.'
+  options:
+    attributes:
+      group: Store Management & Configuration
diff --git a/templates/commerce--dashboard-layout.html.twig b/templates/commerce--dashboard-layout.html.twig
new file mode 100644
index 00000000..770baf6f
--- /dev/null
+++ b/templates/commerce--dashboard-layout.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Dashboard layout template.
+ *
+ * @ingroup themeable
+ */
+#}
+<div class="commerce-dashboard">
+  <div id="commerce-wizard-progress">
+    <div> {{ 'Placeholder for commerce_wizard progress'|t }}</div>
+  </div>
+
+  {% for group in groups %}
+    <h2>{{ group.title }}</h2>
+    {% for item in group %}
+      <div class="box {{ item.class }}">
+        <a href="{{ item.url.toString }}">{{ item.title }}</a>
+        <div>{{ item.description }}</div>
+      </div>
+    {% endfor %}
+  {% endfor %}
+</div>
