diff --git a/bo/src/components/TopBar.vue b/bo/src/components/TopBar.vue
index 927feb5..f4d87d9 100644
--- a/bo/src/components/TopBar.vue
+++ b/bo/src/components/TopBar.vue
@@ -38,7 +38,7 @@
import { useFetchJson } from '@/composable/useFetchJson'
import LangSwitch from './inner/LangSwitch.vue'
import ThemeSwitch from './inner/ThemeSwitch.vue'
-import { useAuthStore } from '@/stores/auth'
+import { useAuthStore } from '@/stores/user/auth'
import { computed, ref } from 'vue'
import { currentLang } from '@/router/langs'
import type { LabelTrans, TopMenuItem } from '@/types'
diff --git a/bo/src/components/TopBarLogin.vue b/bo/src/components/TopBarLogin.vue
index d1820b9..3518837 100644
--- a/bo/src/components/TopBarLogin.vue
+++ b/bo/src/components/TopBarLogin.vue
@@ -1,7 +1,7 @@
diff --git a/bo/src/components/admin/ProductDetailView copy.vue b/bo/src/components/admin/ProductDetailView copy.vue
index aacca62..c0934ff 100644
--- a/bo/src/components/admin/ProductDetailView copy.vue
+++ b/bo/src/components/admin/ProductDetailView copy.vue
@@ -198,7 +198,7 @@ import { useEditable } from '@/composable/useConteditable';
import Default from '@/layouts/default.vue';
import { langs } from '@/router/langs';
import { useProductStore } from '@/stores/product';
-import { useSettingsStore } from '@/stores/settings';
+import { useSettingsStore } from '@/stores/admin/settings';
import type { EditorToolbarItem } from '@nuxt/ui';
import { onMounted, ref, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router';
diff --git a/bo/src/components/admin/ProductDetailView.vue b/bo/src/components/admin/ProductDetailView.vue
index 9ebd902..caf5763 100644
--- a/bo/src/components/admin/ProductDetailView.vue
+++ b/bo/src/components/admin/ProductDetailView.vue
@@ -202,7 +202,7 @@ import { useEditable } from '@/composable/useConteditable';
import Default from '@/layouts/default.vue';
import { langs } from '@/router/langs';
import { useProductStore } from '@/stores/product';
-import { useSettingsStore } from '@/stores/settings';
+import { useSettingsStore } from '@/stores/admin/settings';
import type { EditorToolbarItem } from '@nuxt/ui';
import { onMounted, ref, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router';
diff --git a/bo/src/components/customer/CartDetails.vue b/bo/src/components/customer/CartDetails.vue
index 261755d..92d9c8b 100644
--- a/bo/src/components/customer/CartDetails.vue
+++ b/bo/src/components/customer/CartDetails.vue
@@ -52,7 +52,7 @@
diff --git a/bo/src/composable/useFetchJson.ts b/bo/src/composable/useFetchJson.ts
index b181497..455b6ff 100644
--- a/bo/src/composable/useFetchJson.ts
+++ b/bo/src/composable/useFetchJson.ts
@@ -29,7 +29,7 @@ export async function useFetchJson(url: string, opt?: RequestInit):
// Handle 401 — access token expired; try to refresh via the HTTPOnly refresh_token cookie
if (res.status === 401) {
- const { useAuthStore } = await import('@/stores/auth')
+ const { useAuthStore } = await import('@/stores/user/auth')
const authStore = useAuthStore()
const refreshed = await authStore.refreshAccessToken()
diff --git a/bo/src/layouts/default.vue b/bo/src/layouts/default.vue
index bdd47f7..147aed6 100644
--- a/bo/src/layouts/default.vue
+++ b/bo/src/layouts/default.vue
@@ -156,7 +156,7 @@ function getItems(state: 'collapsed' | 'expanded') {
import { useRouter } from 'vue-router'
import { currentLang } from '@/router/langs'
import { useFetchJson } from '@/composable/useFetchJson'
-import { useAuthStore } from '@/stores/auth'
+import { useAuthStore } from '@/stores/user/auth'
import CountryCurrencySwitch from '@/components/inner/CountryCurrencySwitch.vue'
import LangSwitch from '@/components/inner/LangSwitch.vue'
import ThemeSwitch from '@/components/inner/ThemeSwitch.vue'
diff --git a/bo/src/router/index.ts b/bo/src/router/index.ts
index 745d15e..8674008 100644
--- a/bo/src/router/index.ts
+++ b/bo/src/router/index.ts
@@ -1,7 +1,7 @@
import { createRouter, createWebHistory } from 'vue-router'
import { currentLang, langs, switchLocalization } from './langs'
import { getSettings } from './settings'
-import { useAuthStore } from '@/stores/auth'
+import { useAuthStore } from '@/stores/user/auth'
import { getRoutes } from './menu'
function isAuthenticated(): boolean {
diff --git a/bo/src/stores/category.ts b/bo/src/stores/admin/category.ts
similarity index 100%
rename from bo/src/stores/category.ts
rename to bo/src/stores/admin/category.ts
diff --git a/bo/src/stores/customer.ts b/bo/src/stores/admin/customer.ts
similarity index 95%
rename from bo/src/stores/customer.ts
rename to bo/src/stores/admin/customer.ts
index eefaa08..5e5ca08 100644
--- a/bo/src/stores/customer.ts
+++ b/bo/src/stores/admin/customer.ts
@@ -1,6 +1,6 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
-import type { Address } from './address'
+import type { Address } from './user/address'
export interface CustomerData {
companyName: string
diff --git a/bo/src/stores/product.ts b/bo/src/stores/admin/product.ts
similarity index 100%
rename from bo/src/stores/product.ts
rename to bo/src/stores/admin/product.ts
diff --git a/bo/src/stores/settings.ts b/bo/src/stores/admin/settings.ts
similarity index 100%
rename from bo/src/stores/settings.ts
rename to bo/src/stores/admin/settings.ts
diff --git a/bo/src/stores/theme.ts b/bo/src/stores/admin/theme.ts
similarity index 100%
rename from bo/src/stores/theme.ts
rename to bo/src/stores/admin/theme.ts
diff --git a/bo/src/stores/address.ts b/bo/src/stores/user/address.ts
similarity index 100%
rename from bo/src/stores/address.ts
rename to bo/src/stores/user/address.ts
diff --git a/bo/src/stores/auth.ts b/bo/src/stores/user/auth.ts
similarity index 100%
rename from bo/src/stores/auth.ts
rename to bo/src/stores/user/auth.ts
diff --git a/bo/src/stores/cart.ts b/bo/src/stores/user/cart.ts
similarity index 100%
rename from bo/src/stores/cart.ts
rename to bo/src/stores/user/cart.ts
diff --git a/bo/src/views/CategoryView.vue b/bo/src/views/CategoryView.vue
index d6ceab7..a2c1639 100644
--- a/bo/src/views/CategoryView.vue
+++ b/bo/src/views/CategoryView.vue
@@ -20,7 +20,7 @@