diff --git a/apps/web-docs/src/components/docs/DocsContentClient.tsx b/apps/web-docs/src/components/docs/DocsContentClient.tsx
index bdbc4605..53b5d1a8 100644
--- a/apps/web-docs/src/components/docs/DocsContentClient.tsx
+++ b/apps/web-docs/src/components/docs/DocsContentClient.tsx
@@ -18,7 +18,7 @@ const LoadingDocs = () => (
const DocNotFound = ({ slug }: { slug: string }) => (
Documentation Not Found
-
The requested documentation "{slug}" could not be found.
+
The requested documentation "{slug}" could not be found.
Please check the URL or navigate using the sidebar.
);
diff --git a/apps/web-docs/src/components/docs/DocsSearch.tsx b/apps/web-docs/src/components/docs/DocsSearch.tsx
index b9788576..490ab511 100644
--- a/apps/web-docs/src/components/docs/DocsSearch.tsx
+++ b/apps/web-docs/src/components/docs/DocsSearch.tsx
@@ -42,7 +42,7 @@ export default function DocsSearch({ placeholder, locale = 'en', docsNavigation
category: group.label[currentLocale],
href: `/${currentLocale}/docs/${item.slug}`
}))
- ), [currentLocale]);
+ ), [currentLocale, docsNavigation]);
// Calculate search results using useMemo instead of useEffect
const results = useMemo(() => {
diff --git a/docs/vi/guides/getting-started.md b/docs/vi/guides/getting-started.md
index 5d821251..f791b90d 100644
--- a/docs/vi/guides/getting-started.md
+++ b/docs/vi/guides/getting-started.md
@@ -16,20 +16,20 @@
Trước khi bắt đầu, đảm bảo bạn đã cài đặt:
-* **Node.js**: v20.0.0 trở lên
+* **Node.js**: v20.0.0 trở lên (khuyến nghị v22+ hoặc v25+)
```bash
node -v
- # v20.10.0
+ # v25.2.1
```
-* **PNPM**: v8.0.0 trở lên (sử dụng pnpm workspaces)
+* **PNPM**: v8.15.0 trở lên (sử dụng pnpm workspaces)
```bash
pnpm -v
- # 8.12.0
+ # 8.15.0
```
-* **Docker & Docker Compose**: Cho infrastructure cục bộ
+* **Docker & Docker Compose**: v24.0.0 trở lên cho infrastructure cục bộ
```bash
docker -v
- # Docker version 24.0.0
+ # Docker version 29.1.3, build f52814d
```
* **Git**: Để quản lý version
* **Tài khoản Neon**: Serverless PostgreSQL (https://neon.tech)
@@ -49,9 +49,35 @@ graph TD
IAM --> Redis[(Redis Cache)]
IAM --> Kafka[Kafka Events]
- style Traefik fill:#e1f5ff
- style DB fill:#f0e1ff
- style Redis fill:#fff4e1
+ style Client fill:#7F8C8D,color:#fff
+ style Traefik fill:#2980B9,color:#fff
+ style IAM fill:#27AE60,color:#fff
+ style Template fill:#E67E22,color:#fff
+ style DB fill:#8E44AD,color:#fff
+ style Redis fill:#F39C12,color:#fff
+ style Kafka fill:#3498DB,color:#fff
+```
+
+### Color Palette / Bảng màu
+
+```mermaid
+graph LR
+ A["Primary
#2980B9"] --> B["Data/Cache
#F39C12"]
+ B --> C["Success
#27AE60"]
+ C --> D["Warning
#E67E22"]
+ D --> E["Error
#C0392B"]
+ E --> F["Processing
#8E44AD"]
+ F --> G["Info
#3498DB"]
+ G --> H["Neutral
#7F8C8D"]
+
+ style A fill:#2980B9,color:#fff
+ style B fill:#F39C12,color:#fff
+ style C fill:#27AE60,color:#fff
+ style D fill:#E67E22,color:#fff
+ style E fill:#C0392B,color:#fff
+ style F fill:#8E44AD,color:#fff
+ style G fill:#3498DB,color:#fff
+ style H fill:#7F8C8D,color:#fff
```
## Cấu trúc Dự án
@@ -60,23 +86,42 @@ Repository tuân theo cấu trúc monorepo:
```
Base/
-├── apps/ # Ứng dụng Frontend
-│ ├── web-client/ # Next.js web application
-│ └── mobile-client/ # Flutter mobile application
-├── services/ # Backend microservices
-│ ├── iam-service/ # Service xác thực & phân quyền
-│ └── _template/ # Template cho service mới
-├── packages/ # Thư viện chia sẻ (Shared libraries)
-│ ├── logger/ # Structured logging
-│ ├── types/ # TypeScript types chia sẻ
-│ └── http-client/ # Client HTTP nội bộ
-├── infra/ # Cấu hình Infrastructure
-│ ├── traefik/ # Cấu hình API Gateway
-│ └── databases/ # Scripts thiết lập Database
-├── deployments/ # Cấu hình Deploy
-│ ├── local/ # Docker Compose cho dev
-│ └── k8s/ # Kubernetes manifests
-└── docs/ # Tài liệu
+├── apps/ # Ứng dụng Frontend
+│ ├── app-admin/ # Admin dashboard application
+│ ├── app-client/ # Client mobile application (Flutter)
+│ ├── web-client/ # Next.js web application
+│ └── web-docs/ # Documentation website (Next.js)
+├── services/ # Backend microservices
+│ ├── iam-service/ # Service xác thực & phân quyền
+│ └── _template/ # Template cho service mới
+├── packages/ # Thư viện chia sẻ (Shared libraries)
+│ ├── auth-sdk/ # Authentication SDK
+│ ├── config/ # Shared configuration utilities
+│ ├── http-client/ # Client HTTP nội bộ
+│ ├── logger/ # Structured logging (@goodgo/logger)
+│ ├── tracing/ # OpenTelemetry tracing
+│ └── types/ # TypeScript types chia sẻ
+├── infra/ # Cấu hình Infrastructure
+│ ├── databases/ # Scripts thiết lập Database
+│ ├── docker/ # Docker configurations
+│ ├── observability/ # Prometheus, Grafana, Loki configs
+│ ├── secrets/ # Secrets management templates
+│ └── traefik/ # Cấu hình API Gateway
+├── deployments/ # Cấu hình Deploy
+│ ├── local/ # Docker Compose cho dev
+│ ├── staging/ # Staging environment configs
+│ └── production/ # Production Kubernetes manifests
+├── scripts/ # Automation scripts
+│ ├── build/ # Build scripts
+│ ├── db/ # Database utilities
+│ ├── deploy/ # Deployment scripts
+│ ├── dev/ # Development helpers
+│ ├── observability/ # Monitoring setup scripts
+│ ├── setup/ # Initial setup scripts
+│ └── utils/ # Utility scripts
+└── docs/ # Tài liệu
+ ├── en/ # English documentation
+ └── vi/ # Vietnamese documentation
```
## Cài đặt & Thiết lập