diff --git a/apps/cs/app/(with-base-layout)/menu/page.tsx b/apps/cs/app/(with-base-layout)/menu/page.tsx
new file mode 100644
index 000000000..bbac0670c
--- /dev/null
+++ b/apps/cs/app/(with-base-layout)/menu/page.tsx
@@ -0,0 +1,2 @@
+import { MenuPage } from "@/pages/menu";
+export default MenuPage;
diff --git a/apps/cs/package.json b/apps/cs/package.json
index 4b400a285..6e774acba 100644
--- a/apps/cs/package.json
+++ b/apps/cs/package.json
@@ -13,6 +13,7 @@
"@common/components": "workspace:*",
"@frontend-opensource/use-react-hooks": "^1.1.4",
"@hookform/resolvers": "^4.1.3",
+ "@minoru/react-dnd-treeview": "^3.5.0",
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-slot": "^1.1.2",
"@tanstack/react-query": "^5.67.1",
@@ -23,6 +24,7 @@
"js-cookie": "^3.0.5",
"next": "15.1.7",
"react-chartjs-2": "^5.3.0",
+ "react-dnd": "^16.0.1",
"react-hook-form": "^7.54.2",
"tailwindcss-animate": "^1.0.7",
"zod": "^3.24.2",
diff --git a/apps/cs/src/pages/site/api/site-service.ts b/apps/cs/src/entities/site/api/site-service.ts
similarity index 100%
rename from apps/cs/src/pages/site/api/site-service.ts
rename to apps/cs/src/entities/site/api/site-service.ts
diff --git a/apps/cs/src/entities/site/index.ts b/apps/cs/src/entities/site/index.ts
new file mode 100644
index 000000000..985b9346a
--- /dev/null
+++ b/apps/cs/src/entities/site/index.ts
@@ -0,0 +1,7 @@
+export { SiteApi } from "./api/site-service";
+export {
+ siteFormSchema,
+ type ISiteParams,
+ type ISite,
+ type SiteFormData,
+} from "./model/site-interface";
diff --git a/apps/cs/src/pages/site/model/site-interface.ts b/apps/cs/src/entities/site/model/site-interface.ts
similarity index 100%
rename from apps/cs/src/pages/site/model/site-interface.ts
rename to apps/cs/src/entities/site/model/site-interface.ts
diff --git a/apps/cs/src/pages/menu/api/menu-service.ts b/apps/cs/src/pages/menu/api/menu-service.ts
new file mode 100644
index 000000000..bb5dd45f4
--- /dev/null
+++ b/apps/cs/src/pages/menu/api/menu-service.ts
@@ -0,0 +1,22 @@
+import { client } from "@/shared/api";
+import { ENDPOINT } from "@/shared/config";
+import type { Menu, MenuService, TreeMenu } from "../model/menu-interface";
+
+export class MenuApiService implements MenuService {
+ public async getMenuList(siteId: string): Promise