Audit 2026-10: Tài liệu DAC so với website
Ngày audit: 22/10/2026, trên commit 5e82f57 của main. Mục tiêu: mọi tài liệu hiện hành mô tả đúng website đang chạy, và chuyển toàn bộ tài liệu về một nơi duy nhất (docs/, publish tại docs.danghong.me).
1. Thay đổi cấu trúc
| Trước | Sau |
|---|---|
DAC/ | docs/ (VitePress) |
DAC/README.md, A_/B_/C_…/README.md | docs/overview.md, …/index.md |
A5_Content_Standards.md (trùng số A5 với Sitemap) | A8_Content_Standards.md |
Link dạng file:///Users/danghong/… | Link tương đối, VitePress kiểm tra link hỏng lúc build |
| (chưa có) | C2_Deployment.md, C3_Media_Library.md, trang audit này |
2. Những điểm tài liệu lệch với website và đã sửa
| # | Tài liệu | Tài liệu cũ nói | Website thực tế | Đã sửa |
|---|---|---|---|---|
| 1 | README gốc, DAC README | Next.js 14+ và Supabase | Next.js 16, static export, không có backend | ✅ |
| 2 | README gốc | Link tới A0.1_PRD_3.0, A6_Showcase_List, B3.0_Design_System, B1.2_Database_Design, C0_Programming_Standards, C1_Dev_Standards, Learning_Design_Series/ | Các file/thư mục này không tồn tại | ✅ |
| 3 | WORKFLOW | Sprint 3: Supabase Auth, mở khóa Premium, B3_Database_Design.md, B4 | Không có đăng nhập; không có các file đó | ✅ |
| 4 | A2 PRD | Tiêu đề "A0.1"; "không lưu dữ liệu người dùng tại local" | Có dùng localStorage cho yêu thích, vote, bình luận, ghi chú, tiến độ đọc | ✅ |
| 5 | A4 User Stories | Products Hub nằm ở trang chủ; Admin viết Markdown | Products ở /products-hub; dữ liệu là file .ts | ✅ |
| 6 | A5 Sitemap | Cây điều hướng thiếu route | Thêm route chi tiết, trang /updates, /api-docs, chuỗi Page Navigation, các tab About | ✅ |
| 7 | A5 Sitemap | Nhãn điểm "Architect's Choice" / "Functional" | Website dùng "Highly Recommended" / "Phù hợp nếu đúng mục tiêu" / "Không recommend công khai" | ✅ |
| 8 | A6 Catalog | 10 sản phẩm; E-books ở /Learning Design Series | 14 sản phẩm (thiếu Family Dossiers, 4F Reflection, Performance Booster, Prompt Library); E-books ở /books | ✅ |
| 9 | A7 Quiz | Chỉ có chuẩn | Thêm phần trạng thái: chỉ LD#1 có quiz, lớp 1 có 1 câu, lớp 2/3 tự đánh giá | ✅ |
| 10 | B1 Wiki | Shadcn/UI, Markdown/MDX, màu #F7F2ED, "Soft Gold" | Không dùng Shadcn/MDX; nền #F9F7F5, accent #8E3A3A | ✅ |
| 11 | B2 Web Architecture | (public)/, (admin)/, lib/, Zustand, next/image | (main)/, books/viewer, api-docs, data/; useState; ảnh unoptimized | ✅ |
| 12 | B3 Data Architecture | Thư mục /content Markdown + gray-matter | website/src/data/*.ts + public/api/*.json | ✅ |
| 13 | B index | "100% RLS Policy" | Không có database | ✅ |
| 14 | B5 Design System | Navbar "3 trụ cột"; đánh số mục trùng | 5 mục Mega Menu; đánh số lại; ghi rõ CSS variables | ✅ |
| 15 | C1 | Nhánh dev, Supabase migrations | Chỉ có main; không có Supabase; thêm CI | ✅ |
| 16 | website/README.md | Boilerplate của create-next-app | Thay bằng hướng dẫn thật cho dự án | ✅ |
3. Vấn đề trên website (chưa sửa, cần quyết định)
| # | Vấn đề | Gợi ý |
|---|---|---|
| W1 | public/api/courses.json có 9 khóa, dữ liệu có 10; showcase.json có 3 sản phẩm, dữ liệu có 14. Các file viết tay nên dễ lệch. | Sinh tự động từ src/data lúc build, hoặc chuyển phần hồ sơ sang media.danghong.me. |
| W2 | public/api/profile.json dùng Facebook facebook.com/hongdang.architect và email hello@learningarchitect.me, khác với link Facebook dùng ở mọi nơi khác (danghong.harunoyuki). | Xác nhận thông tin đúng, rồi để profile.json đọc từ media.danghong.me. |
| W3 | Code không còn được dùng: src/utils/identity.ts, src/components/NotificationCenter.tsx, src/components/QuizModal.tsx, src/data/communities.json. | Xóa, hoặc nối lại vào giao diện nếu vẫn cần. |
| W4 | /updates và /api-docs không có link nào trỏ tới. Nhật ký /updates chỉ có 3 mục cũ. | Thêm link ở Footer hoặc bỏ trang. |
| W5 | Điểm 4D của khóa học chưa có trong dữ liệu dù trang /list mô tả thang điểm. | Thêm trường scores vào Course nếu muốn hiển thị điểm. |
| W6 | Còn 25 cảnh báo ESLint (biến không dùng, thiếu dependency trong hook, dùng <img>). | Dọn dần; CI hiện chỉ chặn lỗi, không chặn cảnh báo. |
| W7 | Learning Design Series chỉ LD#1 có quiz 3 lớp. | Bổ sung quiz cho LD#2–LD#9 theo A7. |
4. Việc dọn repo đi kèm
- Xóa thư mục thừa
website/website/public/(28 MB, bản sao PDF cũ). - Sửa toàn bộ 42 lỗi ESLint; build vẫn pass.
- Thêm CI (
.github/workflows/ci.yml) chạy lint + build cho website, docs, media.