diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_20_26,_11_55 AM_[Changes]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_20_26,_11_55 AM_[Changes]/shelved.patch
deleted file mode 100644
index fcd8efa..0000000
--- a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_20_26,_11_55 AM_[Changes]/shelved.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-Index: .idea/workspace.xml
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
-<+>\n\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n "customColor": "",\n "associatedIndex": 2\n} \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 1785394346997 \n \n \n 1785394346997 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 1785394671723 \n \n \n \n 1785394671723 \n \n \n \n 1785581338739 \n \n \n \n 1785581338740 \n \n \n \n 1785582935941 \n \n \n \n 1785582935941 \n \n \n \n 1785646368102 \n \n \n \n 1785646368102 \n \n \n \n 1785646373594 \n \n \n \n 1785646373594 \n \n \n \n 1785661529816 \n \n \n \n 1785661529816 \n \n \n \n 1785661545228 \n \n \n \n 1785661545228 \n \n \n \n 1785670271325 \n \n \n \n 1785670271325 \n \n \n \n 1785733806431 \n \n \n \n 1785733806431 \n \n \n \n 1785735982915 \n \n \n \n 1785735982915 \n \n \n \n 1785744250045 \n \n \n \n 1785744250045 \n \n \n \n 1785745317460 \n \n \n \n 1785745317460 \n \n \n \n 1785745546500 \n \n \n \n 1785745546500 \n \n \n \n 1785747909966 \n \n \n \n 1785747909967 \n \n \n \n 1785754086526 \n \n \n \n 1785754086526 \n \n \n \n 1785754201946 \n \n \n \n 1785754201946 \n \n \n \n 1785755999255 \n \n \n \n 1785755999255 \n \n \n \n 1785914887554 \n \n \n \n 1785914887554 \n \n \n \n 1785915840468 \n \n \n \n 1785915840468 \n \n \n \n 1785918100372 \n \n \n \n 1785918100372 \n \n \n \n 1785919055708 \n \n \n \n 1785919055708 \n \n \n \n 1785988898095 \n \n \n \n 1785988898096 \n \n \n \n 1787052543722 \n \n \n \n 1787052543722 \n \n \n \n 1788245193637 \n \n \n \n 1788245193637 \n \n \n \n 1788418070013 \n \n \n \n 1788418070013 \n \n \n \n 1788601868240 \n \n \n \n 1788601868240 \n \n \n \n 1788682674027 \n \n \n \n 1788682674027 \n \n \n \n 1788682678051 \n \n \n \n 1788682678051 \n \n \n \n 1789191804591 \n \n \n \n 1789191804591 \n \n \n \n 1789362384351 \n \n \n \n 1789362384351 \n \n \n \n 1789367962553 \n \n \n \n 1789367962553 \n \n \n \n 1789368598921 \n \n \n \n 1789368598921 \n \n \n \n 1789369799782 \n \n \n \n 1789369799782 \n \n \n \n 1789384147873 \n \n \n \n 1789384147873 \n \n \n \n 1789385239281 \n \n \n \n 1789385239281 \n \n \n \n 1789449280006 \n \n \n \n 1789449280006 \n \n \n \n 1789451442320 \n \n \n \n 1789451442320 \n \n \n \n 1789537009629 \n \n \n \n 1789537009629 \n \n \n \n 1789555937414 \n \n \n \n 1789555937414 \n \n \n \n 1789558460777 \n \n \n \n 1789558460777 \n \n \n \n 1789619546219 \n \n \n \n 1789619546219 \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/.idea/workspace.xml b/.idea/workspace.xml
---- a/.idea/workspace.xml (revision be3d57cc6879896bb6aabaa099007b1c4d3dcd3f)
-+++ b/.idea/workspace.xml (date 1789898153093)
-@@ -4,11 +4,8 @@
-
-
-
--
-+
-
--
--
--
-
-
-
-@@ -30,61 +27,61 @@
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
- {
-@@ -96,37 +93,37 @@
-
-
-
-- {
-+ "keyToString": {
-+ "ASKED_MARK_IGNORED_FILES_AS_EXCLUDED": "true",
-+ "ModuleVcsDetector.initialDetectionPerformed": "true",
-+ "RunOnceActivity.ShowReadmeOnStart": "true",
-+ "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
-+ "RunOnceActivity.git.unshallow": "true",
-+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
-+ "codeWithMe.voiceChat.enabledByDefault": "false",
-+ "com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true",
-+ "git-widget-placeholder": "Implement",
-+ "javascript.nodejs.core.library.configured.version": "24.20.0",
-+ "javascript.nodejs.core.library.typings.version": "24.13.3",
-+ "javascript.preferred.runtime.type.id": "node",
-+ "js.debugger.nextJs.config.created.client": "true",
-+ "js.debugger.nextJs.config.created.server": "true",
-+ "junie.onboarding.icon.badge.shown": "true",
-+ "kronk.content.tree.expanded.paths": "",
-+ "last_opened_file_path": "/home/hamed/Documents/Projects/GItLabRepo/device_web",
-+ "node.js.detected.package.eslint": "true",
-+ "node.js.detected.package.tslint": "true",
-+ "node.js.selected.package.eslint": "(autodetect)",
-+ "node.js.selected.package.tslint": "(autodetect)",
-+ "nodejs_package_manager_path": "npm",
-+ "prettierjs.PrettierConfiguration.Package": "/home/hamed/Documents/Projects/GIthubRepo/robot-market-landing/node_modules/prettier",
-+ "settings.editor.selected.configurable": "settings.javascript.prettier",
-+ "to.speed.mode.migration.done": "true",
-+ "ts.external.directory.path": "/home/hamed/Documents/Projects/GIthubRepo/robot-market-landing/node_modules/typescript/lib",
-+ "vue.rearranger.settings.migration": "true"
- }
--}]]>
-+}
-
-
-
-@@ -214,7 +211,10 @@
-
-
-
--
-+
-+
-+
-+
-
-
-
-@@ -544,7 +544,15 @@
-
- 1789619546219
-
--
-+
-+
-+ 1789632107250
-+
-+
-+
-+ 1789632107250
-+
-+
-
-
-
-@@ -568,10 +576,10 @@
-
-
-
--
-
-
-
--
-+
-+
-
-
-\ No newline at end of file
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_20_26__11_55AM__Changes_.xml b/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_20_26__11_55AM__Changes_.xml
deleted file mode 100644
index 7e2e09f..0000000
--- a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_20_26__11_55AM__Changes_.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_21_26,_1_17 PM_[Changes]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_21_26,_1_17 PM_[Changes]/shelved.patch
deleted file mode 100644
index c2e94ef..0000000
--- a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_21_26,_1_17 PM_[Changes]/shelved.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-Index: .idea/workspace.xml
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
-<+>\n\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n "customColor": "",\n "associatedIndex": 2\n} \n \n \n \n \n \n {\n "keyToString": {\n "ASKED_MARK_IGNORED_FILES_AS_EXCLUDED": "true",\n "ModuleVcsDetector.initialDetectionPerformed": "true",\n "RunOnceActivity.ShowReadmeOnStart": "true",\n "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",\n "RunOnceActivity.git.unshallow": "true",\n "RunOnceActivity.typescript.service.memoryLimit.init": "true",\n "codeWithMe.voiceChat.enabledByDefault": "false",\n "com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true",\n "git-widget-placeholder": "Implement",\n "javascript.nodejs.core.library.configured.version": "24.20.0",\n "javascript.nodejs.core.library.typings.version": "24.13.3",\n "javascript.preferred.runtime.type.id": "node",\n "js.debugger.nextJs.config.created.client": "true",\n "js.debugger.nextJs.config.created.server": "true",\n "junie.onboarding.icon.badge.shown": "true",\n "kronk.content.tree.expanded.paths": "",\n "last_opened_file_path": "/home/hamed/Documents/Projects/GItLabRepo/device_web",\n "node.js.detected.package.eslint": "true",\n "node.js.detected.package.tslint": "true",\n "node.js.selected.package.eslint": "(autodetect)",\n "node.js.selected.package.tslint": "(autodetect)",\n "nodejs_package_manager_path": "npm",\n "prettierjs.PrettierConfiguration.Package": "/home/hamed/Documents/Projects/GIthubRepo/robot-market-landing/node_modules/prettier",\n "settings.editor.selected.configurable": "settings.javascript.prettier",\n "to.speed.mode.migration.done": "true",\n "ts.external.directory.path": "/home/hamed/Documents/Projects/GIthubRepo/robot-market-landing/node_modules/typescript/lib",\n "vue.rearranger.settings.migration": "true"\n }\n} \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 1785394346997 \n \n \n 1785394346997 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 1785394671723 \n \n \n \n 1785394671723 \n \n \n \n 1785581338739 \n \n \n \n 1785581338740 \n \n \n \n 1785582935941 \n \n \n \n 1785582935941 \n \n \n \n 1785646368102 \n \n \n \n 1785646368102 \n \n \n \n 1785646373594 \n \n \n \n 1785646373594 \n \n \n \n 1785661529816 \n \n \n \n 1785661529816 \n \n \n \n 1785661545228 \n \n \n \n 1785661545228 \n \n \n \n 1785670271325 \n \n \n \n 1785670271325 \n \n \n \n 1785733806431 \n \n \n \n 1785733806431 \n \n \n \n 1785735982915 \n \n \n \n 1785735982915 \n \n \n \n 1785744250045 \n \n \n \n 1785744250045 \n \n \n \n 1785745317460 \n \n \n \n 1785745317460 \n \n \n \n 1785745546500 \n \n \n \n 1785745546500 \n \n \n \n 1785747909966 \n \n \n \n 1785747909967 \n \n \n \n 1785754086526 \n \n \n \n 1785754086526 \n \n \n \n 1785754201946 \n \n \n \n 1785754201946 \n \n \n \n 1785755999255 \n \n \n \n 1785755999255 \n \n \n \n 1785914887554 \n \n \n \n 1785914887554 \n \n \n \n 1785915840468 \n \n \n \n 1785915840468 \n \n \n \n 1785918100372 \n \n \n \n 1785918100372 \n \n \n \n 1785919055708 \n \n \n \n 1785919055708 \n \n \n \n 1785988898095 \n \n \n \n 1785988898096 \n \n \n \n 1787052543722 \n \n \n \n 1787052543722 \n \n \n \n 1788245193637 \n \n \n \n 1788245193637 \n \n \n \n 1788418070013 \n \n \n \n 1788418070013 \n \n \n \n 1788601868240 \n \n \n \n 1788601868240 \n \n \n \n 1788682674027 \n \n \n \n 1788682674027 \n \n \n \n 1788682678051 \n \n \n \n 1788682678051 \n \n \n \n 1789191804591 \n \n \n \n 1789191804591 \n \n \n \n 1789362384351 \n \n \n \n 1789362384351 \n \n \n \n 1789367962553 \n \n \n \n 1789367962553 \n \n \n \n 1789368598921 \n \n \n \n 1789368598921 \n \n \n \n 1789369799782 \n \n \n \n 1789369799782 \n \n \n \n 1789384147873 \n \n \n \n 1789384147873 \n \n \n \n 1789385239281 \n \n \n \n 1789385239281 \n \n \n \n 1789449280006 \n \n \n \n 1789449280006 \n \n \n \n 1789451442320 \n \n \n \n 1789451442320 \n \n \n \n 1789537009629 \n \n \n \n 1789537009629 \n \n \n \n 1789555937414 \n \n \n \n 1789555937414 \n \n \n \n 1789558460777 \n \n \n \n 1789558460777 \n \n \n \n 1789619546219 \n \n \n \n 1789619546219 \n \n \n \n 1789974962919 \n \n \n \n 1789974962919 \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/.idea/workspace.xml b/.idea/workspace.xml
---- a/.idea/workspace.xml (revision a19a1f501f3dc437691dec20cd9de34f6af8e943)
-+++ b/.idea/workspace.xml (date 1789987765001)
-@@ -6,10 +6,6 @@
-
-
-
--
--
--
--
-
-
-
-@@ -31,61 +27,61 @@
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
- {
-@@ -217,7 +213,7 @@
-
-
-
--
-+
-
-
-
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_21_26__1_17PM__Changes_.xml b/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_21_26__1_17PM__Changes_.xml
deleted file mode 100644
index 0fc6ed2..0000000
--- a/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_21_26__1_17PM__Changes_.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 9609c33..2b4660a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,8 +4,10 @@
-
-
+
+
+
+
@@ -215,6 +217,9 @@
+
+
+
@@ -552,7 +557,15 @@
1789974962919
-
+
+
+ 1790492715355
+
+
+
+ 1790492715355
+
+
@@ -581,6 +594,7 @@
-
+
+
\ No newline at end of file
diff --git a/Next.js Frontend Architecture Guide.md b/Next.js Frontend Architecture Guide.md
new file mode 100644
index 0000000..fce2996
--- /dev/null
+++ b/Next.js Frontend Architecture Guide.md
@@ -0,0 +1,622 @@
+# Next.js Frontend Architecture Guide
+
+## Objective
+
+This document defines the architecture rules for this Next.js project.
+
+Before implementing new features, refactoring existing code, or creating new modules, read and follow this architecture.
+
+The goal is to create a scalable, production-ready frontend suitable for a professional development team.
+
+---
+
+# Technology Stack
+
+The project must use:
+
+- Next.js (App Router)
+- React
+- TypeScript
+- Redux Toolkit
+- Axios
+- Tailwind CSS
+- Ant Design
+
+Do not introduce alternative frameworks or libraries unless explicitly requested.
+
+---
+
+# Architecture Pattern
+
+Use:
+
+## Feature-Based Architecture
+
+Organize code around business features, not technical file types.
+
+Avoid:
+
+```
+src/
+
+components/
+pages/
+services/
+utils/
+```
+
+as the main structure.
+
+Use:
+
+```
+src/
+
+├── app/
+│ ├── (routes)/
+│ ├── api/
+│ ├── providers/
+│ ├── layout.tsx
+│ ├── loading.tsx
+│ ├── error.tsx
+│ └── globals.css
+│
+├── features/
+│ ├── auth/
+│ ├── users/
+│ ├── products/
+│ ├── companies/
+│ └── ...
+│
+├── components/
+│ ├── ui/
+│ ├── common/
+│ └── layouts/
+│
+├── services/
+│ ├── api/
+│ ├── storage/
+│ └── websocket/
+│
+├── store/
+│
+├── hooks/
+│
+├── lib/
+│
+├── types/
+│
+├── utils/
+│
+└── config/
+```
+
+---
+
+# Next.js App Router Rules
+
+Use Next.js App Router.
+
+Routes must be created using:
+
+```
+app/
+```
+
+Example:
+
+```
+app/dashboard/page.tsx
+```
+
+creates:
+
+```
+/dashboard
+```
+
+Do not use React Router.
+
+Do not manually create routing logic.
+
+---
+
+# Server Components vs Client Components
+
+## Default Rule
+
+All components should be Server Components by default.
+
+Example:
+
+```tsx
+export default function UsersPage(){
+
+ return (
+
+ Users
+
+ )
+
+}
+```
+
+---
+
+## Client Components
+
+Use Client Components only when required.
+
+Examples:
+
+- useState
+- useEffect
+- Redux hooks
+- Browser APIs
+- Event handlers
+
+Then add:
+
+```tsx
+"use client"
+```
+
+at the top.
+
+Example:
+
+```tsx
+"use client"
+
+export default function LoginForm(){
+
+}
+```
+
+Do not add `"use client"` unnecessarily.
+
+---
+
+# Feature Structure
+
+Each business feature must be isolated.
+
+Example:
+
+```
+features/auth/
+
+├── api/
+│ └── auth.api.ts
+│
+├── components/
+│ └── LoginForm.tsx
+│
+├── hooks/
+│ └── useLogin.ts
+│
+├── store/
+│ └── auth.slice.ts
+│
+├── schemas/
+│ └── auth.schema.ts
+│
+├── types.ts
+│
+└── index.ts
+```
+
+Example business features:
+
+```
+features/
+
+auth
+users
+companies
+machines
+inventory
+sales
+payments
+reports
+settings
+```
+
+---
+
+# Component Architecture
+
+## Shared Components
+
+Reusable components belong here:
+
+```
+components/ui/
+```
+
+Examples:
+
+```
+Button
+Modal
+Input
+Table
+Dropdown
+Form
+```
+
+These components must not contain business logic.
+
+---
+
+Business components belong inside features:
+
+Example:
+
+```
+features/products/components/ProductCard.tsx
+```
+
+Not:
+
+```
+components/ProductCard.tsx
+```
+
+---
+
+# API Architecture
+
+All API communication must go through Axios.
+
+Never call Axios directly inside components.
+
+Wrong:
+
+```tsx
+function Users(){
+
+ axios.get("/users")
+
+}
+```
+
+Correct:
+
+```
+Component
+
+↓
+
+Hook
+
+↓
+
+Feature API
+
+↓
+
+Axios Service
+
+↓
+
+Backend API
+```
+
+---
+
+Axios configuration:
+
+```
+services/api/
+
+axios.ts
+interceptors.ts
+endpoints.ts
+```
+
+Example:
+
+```ts
+export const api = axios.create({
+ baseURL: process.env.NEXT_PUBLIC_API_URL
+})
+```
+
+---
+
+# Redux Toolkit Rules
+
+Redux Toolkit is used only for global client state.
+
+Examples:
+
+- Authentication state
+- User preferences
+- Application settings
+- Global UI state
+
+
+Structure:
+
+```
+store/
+
+├── index.ts
+├── provider.tsx
+└── slices/
+```
+
+Feature state:
+
+```
+features/auth/store/
+
+auth.slice.ts
+auth.selector.ts
+```
+
+---
+
+Do not store everything in Redux.
+
+Use:
+
+```
+useState
+```
+
+for local component state.
+
+Use Redux only for shared application state.
+
+---
+
+# Redux Provider in Next.js
+
+Redux Provider must be a Client Component.
+
+Example:
+
+```
+store/provider.tsx
+```
+
+```tsx
+"use client"
+
+import {Provider} from "react-redux"
+
+export function ReduxProvider({
+ children
+}){
+
+ return (
+
+ {children}
+
+ )
+
+}
+```
+
+Register it in:
+
+```
+app/layout.tsx
+```
+
+---
+
+# TypeScript Rules
+
+The project must be strongly typed.
+
+Avoid:
+
+```ts
+any
+```
+
+Prefer:
+
+```ts
+interface
+type
+generics
+unknown
+```
+
+Each feature owns its types:
+
+Example:
+
+```
+features/users/types.ts
+```
+
+---
+
+# Tailwind CSS Rules
+
+Use Tailwind for:
+
+- Layout
+- Spacing
+- Responsive design
+- Custom styling
+
+
+Example:
+
+```tsx
+
+```
+
+Avoid unnecessary CSS files.
+
+Global CSS should only contain:
+
+- Variables
+- Theme
+- Global styles
+
+---
+
+# Ant Design Rules
+
+Use Ant Design for complex UI components:
+
+Examples:
+
+- Tables
+- Forms
+- Modal
+- DatePicker
+- Dropdown
+- Pagination
+- Notification
+
+
+Use Tailwind for:
+
+- Layout
+- Positioning
+- Spacing
+- Responsive behavior
+
+
+Do not rewrite Ant Design components unless required.
+
+---
+
+# Data Fetching Rules
+
+Follow this structure:
+
+```
+Page
+
+↓
+
+Feature Component
+
+↓
+
+Custom Hook
+
+↓
+
+API Layer
+
+↓
+
+Axios
+
+↓
+
+Backend
+```
+
+Never put business API logic inside UI components.
+
+---
+
+# Dependency Rules
+
+Features should remain independent.
+
+Wrong:
+
+```
+features/products
+
+imports
+
+features/auth
+```
+
+Correct:
+
+```
+features/products
+
+↓
+
+services
+components
+utils
+```
+
+Shared logic belongs in:
+
+```
+components/
+services/
+utils/
+lib/
+```
+
+---
+
+# Refactoring Rules
+
+When refactoring an existing project:
+
+1. Analyze the current structure first.
+2. Do not rewrite everything immediately.
+3. Move code gradually into feature folders.
+4. Preserve existing functionality.
+5. Improve:
+ - Type safety
+ - Separation of concerns
+ - API abstraction
+ - Component reuse
+ - State management
+
+
+---
+
+# Code Quality Rules
+
+Every file should have one responsibility.
+
+Avoid:
+
+```
+User.tsx
+
+- UI
+- API
+- Validation
+- State
+```
+
+Prefer:
+
+```
+UserCard.tsx
+
+user.api.ts
+
+useUser.ts
+
+user.schema.ts
+```
+
+---
+
+# Final Architecture Goal
+
+The final project must be:
+
+- Scalable
+- Maintainable
+- Team-friendly
+- Type-safe
+- Easy to test
+- Ready for future features
+
+Always prefer clean architecture over fast implementation.
+
+Before creating code, understand where the code belongs in this architecture.
\ No newline at end of file