AGENTS.md
translations/vi/AGENTS.mdAGENTS.md
Quality
74/100
Scores the file, not the repository.Length
2,457 words
59 headings · 12 code blocksRepository
96k
— · pushed 3 days agoLast changed
3 days ago
First indexed 3 days ago.1# AGENTS.md23## Giới Thiệu Dự Án45Đây là kho tài liệu giáo dục dành cho việc giảng dạy các kiến thức cơ bản về phát triển web cho người mới bắt đầu. Chương trình học là một khóa học toàn diện kéo dài 12 tuần được phát triển bởi Microsoft Cloud Advocates, bao gồm 24 bài học thực hành về JavaScript, CSS và HTML.67### Thành Phần Chính89- **Nội dung giáo dục**: 24 bài học có cấu trúc, tổ chức thành các mô-đun dự án10- **Dự án thực hành**: Terrarium, Trò chơi gõ chữ, Tiện ích mở rộng trình duyệt, Trò chơi không gian, Ứng dụng ngân hàng, Trình soạn thảo mã, và Trợ lý trò chuyện AI11- **Bài kiểm tra tương tác**: 48 bài kiểm tra với 3 câu hỏi mỗi bài (đánh giá trước/sau bài học)12- **Hỗ trợ đa ngôn ngữ**: Dịch tự động sang hơn 50 ngôn ngữ qua GitHub Actions13- **Công nghệ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (cho các dự án AI)1415### Kiến Trúc1617- Kho tài liệu giáo dục theo cấu trúc dựa trên bài học18- Mỗi thư mục bài học chứa README, ví dụ mã và giải pháp19- Các dự án độc lập trong các thư mục riêng (quiz-app, các dự án bài học khác)20- Hệ thống dịch thuật sử dụng GitHub Actions (co-op-translator)21- Tài liệu được phục vụ qua Docsify và có sẵn dưới dạng PDF2223## Các Lệnh Thiết Lập2425Kho này chủ yếu dùng để truy cập nội dung giáo dục. Để làm việc với các dự án cụ thể:2627### Thiết Lập Kho Chính2829```bash30git clone https://github.com/microsoft/Web-Dev-For-Beginners.git31cd Web-Dev-For-Beginners32```3334### Thiết Lập Ứng Dụng Quiz (Vue 3 + Vite)3536```bash37cd quiz-app38npm install39npm run dev # Khởi động máy chủ phát triển40npm run build # Xây dựng cho sản xuất41npm run lint # Chạy ESLint42```4344### API Dự Án Ngân Hàng (Node.js + Express)4546```bash47cd 7-bank-project/api48npm install49npm start # Khởi động máy chủ API50npm run lint # Chạy ESLint51npm run format # Định dạng với Prettier52```5354### Các Dự Án Tiện Ích Mở Rộng Trình Duyệt5556```bash57cd 5-browser-extension/solution58npm install59# Làm theo hướng dẫn tải tiện ích mở rộng theo trình duyệt cụ thể60```6162### Các Dự Án Trò Chơi Không Gian6364```bash65cd 6-space-game/solution66npm install67# Mở index.html trong trình duyệt hoặc sử dụng Live Server68```6970### Dự Án Trò Chuyện (Backend Python)7172```bash73cd 9-chat-project/solution/backend/python74pip install openai75# Đặt biến môi trường GITHUB_TOKEN76python api.py77```7879## Quy Trình Phát Triển8081### Dành Cho Người Đóng Góp Nội Dung82831. **Fork kho** về tài khoản GitHub của bạn842. **Clone bản fork** về máy cục bộ853. **Tạo nhánh mới** để thực hiện thay đổi864. Thay đổi nội dung bài học hoặc ví dụ mã875. Kiểm thử các thay đổi mã trong thư mục dự án liên quan886. Gửi pull request theo hướng dẫn đóng góp8990### Dành Cho Người Học91921. Fork hoặc clone kho về932. Di chuyển tuần tự đến các thư mục bài học943. Đọc các file README cho mỗi bài học954. Hoàn thành bài kiểm tra trước bài học tại https://ff-quizzes.netlify.app/web/965. Làm các ví dụ mã trong thư mục bài học976. Hoàn thành các bài tập và thử thách987. Tham gia bài kiểm tra sau bài học99100### Phát Triển Trực Tiếp101102- **Tài liệu**: Chạy `docsify serve` ở thư mục gốc (cổng 3000)103- **Ứng dụng Quiz**: Chạy `npm run dev` trong thư mục quiz-app104- **Dự án**: Dùng tiện ích VS Code Live Server cho các dự án HTML105- **Dự án API**: Chạy `npm start` trong các thư mục API tương ứng106107## Hướng Dẫn Kiểm Thử108109### Kiểm Thử Ứng Dụng Quiz110111```bash112cd quiz-app113npm run lint # Kiểm tra các vấn đề về phong cách mã114npm run build # Xác minh xây dựng thành công115```116117### Kiểm Thử API Ngân Hàng118119```bash120cd 7-bank-project/api121npm run lint # Kiểm tra các vấn đề về phong cách mã122node server.js # Xác minh máy chủ khởi động không có lỗi123```124125### Phương Pháp Kiểm Thử Chung126127- Kho giáo dục này không có các bài kiểm thử tự động đầy đủ128- Kiểm thử thủ công tập trung vào:129 - Ví dụ mã chạy không lỗi130 - Các liên kết trong tài liệu hoạt động chính xác131 - Các dự án build thành công132 - Ví dụ theo đúng thực tiễn tốt nhất133134### Kiểm Tra Trước Khi Gửi135136- Chạy `npm run lint` trong các thư mục có package.json137- Xác minh các liên kết markdown hợp lệ138- Kiểm thử các ví dụ mã trong trình duyệt hoặc Node.js139- Kiểm tra dịch thuật duy trì cấu trúc chính xác140141## Hướng Dẫn Phong Cách Mã142143### JavaScript144145- Dùng cú pháp ES6+ hiện đại146- Tuân thủ cấu hình ESLint tiêu chuẩn trong các dự án147- Đặt tên biến và hàm rõ nghĩa, dễ hiểu cho học viên148- Thêm chú thích giải thích khái niệm cho người học149- Định dạng mã bằng Prettier nếu được cấu hình150151### HTML/CSS152153- Các thành phần HTML5 có ngữ nghĩa154- Nguyên tắc thiết kế đáp ứng (responsive)155- Quy ước đặt tên class rõ ràng156- Chú thích kỹ thuật CSS giải thích cho học viên157158### Python159160- Tuân thủ hướng dẫn phong cách PEP 8161- Ví dụ mã rõ ràng, phù hợp giáo dục162- Thêm chỉ dẫn kiểu (type hints) nếu giúp người học163164### Tài Liệu Markdown165166- Cấp độ tiêu đề rõ ràng167- Khối mã khai báo ngôn ngữ lập trình168- Liên kết nguồn tài liệu bổ sung169- Ảnh chụp màn hình và hình ảnh trong thư mục `images/`170- Văn bản thay thế (alt text) cho hình ảnh để tăng khả năng tiếp cận171172### Tổ Chức Tệp173174- Bài học đánh số tuần tự (1-getting-started-lessons, 2-js-basics, vv)175- Mỗi dự án có thư mục `solution/` và thường có thư mục `start/` hoặc `your-work/`176- Hình ảnh lưu trong thư mục `images/` riêng từng bài học177- Bản dịch trong cấu trúc `translations/{language-code}/`178179## Xây Dựng và Triển Khai180181### Triển Khai Ứng Dụng Quiz (Azure Static Web Apps)182183Ứng dụng quiz đã được cấu hình để triển khai với Azure Static Web Apps:184185```bash186cd quiz-app187npm run build # Tạo thư mục dist/188# Triển khai thông qua quy trình làm việc GitHub Actions khi đẩy lên nhánh main189```190191Cấu hình Azure Static Web Apps:192- **Vị trí ứng dụng**: `/quiz-app`193- **Vị trí đầu ra**: `dist`194- **Quy trình làm việc**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`195196### Tạo PDF Tài Liệu197198```bash199npm install # Cài đặt docsify-to-pdf200npm run convert # Tạo PDF từ docs201```202203### Tài Liệu Docsify204205```bash206npm install -g docsify-cli # Cài đặt Docsify toàn cục207docsify serve # Phục vụ trên localhost:3000208```209210### Build Riêng Cho Dự Án211212Mỗi thư mục dự án có thể có quy trình build riêng:213- Dự án Vue: chạy `npm run build` để tạo gói sản xuất214- Dự án tĩnh: không cần bước build, phục vụ file trực tiếp215216## Hướng Dẫn Pull Request217218### Định Dạng Tiêu Đề219220Dùng tiêu đề rõ ràng, mô tả khu vực thay đổi:221- `[Quiz-app] Thêm bài kiểm tra mới cho bài học X`222- `[Lesson-3] Sửa lỗi chính tả trong dự án terrarium`223- `[Translation] Thêm bản dịch tiếng Tây Ban Nha cho bài học 5`224- `[Docs] Cập nhật hướng dẫn thiết lập`225226### Kiểm Tra Bắt Buộc227228Trước khi gửi PR:2292301. **Chất lượng mã**:231 - Chạy `npm run lint` trong các thư mục dự án ảnh hưởng232 - Sửa tất cả lỗi và cảnh báo lint2332342. **Xác minh build**:235 - Chạy `npm run build` nếu có236 - Đảm bảo không có lỗi build2372383. **Kiểm tra liên kết**:239 - Thử tất cả các liên kết markdown240 - Xác nhận hình ảnh hiển thị đúng2412424. **Kiểm duyệt nội dung**:243 - Đọc lại chính tả và ngữ pháp244 - Đảm bảo ví dụ mã chính xác và phù hợp học thuật245 - Xác nhận bản dịch giữ nguyên nghĩa246247### Yêu Cầu Đóng Góp248249- Đồng ý với Microsoft CLA (kiểm tra tự động khi PR đầu tiên)250- Tuân thủ [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)251- Tham khảo [CONTRIBUTING.md](./CONTRIBUTING.md) để biết hướng dẫn chi tiết252- Tham chiếu số issue trong mô tả PR nếu có253254### Quy Trình Đánh Giá255256- PR được duyệt bởi người duy trì và cộng đồng257- Ưu tiên tính rõ ràng trong giáo dục258- Ví dụ mã tuân thủ thực tiễn tốt nhất hiện hành259- Kiểm tra độ chính xác và phù hợp văn hóa của bản dịch260261## Hệ Thống Dịch Thuật262263### Dịch Tự Động264265- Dùng GitHub Actions với workflow co-op-translator266- Dịch tự động sang hơn 50 ngôn ngữ267- Tệp nguồn trong các thư mục chính268- Tệp được dịch lưu trong thư mục `translations/{language-code}/`269270### Thêm Cải Tiến Dịch Thủ Công2712721. Tìm tệp trong `translations/{language-code}/`2732. Cải tiến nội dung giữ nguyên cấu trúc2743. Đảm bảo các ví dụ mã hoạt động2754. Kiểm thử nội dung quiz đã dịch276277### Siêu Dữ Liệu Dịch Thuật278279Tệp dịch có bao gồm đầu mục metadata:280```markdown281<!--282CO_OP_TRANSLATOR_METADATA:283{284 "original_hash": "...",285 "translation_date": "...",286 "source_file": "...",287 "language_code": "..."288}289-->290```291292## Gỡ Lỗi và Khắc Phục Sự Cố293294### Vấn Đề Thường Gặp295296**Ứng dụng quiz không khởi động**:297- Kiểm tra phiên bản Node.js (khuyến nghị v14+)298- Xóa thư mục `node_modules` và file `package-lock.json`, chạy lại `npm install`299- Kiểm tra xung đột cổng (mặc định Vite dùng cổng 5173)300301**API server không khởi động**:302- Đảm bảo phiên bản Node.js >= 10303- Kiểm tra xem cổng có đang được sử dụng không304- Đảm bảo cài đặt tất cả phụ thuộc với `npm install`305306**Tiện ích mở rộng trình duyệt không tải được**:307- Kiểm tra file manifest.json đúng định dạng308- Xem console trình duyệt để phát hiện lỗi309- Làm theo hướng dẫn cài đặt riêng của trình duyệt310311**Vấn đề dự án chat Python**:312- Cài đặt gói OpenAI: `pip install openai`313- Xác nhận biến môi trường GITHUB_TOKEN đã được thiết lập314- Kiểm tra quyền truy cập Models GitHub315316**Docsify không phục vụ tài liệu**:317- Cài docsify-cli toàn cục: `npm install -g docsify-cli`318- Chạy từ thư mục gốc của kho319- Kiểm tra file `docs/_sidebar.md` tồn tại320321### Mẹo Phát Triển Môi Trường322323- Dùng VS Code với tiện ích Live Server cho các dự án HTML324- Cài ESLint và Prettier để định dạng nhất quán325- Dùng DevTools trình duyệt để gỡ lỗi JavaScript326- Với dự án Vue, cài đặt tiện ích Vue DevTools cho trình duyệt327328### Cân Nhắc Hiệu Suất329330- Số lượng tệp dịch lớn (hơn 50 ngôn ngữ) làm cho clone đầy đủ nặng331- Dùng clone nông nếu chỉ làm việc nội dung: `git clone --depth 1`332- Loại trừ thư mục dịch khỏi tìm kiếm khi làm việc với nội dung tiếng Anh333- Quá trình build có thể chậm lần đầu (npm install, build Vite)334335## Cân Nhắc Bảo Mật336337### Biến Môi Trường338339- Không được commit khóa API vào kho340- Dùng các file `.env` (đã có trong `.gitignore`)341- Ghi lại các biến môi trường cần thiết trong README dự án342343### Dự Án Python344345- Sử dụng môi trường ảo: `python -m venv venv`346- Giữ phụ thuộc luôn được cập nhật347- Token GitHub chỉ cần quyền tối thiểu cần thiết348349### Quyền Truy Cập GitHub Models350351- Cần Personal Access Tokens (PAT) cho GitHub Models352- Lưu tokens dưới dạng biến môi trường353- Không được commit tokens hoặc thông tin đăng nhập354355## Ghi Chú Thêm356357### Đối Tượng Hướng Đến358359- Người mới bắt đầu hoàn toàn về phát triển web360- Học sinh và người tự học361- Giáo viên sử dụng chương trình trong lớp học362- Nội dung thiết kế để dễ tiếp cận và xây dựng kỹ năng dần dần363364### Triết Lý Giáo Dục365366- Học qua dự án367- Kiểm tra kiến thức thường xuyên (quiz)368- Thực hành viết mã trực tiếp369- Ví dụ ứng dụng thực tế370- Tập trung vào kiến thức nền tảng trước khi học framework371372### Bảo Trì Kho373374- Cộng đồng học viên và người đóng góp năng động375- Cập nhật thường xuyên các phụ thuộc và nội dung376- Người quản lý theo dõi các issue và thảo luận377- Cập nhật dịch tự động qua GitHub Actions378379### Tài Nguyên Liên Quan380381- [Microsoft Learn modules](https://docs.microsoft.com/learn/)382- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)383- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) được khuyến nghị cho học viên384- Các khoá học bổ sung: AI tạo sinh, Khoa học dữ liệu, ML, IoT385386### Làm Việc Với Các Dự Án Cụ Thể387388Hướng dẫn chi tiết cho từng dự án xem trong các tệp README:389- `quiz-app/README.md` - Ứng dụng quiz Vue 3390- `7-bank-project/README.md` - Ứng dụng ngân hàng có xác thực391- `5-browser-extension/README.md` - Phát triển tiện ích mở rộng trình duyệt392- `6-space-game/README.md` - Phát triển trò chơi canvas393- `9-chat-project/README.md` - Dự án trợ lý chat AI394395### Cấu Trúc Monorepo396397Mặc dù không phải monorepo truyền thống, kho này chứa nhiều dự án độc lập:398- Mỗi bài học tự chứa399- Các dự án không chia sẻ phụ thuộc400- Làm việc riêng biệt từng dự án mà không ảnh hưởng lẫn nhau401- Clone toàn bộ kho để trải nghiệm đầy đủ chương trình học402403---404405<!-- CO-OP TRANSLATOR DISCLAIMER START -->406**Tuyên bố từ chối trách nhiệm**:407Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc sai sót. Tài liệu gốc bằng ngôn ngữ bản địa nên được xem là nguồn thông tin chính thức. Đối với những thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp do con người thực hiện. Chúng tôi không chịu trách nhiệm về bất kỳ sự hiểu lầm hay giải thích sai nào phát sinh từ việc sử dụng bản dịch này.408<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Also in microsoft/Web-Dev-For-Beginners
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| microsoft/Web-Dev-For-Beginnerstranslations/zh-TW/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 82/100 | 3 days ago | |
| microsoft/Web-Dev-For-BeginnersAGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+11 | 88/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/hi/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/km/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 82/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/zh-HK/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+10 | 89/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/kn/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/ko/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/lt/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+4 | 78/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/ml/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+2 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/ar/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+2 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/bg/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/bn/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatapi+1 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/cs/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/da/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+5 | 78/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/de/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatstyle+6 | 78/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/el/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/en/AGENTS.md · 96k | AGENTS.md | setupbuildtestlint-format+11 | 88/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/es/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/et/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+3 | 74/100 | 3 days ago | |
| microsoft/Web-Dev-For-Beginnerstranslations/fa/AGENTS.md · 96k | AGENTS.md | setupbuildlint-formatgit+2 | 74/100 | 3 days ago |
Diff against translations/zh-TW/AGENTS.md Diff against AGENTS.md Diff against translations/hi/AGENTS.md Diff against translations/km/AGENTS.md Diff against translations/zh-HK/AGENTS.md Diff against translations/kn/AGENTS.md Diff against translations/ko/AGENTS.md Diff against translations/lt/AGENTS.md Diff against translations/ml/AGENTS.md Diff against translations/ar/AGENTS.md Diff against translations/bg/AGENTS.md Diff against translations/bn/AGENTS.md Diff against translations/cs/AGENTS.md Diff against translations/da/AGENTS.md Diff against translations/de/AGENTS.md Diff against translations/el/AGENTS.md Diff against translations/en/AGENTS.md Diff against translations/es/AGENTS.md Diff against translations/et/AGENTS.md Diff against translations/fa/AGENTS.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| OnlyTerp/prompt-cache-skillsAGENTS.md · 112 | AGENTS.md | setupbuildtestlint-format+5 | 100/100 | 3 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| wpscanteam/wpscanAGENTS.md · 9.7k | AGENTS.md | setupbuildteststyle+6 | 100/100 | 2 days ago | |
| SkeneTechnologies/skene-cookbookAGENTS.md · 51 | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 2 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| trick77/agents-md-syncAGENTS.md · 2 | AGENTS.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| aaif-goose/gooseAGENTS.md · 52k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 3 days ago |
