Halal Fest
Website delivery plan. Nhập mật khẩu để tiếp tục / Enter the password to continue.
Halal Fest
Website Delivery Plan
Timeline, milestone, phạm vi tính năng, ranh giới trách nhiệm và điều kiện nghiệm thu cho việc triển khai website Halal Fest trên nền tảng WordPress, phục vụ review và chốt scope giữa PM, Vendor, Client Marketing và Team Central.
Executive summary
Mục tiêu của dự án là đưa website Halal Fest go-live ngày 28/09/2026, hoàn tất hypercare, bàn giao và đóng dự án chậm nhất ngày 30/09/2026, bảo đảm website vận hành ổn định trước mốc 01/10/2026.
Frontend và backend được triển khai song song trên WordPress. Frontend xây dựng các reusable component, page section và template có thể tái sử dụng, kết hợp custom CSS, JavaScript hoặc custom code cho các tính năng nâng cao. Backend khóa cấu trúc dữ liệu, API và logic nghiệp vụ. Hai bên tích hợp liên tục theo từng nhóm trang và tính năng.
Nguyên tắc triển khai
- Chốt cấu trúc trước: ACF JSON, REST schema và dữ liệu mẫu được commit vào repo trước khi phát triển diện rộng.
- Phát triển song song: Frontend và backend chạy đồng thời trên cùng môi trường local và staging, tích hợp theo từng nhóm trang.
- Nghiệm thu theo cổng: mỗi giai đoạn có đầu ra, người duyệt và tiêu chí hoàn tất cụ thể; UAT chỉ bắt đầu sau khi internal QA hoàn tất.
- Content theo batch: Client Marketing nhập nội dung song song với development ngay khi từng template được bàn giao trên staging, không chờ đến cuối dự án.
Bốn việc PM cần chốt trong tuần này
| 1 | Xác nhận ngày go-live 28/09/2026 và ngày khóa nội dung 22/09/2026 với tất cả các bên. |
| 2 | Xác nhận baseline triển khai trên WordPress và phạm vi custom development nằm ngoài khả năng mặc định của nền tảng. |
| 3 | Xác nhận số lượng trang, template và tính năng nằm trong phạm vi báo giá. Pending confirmation |
| 4 | Xác nhận trách nhiệm mua, bàn giao và gia hạn các license: Elementor Pro (Client sở hữu, Vendor kích hoạt), WPML, ACF, SMTP và backup. |
Delivery timeline
Lộ trình khoảng 10 tuần từ khởi động đến go-live. Các phase được xếp chồng có chủ đích: frontend và backend bắt đầu cùng lúc sau khi khóa contract; content được nhập theo batch song song với development.
| Phase | Thời gian | Owner | Trọng tâm | Đầu ra bắt buộc |
|---|---|---|---|---|
| 0 | 20-31/07 | PM + BE + FE | Khởi động và khóa contract | Scope, 9 nhóm template, ACF JSON, REST schema, license, key design handoff, môi trường local/staging; đầu mối Team Central phụ trách hosting, quyền truy cập staging/production và quy trình gửi yêu cầu hỗ trợ hosting |
| 1 | 27/07-14/08 | FE + BE | Nền tảng | WordPress setup, plugin skeleton, global UI, settings và seed data VN/EN |
| 2 | 10/08-28/08 | FE + BE | Template cốt lõi | Homepage, standard pages, news, forms cơ bản và CMS rendering trên staging |
| 3 | 24/08-11/09 | FE + BE | Tính năng và tích hợp | Directory, gallery, email, analytics, WPML và end-to-end integration |
| 4 | 07-15/09 | Dev + PM | Internal QA và UAT preparation | Browser QA, responsive, security, kiểm tra hiệu suất cơ bản, tài khoản test và UAT checklist |
| 5 | 16-22/09 | Client + PM + Dev | Client UAT, training và sửa lỗi | UAT sign-off, fix/retest, user manual và training 2-4 giờ |
| 6 | 23-27/09 | Client Marketing + PM + Dev | Launch preparation | Content freeze, production content check, hosting readiness, backup/restore rehearsal, DNS/SSL và launch checklist |
| GL | 28/09 | PM + Vendor | Go-live | Production deployment, smoke test và xác nhận website hoạt động |
| HC | 29-30/09 | Dev + PM | Hypercare và handover | Incident log, hotfix, bàn giao source/account và xác nhận project closure chậm nhất 30/09 |
Milestones and gates
Mỗi milestone là một cổng nghiệm thu với đầu ra và người duyệt cụ thể. Hai cổng design (vàng) là điều kiện đầu vào của Phase 1 và Phase 2, không phải một phase thiết kế riêng.
Scope matrix: pages, templates and features
Ba khái niệm được tách rõ khi chốt scope: Page là trang người dùng nhìn thấy; Template là layout dùng lại cho nhiều trang; Feature/module là chức năng vận hành. Số lượng page không đồng nghĩa với số lượng layout; 9 nhóm template không đại diện cho toàn bộ feature scope.
| Page | Template | Feature/module | Owner | Support | Acceptance criteria |
|---|---|---|---|---|---|
| Toàn bộ trang | Global header/footer | Navigation, dropdown, language switcher, CTA, mobile drawer, newsletter mini, social, organiser logos | FE | BE (WPML), Client Marketing | Keyboard accessible; hiển thị đúng ở 375/768/1280+; VN/EN đúng route; link và form states đầy đủ |
| Homepage | Homepage | Hero, countdown, stats, news slider, benefit cards, logos | FE + BE | Client Marketing | Mọi block edit được qua CMS; countdown dùng timezone đã chốt TBC |
| Trang nội dung chuẩn | Text-image, grid, logo, downloads | CMS rendering, reusable sections | FE + BE | Client Marketing | Nội dung edit được qua CMS; responsive; empty states có xử lý |
| News archive, news detail | Archive, single | News archive, category filter, pagination, related posts, social share | FE | BE (query), Client Marketing | Meta/OG đầy đủ; share accessible; category được dịch VN/EN |
| Trang đăng ký, liên hệ | Form | Forms: visitor, exhibitor, media, contact, newsletter; email routing | FE + BE | PM, Client IT | Client + server validation; reCAPTCHA; lưu DB; gửi email; bắn event GA4 |
| Directory | Directory | Directory, search/filter, pagination qua REST API | FE + BE | Client Marketing (dữ liệu) | Search và filter dùng được trên mobile; kết quả đúng trên staging dataset; số lượng entries TBC |
| Gallery | Map/gallery | Gallery grid, lazy-load, lightbox, filter theo năm/ngày | FE + BE | Client Marketing | Lightbox điều khiển được bằng keyboard; ảnh responsive; filter edit được |
| Sponsorship | Comparison | Sponsorship comparison, package table và CTA | FE | Client Marketing | Bảng không vỡ trên mobile; dữ liệu package edit được qua CMS |
| Toàn bộ trang | Toàn bộ template | Multilingual: WPML VN/EN, translation rules, language mapping | BE | FE, Client Marketing | Không trộn ngôn ngữ; menu, slug, taxonomy và forms được dịch |
| Hệ thống | Không áp dụng | Email routing: SMTP, auto-reply, lead routing, failure log | BE | Client IT (email/domain) | SPF/DKIM được xác nhận; test delivery có bằng chứng |
| Toàn bộ trang | Không áp dụng | Analytics: GTM, GA4, form_submit, download, CTA, search events | FE + BE | Client Marketing | GTM preview và GA4 DebugView xác nhận đúng event và parameters |
| Directory, news | Archive, directory | Search/filter dùng chung | FE + BE | PM | Filter hoạt động đúng, dùng được trên mobile, có trạng thái không có kết quả |
Các hạng mục hỗ trợ khác: SEO, website security, application-level backup và QA đa trình duyệt được nghiệm thu theo tiêu chí tại mục 08.
Frontend, backend and ownership boundaries
Frontend và backend được triển khai song song trên WordPress. Frontend xây dựng các reusable component, page section và template có thể tái sử dụng, kết hợp custom CSS, JavaScript hoặc custom code cho các tính năng nâng cao. Backend khóa cấu trúc dữ liệu, API và logic nghiệp vụ. Hai bên tích hợp liên tục theo từng nhóm trang và tính năng.
Frontend
- Xây dựng page template, global section và reusable component.
- Thiết lập responsive behavior, accessibility và browser compatibility.
- Render dữ liệu từ ACF/CPT và tích hợp REST API.
- Xây dựng trạng thái loading, error, success và empty state.
- Custom CSS, JavaScript hoặc custom code khi tính năng mặc định không đáp ứng thiết kế.
- Chịu trách nhiệm về frontend performance và visual QA.
Backend
- Xây dựng CPT, taxonomy, ACF JSON và REST schema.
- Server validation, reCAPTCHA, database và export CSV.
- Email, SMTP, lead routing và dataLayer event.
- WPML configuration và website security.
- Application-level backup và production deployment.
- Hosting coordination: phối hợp với Team Central khi cần hỗ trợ hosting.
- Cung cấp quyền admin, settings page và dữ liệu mẫu cho Frontend.
Nguyên tắc tích hợp
- ACF JSON và REST schema được commit vào repo và versioned; không cấu hình tay chỉ trên một database.
- Backend cung cấp dữ liệu mẫu VN/EN sớm để frontend dựng và test template với dữ liệu thật.
- Các hạng mục đánh dấu owner chung (FE + BE) chỉ được nghiệm thu khi hai bên cùng xác nhận integration.
- Kết quả tích hợp được kiểm tra trên staging theo từng nhóm trang, không dồn về cuối dự án.
Client Marketing, Vendor and Team Central responsibilities
Content responsibility
Vendor xây dựng framework, template và chức năng. Client Marketing tự nhập, chỉnh sửa và phê duyệt content, theo batch song song với development ngay khi từng template được bàn giao trên staging.
| Mốc | Quy định content |
|---|---|
| Từ 28/08 | Bắt đầu nhập content cho các trang cốt lõi đã hoàn thành. |
| Từ 11/09 | Toàn bộ template và tính năng chính sẵn sàng cho content entry. |
| 22/09 | Content freeze. |
| 23-27/09 | Chỉ xử lý lỗi hiển thị, hình ảnh, broken link, format hoặc translation. Không bổ sung trang mới hoặc thay đổi layout lớn sau content freeze. |
Owner chính: Client Marketing. Hỗ trợ: PM, Frontend và Backend.
Phạm vi hỗ trợ của Team Central
- Hosting availability.
- Hosting access (staging và production).
- Hosting-related incidents.
- Hosting backup.
- DNS hoặc SSL khi thuộc phạm vi của Central.
- Website development.
- Content.
- UI/UX.
- Feature implementation.
- Application-level operation.
Các thay đổi về content, giao diện, chức năng và vận hành website ở cấp ứng dụng do team dự án làm việc trực tiếp với Vendor.
Ma trận trách nhiệm chi tiết
Bảng phân định owner chính và bên hỗ trợ cho từng hạng mục vận hành, license và hạ tầng, dùng làm căn cứ khi phát sinh yêu cầu trong quá trình triển khai và sau launch.
| Hạng mục | Owner chính | Hỗ trợ |
|---|---|---|
| Hosting availability | Team Central | Client IT / Vendor |
| Sự cố liên quan đến hosting | Team Central | Vendor cung cấp log và thông tin lỗi |
| Website development | Vendor | PM / Client Marketing |
| Giao diện và responsive | Vendor | Client Marketing duyệt |
| Website content | Client Marketing | Vendor hướng dẫn |
| Elementor Pro license | Client | Vendor kích hoạt và cấu hình |
| WPML và ACF license | Theo hợp đồng hoặc Client | Vendor triển khai |
| SMTP configuration | Vendor | Client IT cung cấp thông tin email/domain |
| SPF/DKIM | Client IT hoặc đơn vị quản lý domain | Vendor cung cấp DNS record |
| Application backup | Vendor | Central hỗ trợ nếu liên quan hosting |
| Hosting backup | Team Central | Vendor phối hợp khi cần restore |
| DNS/SSL | Central hoặc đơn vị quản lý domain/hosting | Vendor cung cấp yêu cầu kỹ thuật |
| Production deployment | Vendor | Central hỗ trợ hosting access |
| Content update sau launch | Client Marketing làm việc với Vendor | Central không phụ trách |
Hạng mục tính phí riêng ngoài scope website cơ bản
Các hạng mục dưới đây được báo giá và tính phí riêng, không nằm trong scope xây dựng website cơ bản. Hợp đồng cần ghi rõ các khoản này để tránh nhầm lẫn về phạm vi và chi phí.
| Hạng mục | Chi phí | Hóa đơn | Ghi chú |
|---|---|---|---|
| Tích hợp cổng thanh toán VNPAY | Tính phí riêng TBC | Theo hợp đồng | Việc tích hợp cổng thanh toán được báo giá và tính phí riêng, không nằm trong scope website cơ bản. |
| Xin tích xanh Bộ Công Thương | 10.000.000 VNĐ / tích xanh | Có thể xuất hóa đơn riêng | Dịch vụ đăng ký website thương mại điện tử với Bộ Công Thương phục vụ việc tích hợp cổng thanh toán VNPAY. Có thể xuất hóa đơn riêng cho phần dịch vụ xin tích xanh. |
UAT and acceptance criteria
Client UAT chỉ bắt đầu sau khi internal QA hoàn tất và website được xác nhận đủ điều kiện để client kiểm thử.
Trình tự UAT
| Mốc | Nội dung |
|---|---|
| 11/09 | Feature complete: toàn bộ tính năng chính hoàn tất trên staging. |
| 07-15/09 | Internal QA: browser QA (Chrome, Firefox, Safari, Edge), responsive, security và kiểm tra hiệu suất cơ bản. |
| 15/09 | UAT-ready: UAT checklist, tài khoản test và môi trường kiểm thử sẵn sàng. Kiểm tra hiệu suất cơ bản đã hoàn tất. |
| 16-22/09 | Client UAT, fix và retest theo vòng lặp có kiểm soát. |
| 22/09 | UAT sign-off: lỗi blocker và critical đã được xử lý và retest. |
| 23-27/09 | Launch preparation. |
| 28/09 | Go-live. |
Điều kiện nghiệm thu
- Chức năng: mọi feature trong scope matrix đạt acceptance criteria tương ứng; các hạng mục owner chung được hai bên cùng xác nhận integration.
- Chất lượng: không còn lỗi blocker hoặc critical; bằng chứng kiểm thử được lưu trong test report.
- Đa ngôn ngữ: không trộn ngôn ngữ; menu, slug, taxonomy và forms được dịch đầy đủ VN/EN.
- Email: SPF/DKIM được xác nhận; test delivery có bằng chứng gửi và nhận thành công.
- Analytics: GTM preview và GA4 DebugView xác nhận đúng event và parameters.
- Bảo mật và backup: login protection, CAPTCHA hoạt động; application-level backup có kết quả restore test.
Tiêu chí hiệu suất
Launch, hypercare and project closure
Launch ownership
| Bên | Trách nhiệm khi launch |
|---|---|
| PM + Vendor | Owner chính của toàn bộ hoạt động launch. |
| Client Marketing | Xác nhận content và giao diện trước khi go-live. |
| Vendor | Production deployment, smoke test và rollback nếu cần. |
| Team Central | Hỗ trợ các vấn đề liên quan đến hosting. |
| Client IT hoặc đơn vị quản lý domain | Hỗ trợ DNS, SSL và email authentication khi cần. |
Launch preparation (23-27/09)
- Content freeze có hiệu lực; chỉ sửa lỗi hiển thị, hình ảnh, broken link, format hoặc translation.
- Production content check, hosting readiness và backup/restore rehearsal.
- Xác nhận DNS/SSL, quyền truy cập production, rollback plan và launch checklist.
Go-live (28/09)
- Vendor thực hiện production deployment và smoke test theo checklist.
- PM xác nhận website hoạt động và thông báo cho các bên liên quan.
Hypercare và handover (29-30/09)
- Dev trực on-call, ghi nhận incident log và xử lý hotfix.
- Bàn giao source code, tài khoản, user manual và tài liệu vận hành.
- Training sử dụng CMS cho Client Marketing (2-4 giờ) nếu chưa hoàn tất trong giai đoạn UAT.
- Chế độ bảo hành sau bàn giao thực hiện theo phạm vi hợp đồng.
- Xác nhận project closure chậm nhất ngày 30/09/2026.
Open decisions and items to confirm
Các điểm dưới đây chưa được chốt trong tài liệu nguồn và cần PM xác nhận bằng văn bản, ưu tiên trước mốc M1 (31/07).
| # | Hạng mục | Người quyết định | Ghi chú |
|---|---|---|---|
| 1 | Tổng số trang và template trong phạm vi báo giá | PM + Vendor + Client | Pending confirmation Không tự chốt số; tài liệu hiện ghi nhận 9 nhóm template. |
| 2 | Phạm vi custom code hoặc custom widget ngoài khả năng mặc định của nền tảng | PM + Vendor | Cần liệt kê rõ trước khi khóa contract để tránh tranh chấp scope. |
| 3 | Trách nhiệm mua và gia hạn license WPML, ACF, SMTP, backup | PM + Client (theo hợp đồng) | Elementor Pro đã xác định: Client sở hữu, Vendor kích hoạt; gia hạn sau bàn giao thuộc Client trừ khi hợp đồng quy định khác. |
| 4 | Timezone dùng cho countdown trên homepage | Client Marketing | To be confirmed |
| 5 | Số lượng entries của directory và nguồn dữ liệu CSV | Client Marketing | To be confirmed Ảnh hưởng đến staging dataset và tiêu chí nghiệm thu search. |
| 6 | Đơn vị phụ trách DNS/SSL cho domain chính thức | Team Central hoặc đơn vị quản lý domain | Xác định rõ để tránh vướng mắc trong tuần launch preparation. |
| 7 | Thông tin email/domain cho SMTP, SPF/DKIM | Client IT | Cần cung cấp trước Phase 3 để kịp test email routing. |
| 8 | Đầu mối Team Central và quy trình gửi yêu cầu hỗ trợ hosting | PM + Team Central | Là đầu ra bắt buộc của Phase 0. |
| 9 | Phạm vi và chi phí tích hợp cổng thanh toán VNPAY | PM + Vendor + Client | Tính phí riêng ngoài scope website cơ bản; ghi rõ trong hợp đồng. Pending confirmation |
| 10 | Dịch vụ xin tích xanh Bộ Công Thương | PM + Client | Báo giá 10.000.000 VNĐ/tích xanh cho việc tích hợp cổng thanh toán VNPAY; có thể xuất hóa đơn riêng. |
Nguyên tắc quản lý thay đổi
- Sau full design freeze (07/08), thay đổi phát sinh template, cấu trúc dữ liệu hoặc chức năng mới là change request và phải đánh giá lại ảnh hưởng tới timeline.
- Sau content freeze (22/09), không bổ sung trang mới hoặc thay đổi layout lớn.
- Mọi điều chỉnh scope được ghi nhận bằng văn bản và cập nhật vào scope matrix tại mục 05.
Halal Fest
Website Delivery Plan
Timeline, milestones, feature scope, ownership boundaries and acceptance conditions for the Halal Fest website build on WordPress, supporting review and scope sign-off among PM, Vendor, Client Marketing and Team Central.
Executive summary
The project objective is to bring the Halal Fest website go-live on 28/09/2026, complete hypercare, handover and project closure no later than 30/09/2026, ensuring stable operation before 01/10/2026.
The frontend and backend are developed in parallel on WordPress. The frontend builds reusable components, page sections and templates, combined with custom CSS, JavaScript or custom code for advanced features. The backend locks the data structure, API and business logic. The two sides integrate continuously by page group and feature.
Delivery principles
- Lock the structure first: ACF JSON, REST schema and seed data are committed to the repo before broad development.
- Parallel development: Frontend and backend run concurrently on the same local and staging environments, integrating by page group.
- Gated acceptance: each phase has specific outputs, approvers and completion criteria; UAT only begins after internal QA is complete.
- Content by batch: Client Marketing enters content in parallel with development as soon as each template is delivered on staging, not waiting until the end of the project.
Four items the PM must confirm this week
| 1 | Confirm the go-live date 28/09/2026 and the content freeze date 22/09/2026 with all parties. |
| 2 | Confirm the WordPress implementation baseline and the scope of custom development beyond the platform's default capability. |
| 3 | Confirm the number of pages, templates and features within the quoted scope. Pending confirmation |
| 4 | Confirm responsibility for purchasing, handing over and renewing licenses: Elementor Pro (Client-owned, Vendor-activated), WPML, ACF, SMTP and backup. |
Delivery timeline
A roughly 10-week roadmap from kickoff to go-live. Phases are deliberately overlapped: frontend and backend start together after contract lock; content is entered by batch in parallel with development.
| Phase | Time | Owner | Focus | Required output |
|---|---|---|---|---|
| 0 | 20-31/07 | PM + BE + FE | Kickoff and contract lock | Scope, 9 template groups, ACF JSON, REST schema, license, key design handoff, local/staging environment; Team Central contact for hosting, staging/production access and the hosting support request process |
| 1 | 27/07-14/08 | FE + BE | Foundation | WordPress setup, plugin skeleton, global UI, settings and VN/EN seed data |
| 2 | 10/08-28/08 | FE + BE | Core templates | Homepage, standard pages, news, basic forms and CMS rendering on staging |
| 3 | 24/08-11/09 | FE + BE | Features and integration | Directory, gallery, email, analytics, WPML and end-to-end integration |
| 4 | 07-15/09 | Dev + PM | Internal QA and UAT preparation | Browser QA, responsive, security, basic performance check, test accounts and UAT checklist |
| 5 | 16-22/09 | Client + PM + Dev | Client UAT, training and bug fixing | UAT sign-off, fix/retest, user manual and 2-4h training |
| 6 | 23-27/09 | Client Marketing + PM + Dev | Launch preparation | Content freeze, production content check, hosting readiness, backup/restore rehearsal, DNS/SSL and launch checklist |
| GL | 28/09 | PM + Vendor | Go-live | Production deployment, smoke test and confirmation the website works |
| HC | 29-30/09 | Dev + PM | Hypercare and handover | Incident log, hotfix, source/account handover and project closure confirmation by 30/09 |
Milestones and gates
Each milestone is an acceptance gate with specific outputs and approvers. The two design gates (gold) are entry conditions for Phase 1 and Phase 2, not a separate design phase.
Scope matrix: pages, templates and features
Three concepts are clearly distinguished at scope sign-off: a Page is what the user sees; a Template is a layout reused across pages; a Feature/module is an operational function. The number of pages does not equal the number of layouts; 9 template groups do not represent the entire feature scope.
| Page | Template | Feature/module | Owner | Support | Acceptance criteria |
|---|---|---|---|---|---|
| All pages | Global header/footer | Navigation, dropdown, language switcher, CTA, mobile drawer, newsletter mini, social, organiser logos | FE | BE (WPML), Client Marketing | Keyboard accessible; correct at 375/768/1280+; VN/EN correct route; full link and form states |
| Homepage | Homepage | Hero, countdown, stats, news slider, benefit cards, logos | FE + BE | Client Marketing | All blocks editable via CMS; countdown uses agreed timezone TBC |
| Standard content pages | Text-image, grid, logo, downloads | CMS rendering, reusable sections | FE + BE | Client Marketing | Content editable via CMS; responsive; empty states handled |
| News archive, news detail | Archive, single | News archive, category filter, pagination, related posts, social share | FE | BE (query), Client Marketing | Full meta/OG; accessible share; categories translated VN/EN |
| Registration, contact | Form | Forms: visitor, exhibitor, media, contact, newsletter; email routing | FE + BE | PM, Client IT | Client + server validation; reCAPTCHA; DB; email; GA4 event |
| Directory | Directory | Directory, search/filter, pagination via REST API | FE + BE | Client Marketing (data) | Search and filter usable on mobile; correct results on staging dataset; entries count TBC |
| Gallery | Map/gallery | Gallery grid, lazy-load, lightbox, filter by year/date | FE + BE | Client Marketing | Keyboard-controllable lightbox; responsive images; editable filter |
| Sponsorship | Comparison | Sponsorship comparison, package table and CTA | FE | Client Marketing | No table break on mobile; package data editable via CMS |
| All pages | All templates | Multilingual: WPML VN/EN, translation rules, language mapping | BE | FE, Client Marketing | No language mixing; menu, slug, taxonomy and forms translated |
| System | N/A | Email routing: SMTP, auto-reply, lead routing, failure log | BE | Client IT (email/domain) | SPF/DKIM confirmed; test delivery evidenced |
| All pages | N/A | Analytics: GTM, GA4, form_submit, download, CTA, search events | FE + BE | Client Marketing | GTM preview and GA4 DebugView confirm events and parameters |
| Directory, news | Archive, directory | Shared search/filter | FE + BE | PM | Filter works correctly, usable on mobile, has no-results state |
Other supporting items: SEO, website security, application-level backup and cross-browser QA, accepted under the criteria in section 08.
Frontend, backend and ownership boundaries
The frontend and backend are developed in parallel on WordPress. The frontend builds reusable components, page sections and templates, combined with custom CSS, JavaScript or custom code for advanced features. The backend locks the data structure, API and business logic. The two sides integrate continuously by page group and feature.
Frontend
- Build page templates, global sections and reusable components.
- Set up responsive behavior, accessibility and browser compatibility.
- Render data from ACF/CPT and integrate the REST API.
- Build loading, error, success and empty states.
- Custom CSS, JavaScript or custom code when default features do not meet the design.
- Responsible for frontend performance and visual QA.
Backend
- Build CPT, taxonomy, ACF JSON and REST schema.
- Server validation, reCAPTCHA, database and CSV export.
- Email, SMTP, lead routing and dataLayer events.
- WPML configuration and website security.
- Application-level backup and production deployment.
- Hosting coordination: work with Team Central when hosting support is needed.
- Provide admin rights, settings page and seed data for the Frontend.
Integration principles
- ACF JSON and REST schema are committed to the repo and versioned; no manual configuration on a single database only.
- Backend provides VN/EN seed data early so the frontend can build and test templates with real data.
- Items marked with shared ownership (FE + BE) are only accepted when both sides confirm integration.
- Integration results are tested on staging by page group, not deferred to the end of the project.
Client Marketing, Vendor and Team Central responsibilities
Content responsibility
The Vendor builds the framework, templates and features. Client Marketing enters, edits and approves content, by batch in parallel with development as soon as each template is delivered on staging.
| Milestone | Content rule |
|---|---|
| From 28/08 | Begin entering content for completed core pages. |
| From 11/09 | All templates and main features ready for content entry. |
| 22/09 | Content freeze. |
| 23-27/09 | Only fix display errors, images, broken links, formatting or translation. No new pages or major layout changes after content freeze. |
Primary owner: Client Marketing. Support: PM, Frontend and Backend.
Team Central support scope
- Hosting availability.
- Hosting access (staging and production).
- Hosting-related incidents.
- Hosting backup.
- DNS or SSL when within Central's scope.
- Website development.
- Content.
- UI/UX.
- Feature implementation.
- Application-level operation.
Changes to content, interface, features and application-level operation of the website are handled by the project team working directly with the Vendor.
Detailed responsibility matrix
A table assigning the primary owner and support party for each operational, license and infrastructure item, used as a basis when requests arise during implementation and after launch.
| Item | Primary owner | Support |
|---|---|---|
| Hosting availability | Team Central | Client IT / Vendor |
| Hosting-related incidents | Team Central | Vendor provides logs and error information |
| Website development | Vendor | PM / Client Marketing |
| Interface and responsive | Vendor | Client Marketing approves |
| Website content | Client Marketing | Vendor guides |
| Elementor Pro license | Client | Vendor activates and configures |
| WPML and ACF license | Per contract or Client | Vendor deploys |
| SMTP configuration | Vendor | Client IT provides email/domain info |
| SPF/DKIM | Client IT or domain manager | Vendor provides DNS records |
| Application backup | Vendor | Central assists if hosting-related |
| Hosting backup | Team Central | Vendor coordinates when restore needed |
| DNS/SSL | Central or domain/hosting manager | Vendor provides technical requirements |
| Production deployment | Vendor | Central assists with hosting access |
| Content update after launch | Client Marketing works with Vendor | Central not responsible |
Separately charged items outside the basic website scope
The items below are quoted and charged separately and are not part of the basic website build scope. The contract should state these clearly to avoid confusion over scope and cost.
| Item | Cost | Invoice | Notes |
|---|---|---|---|
| VNPAY payment gateway integration | Charged separately TBC | Per contract | The payment gateway integration is quoted and charged separately and is not part of the basic website scope. |
| MOIT blue-tick registration | VND 10,000,000 / blue tick | Separate invoice possible | Registration of the e-commerce website with the Ministry of Industry and Trade to serve the VNPAY payment gateway integration. A separate invoice may be issued for the blue-tick service. |
UAT and acceptance criteria
Client UAT only begins after internal QA is complete and the website is confirmed ready for client testing.
UAT sequence
| Milestone | Content |
|---|---|
| 11/09 | Feature complete: all main features completed on staging. |
| 07-15/09 | Internal QA: browser QA (Chrome, Firefox, Safari, Edge), responsive, security and basic performance check. |
| 15/09 | UAT-ready: UAT checklist, test accounts and test environment ready. Basic performance check completed. |
| 16-22/09 | Client UAT, fix and retest in a controlled loop. |
| 22/09 | UAT sign-off: blocker and critical bugs fixed and retested. |
| 23-27/09 | Launch preparation. |
| 28/09 | Go-live. |
Acceptance conditions
- Functionality: every feature in the scope matrix meets its acceptance criteria; shared-owner items are confirmed by both sides for integration.
- Quality: no blocker or critical bugs remain; test evidence is stored in the test report.
- Multilingual: no language mixing; menu, slug, taxonomy and forms fully translated VN/EN.
- Email: SPF/DKIM confirmed; test delivery evidenced by successful send and receive.
- Analytics: GTM preview and GA4 DebugView confirm correct events and parameters.
- Security and backup: login protection and CAPTCHA working; application-level backup has a restore-test result.
Performance criteria
Launch, hypercare and project closure
Launch ownership
| Party | Responsibility at launch |
|---|---|
| PM + Vendor | Primary owner of all launch activities. |
| Client Marketing | Confirm content and interface before go-live. |
| Vendor | Production deployment, smoke test and rollback if needed. |
| Team Central | Support hosting-related issues. |
| Client IT or domain manager | Support DNS, SSL and email authentication when needed. |
Launch preparation (23-27/09)
- Content freeze in effect; only fix display errors, images, broken links, formatting or translation.
- Production content check, hosting readiness and backup/restore rehearsal.
- Confirm DNS/SSL, production access, rollback plan and launch checklist.
Go-live (28/09)
- Vendor performs production deployment and smoke test per checklist.
- PM confirms the website works and notifies the relevant parties.
Hypercare and handover (29-30/09)
- Dev on-call, logs incidents and handles hotfixes.
- Hand over source code, accounts, user manual and operation documents.
- CMS usage training for Client Marketing (2-4h) if not completed during UAT.
- Post-handover warranty is performed within the contract scope.
- Confirm project closure no later than 30/09/2026.
Open decisions and items to confirm
The points below are not yet locked in the source document and require the PM to confirm in writing, prioritized before the M1 milestone (31/07).
| # | Item | Decision maker | Notes |
|---|---|---|---|
| 1 | Total pages and templates within the quoted scope | PM + Vendor + Client | Pending confirmation Do not fix numbers unilaterally; the document currently records 9 template groups. |
| 2 | Scope of custom code or custom widgets beyond the platform's default capability | PM + Vendor | Must be listed clearly before contract lock to avoid scope disputes. |
| 3 | Responsibility for purchasing and renewing WPML, ACF, SMTP, backup licenses | PM + Client (per contract) | Elementor Pro is determined: Client-owned, Vendor-activated; renewal after handover rests with the Client unless the contract states otherwise. |
| 4 | Timezone used for the homepage countdown | Client Marketing | To be confirmed |
| 5 | Number of directory entries and CSV data source | Client Marketing | To be confirmed Affects the staging dataset and search acceptance criteria. |
| 6 | Party responsible for DNS/SSL for the official domain | Team Central or domain manager | Determine clearly to avoid obstacles during launch preparation week. |
| 7 | Email/domain information for SMTP, SPF/DKIM | Client IT | Must be provided before Phase 3 to test email routing in time. |
| 8 | Team Central contact and the hosting support request process | PM + Team Central | A required output of Phase 0. |
| 9 | Scope and cost of VNPAY payment gateway integration | PM + Vendor + Client | Charged separately outside the basic website scope; stated clearly in the contract. Pending confirmation |
| 10 | MOIT blue-tick registration service | PM + Client | Quoted at VND 10,000,000/blue tick for the VNPAY payment gateway integration; separate invoice possible. |
Change management principles
- After full design freeze (07/08), changes that add templates, data structure or new features are change requests and require re-assessment of timeline impact.
- After content freeze (22/09), no new pages or major layout changes.
- Every scope adjustment is recorded in writing and updated in the scope matrix in section 05.
Halal Fest
Website delivery plan. Nhập mật khẩu để tiếp tục / Enter the password to continue.
Halal Fest
Website Delivery Plan
Timeline, milestone, phạm vi tính năng, ranh giới trách nhiệm và điều kiện nghiệm thu cho việc triển khai website Halal Fest trên nền tảng WordPress, phục vụ review và chốt scope giữa PM, Vendor, Client Marketing và Team Central.
Executive summary
Mục tiêu của dự án là đưa website Halal Fest go-live ngày 28/09/2026, hoàn tất hypercare, bàn giao và đóng dự án chậm nhất ngày 30/09/2026, bảo đảm website vận hành ổn định trước mốc 01/10/2026.
Frontend và backend được triển khai song song trên WordPress. Frontend xây dựng các reusable component, page section và template có thể tái sử dụng, kết hợp custom CSS, JavaScript hoặc custom code cho các tính năng nâng cao. Backend khóa cấu trúc dữ liệu, API và logic nghiệp vụ. Hai bên tích hợp liên tục theo từng nhóm trang và tính năng.
Nguyên tắc triển khai
- Chốt cấu trúc trước: ACF JSON, REST schema và dữ liệu mẫu được commit vào repo trước khi phát triển diện rộng.
- Phát triển song song: Frontend và backend chạy đồng thời trên cùng môi trường local và staging, tích hợp theo từng nhóm trang.
- Nghiệm thu theo cổng: mỗi giai đoạn có đầu ra, người duyệt và tiêu chí hoàn tất cụ thể; UAT chỉ bắt đầu sau khi internal QA hoàn tất.
- Content theo batch: Client Marketing nhập nội dung song song với development ngay khi từng template được bàn giao trên staging, không chờ đến cuối dự án.
Bốn việc PM cần chốt trong tuần này
| 1 | Xác nhận ngày go-live 28/09/2026 và ngày khóa nội dung 22/09/2026 với tất cả các bên. |
| 2 | Xác nhận baseline triển khai trên WordPress và phạm vi custom development nằm ngoài khả năng mặc định của nền tảng. |
| 3 | Xác nhận số lượng trang, template và tính năng nằm trong phạm vi báo giá. Pending confirmation |
| 4 | Xác nhận trách nhiệm mua, bàn giao và gia hạn các license: Elementor Pro (Client sở hữu, Vendor kích hoạt), WPML, ACF, SMTP và backup. |
Delivery timeline
Lộ trình khoảng 10 tuần từ khởi động đến go-live. Các phase được xếp chồng có chủ đích: frontend và backend bắt đầu cùng lúc sau khi khóa contract; content được nhập theo batch song song với development.
| Phase | Thời gian | Owner | Trọng tâm | Đầu ra bắt buộc |
|---|---|---|---|---|
| 0 | 20-31/07 | PM + BE + FE | Khởi động và khóa contract | Scope, 9 nhóm template, ACF JSON, REST schema, license, key design handoff, môi trường local/staging; đầu mối Team Central phụ trách hosting, quyền truy cập staging/production và quy trình gửi yêu cầu hỗ trợ hosting |
| 1 | 27/07-14/08 | FE + BE | Nền tảng | WordPress setup, plugin skeleton, global UI, settings và seed data VN/EN |
| 2 | 10/08-28/08 | FE + BE | Template cốt lõi | Homepage, standard pages, news, forms cơ bản và CMS rendering trên staging |
| 3 | 24/08-11/09 | FE + BE | Tính năng và tích hợp | Directory, gallery, email, analytics, WPML và end-to-end integration |
| 4 | 07-15/09 | Dev + PM | Internal QA và UAT preparation | Browser QA, responsive, security, kiểm tra hiệu suất cơ bản, tài khoản test và UAT checklist |
| 5 | 16-22/09 | Client + PM + Dev | Client UAT, training và sửa lỗi | UAT sign-off, fix/retest, user manual và training 2-4 giờ |
| 6 | 23-27/09 | Client Marketing + PM + Dev | Launch preparation | Content freeze, production content check, hosting readiness, backup/restore rehearsal, DNS/SSL và launch checklist |
| GL | 28/09 | PM + Vendor | Go-live | Production deployment, smoke test và xác nhận website hoạt động |
| HC | 29-30/09 | Dev + PM | Hypercare và handover | Incident log, hotfix, bàn giao source/account và xác nhận project closure chậm nhất 30/09 |
Milestones and gates
Mỗi milestone là một cổng nghiệm thu với đầu ra và người duyệt cụ thể. Hai cổng design (vàng) là điều kiện đầu vào của Phase 1 và Phase 2, không phải một phase thiết kế riêng.
Scope matrix: pages, templates and features
Ba khái niệm được tách rõ khi chốt scope: Page là trang người dùng nhìn thấy; Template là layout dùng lại cho nhiều trang; Feature/module là chức năng vận hành. Số lượng page không đồng nghĩa với số lượng layout; 9 nhóm template không đại diện cho toàn bộ feature scope.
| Page | Template | Feature/module | Owner | Support | Acceptance criteria |
|---|---|---|---|---|---|
| Toàn bộ trang | Global header/footer | Navigation, dropdown, language switcher, CTA, mobile drawer, newsletter mini, social, organiser logos | FE | BE (WPML), Client Marketing | Keyboard accessible; hiển thị đúng ở 375/768/1280+; VN/EN đúng route; link và form states đầy đủ |
| Homepage | Homepage | Hero, countdown, stats, news slider, benefit cards, logos | FE + BE | Client Marketing | Mọi block edit được qua CMS; countdown dùng timezone đã chốt TBC |
| Trang nội dung chuẩn | Text-image, grid, logo, downloads | CMS rendering, reusable sections | FE + BE | Client Marketing | Nội dung edit được qua CMS; responsive; empty states có xử lý |
| News archive, news detail | Archive, single | News archive, category filter, pagination, related posts, social share | FE | BE (query), Client Marketing | Meta/OG đầy đủ; share accessible; category được dịch VN/EN |
| Trang đăng ký, liên hệ | Form | Forms: visitor, exhibitor, media, contact, newsletter; email routing | FE + BE | PM, Client IT | Client + server validation; reCAPTCHA; lưu DB; gửi email; bắn event GA4 |
| Directory | Directory | Directory, search/filter, pagination qua REST API | FE + BE | Client Marketing (dữ liệu) | Search và filter dùng được trên mobile; kết quả đúng trên staging dataset; số lượng entries TBC |
| Gallery | Map/gallery | Gallery grid, lazy-load, lightbox, filter theo năm/ngày | FE + BE | Client Marketing | Lightbox điều khiển được bằng keyboard; ảnh responsive; filter edit được |
| Sponsorship | Comparison | Sponsorship comparison, package table và CTA | FE | Client Marketing | Bảng không vỡ trên mobile; dữ liệu package edit được qua CMS |
| Toàn bộ trang | Toàn bộ template | Multilingual: WPML VN/EN, translation rules, language mapping | BE | FE, Client Marketing | Không trộn ngôn ngữ; menu, slug, taxonomy và forms được dịch |
| Hệ thống | Không áp dụng | Email routing: SMTP, auto-reply, lead routing, failure log | BE | Client IT (email/domain) | SPF/DKIM được xác nhận; test delivery có bằng chứng |
| Toàn bộ trang | Không áp dụng | Analytics: GTM, GA4, form_submit, download, CTA, search events | FE + BE | Client Marketing | GTM preview và GA4 DebugView xác nhận đúng event và parameters |
| Directory, news | Archive, directory | Search/filter dùng chung | FE + BE | PM | Filter hoạt động đúng, dùng được trên mobile, có trạng thái không có kết quả |
Các hạng mục hỗ trợ khác: SEO, website security, application-level backup và QA đa trình duyệt được nghiệm thu theo tiêu chí tại mục 08.
Frontend, backend and ownership boundaries
Frontend và backend được triển khai song song trên WordPress. Frontend xây dựng các reusable component, page section và template có thể tái sử dụng, kết hợp custom CSS, JavaScript hoặc custom code cho các tính năng nâng cao. Backend khóa cấu trúc dữ liệu, API và logic nghiệp vụ. Hai bên tích hợp liên tục theo từng nhóm trang và tính năng.
Frontend
- Xây dựng page template, global section và reusable component.
- Thiết lập responsive behavior, accessibility và browser compatibility.
- Render dữ liệu từ ACF/CPT và tích hợp REST API.
- Xây dựng trạng thái loading, error, success và empty state.
- Custom CSS, JavaScript hoặc custom code khi tính năng mặc định không đáp ứng thiết kế.
- Chịu trách nhiệm về frontend performance và visual QA.
Backend
- Xây dựng CPT, taxonomy, ACF JSON và REST schema.
- Server validation, reCAPTCHA, database và export CSV.
- Email, SMTP, lead routing và dataLayer event.
- WPML configuration và website security.
- Application-level backup và production deployment.
- Hosting coordination: phối hợp với Team Central khi cần hỗ trợ hosting.
- Cung cấp quyền admin, settings page và dữ liệu mẫu cho Frontend.
Nguyên tắc tích hợp
- ACF JSON và REST schema được commit vào repo và versioned; không cấu hình tay chỉ trên một database.
- Backend cung cấp dữ liệu mẫu VN/EN sớm để frontend dựng và test template với dữ liệu thật.
- Các hạng mục đánh dấu owner chung (FE + BE) chỉ được nghiệm thu khi hai bên cùng xác nhận integration.
- Kết quả tích hợp được kiểm tra trên staging theo từng nhóm trang, không dồn về cuối dự án.
Client Marketing, Vendor and Team Central responsibilities
Content responsibility
Vendor xây dựng framework, template và chức năng. Client Marketing tự nhập, chỉnh sửa và phê duyệt content, theo batch song song với development ngay khi từng template được bàn giao trên staging.
| Mốc | Quy định content |
|---|---|
| Từ 28/08 | Bắt đầu nhập content cho các trang cốt lõi đã hoàn thành. |
| Từ 11/09 | Toàn bộ template và tính năng chính sẵn sàng cho content entry. |
| 22/09 | Content freeze. |
| 23-27/09 | Chỉ xử lý lỗi hiển thị, hình ảnh, broken link, format hoặc translation. Không bổ sung trang mới hoặc thay đổi layout lớn sau content freeze. |
Owner chính: Client Marketing. Hỗ trợ: PM, Frontend và Backend.
Phạm vi hỗ trợ của Team Central
- Hosting availability.
- Hosting access (staging và production).
- Hosting-related incidents.
- Hosting backup.
- DNS hoặc SSL khi thuộc phạm vi của Central.
- Website development.
- Content.
- UI/UX.
- Feature implementation.
- Application-level operation.
Các thay đổi về content, giao diện, chức năng và vận hành website ở cấp ứng dụng do team dự án làm việc trực tiếp với Vendor.
Ma trận trách nhiệm chi tiết
Bảng phân định owner chính và bên hỗ trợ cho từng hạng mục vận hành, license và hạ tầng, dùng làm căn cứ khi phát sinh yêu cầu trong quá trình triển khai và sau launch.
| Hạng mục | Owner chính | Hỗ trợ |
|---|---|---|
| Hosting availability | Team Central | Client IT / Vendor |
| Sự cố liên quan đến hosting | Team Central | Vendor cung cấp log và thông tin lỗi |
| Website development | Vendor | PM / Client Marketing |
| Giao diện và responsive | Vendor | Client Marketing duyệt |
| Website content | Client Marketing | Vendor hướng dẫn |
| Elementor Pro license | Client | Vendor kích hoạt và cấu hình |
| WPML và ACF license | Theo hợp đồng hoặc Client | Vendor triển khai |
| SMTP configuration | Vendor | Client IT cung cấp thông tin email/domain |
| SPF/DKIM | Client IT hoặc đơn vị quản lý domain | Vendor cung cấp DNS record |
| Application backup | Vendor | Central hỗ trợ nếu liên quan hosting |
| Hosting backup | Team Central | Vendor phối hợp khi cần restore |
| DNS/SSL | Central hoặc đơn vị quản lý domain/hosting | Vendor cung cấp yêu cầu kỹ thuật |
| Production deployment | Vendor | Central hỗ trợ hosting access |
| Content update sau launch | Client Marketing làm việc với Vendor | Central không phụ trách |
Hạng mục tính phí riêng ngoài scope website cơ bản
Các hạng mục dưới đây được báo giá và tính phí riêng, không nằm trong scope xây dựng website cơ bản. Hợp đồng cần ghi rõ các khoản này để tránh nhầm lẫn về phạm vi và chi phí.
| Hạng mục | Chi phí | Hóa đơn | Ghi chú |
|---|---|---|---|
| Tích hợp cổng thanh toán VNPAY | Tính phí riêng TBC | Theo hợp đồng | Việc tích hợp cổng thanh toán được báo giá và tính phí riêng, không nằm trong scope website cơ bản. |
| Xin tích xanh Bộ Công Thương | 10.000.000 VNĐ / tích xanh | Có thể xuất hóa đơn riêng | Dịch vụ đăng ký website thương mại điện tử với Bộ Công Thương phục vụ việc tích hợp cổng thanh toán VNPAY. Có thể xuất hóa đơn riêng cho phần dịch vụ xin tích xanh. |
UAT and acceptance criteria
Client UAT chỉ bắt đầu sau khi internal QA hoàn tất và website được xác nhận đủ điều kiện để client kiểm thử.
Trình tự UAT
| Mốc | Nội dung |
|---|---|
| 11/09 | Feature complete: toàn bộ tính năng chính hoàn tất trên staging. |
| 07-15/09 | Internal QA: browser QA (Chrome, Firefox, Safari, Edge), responsive, security và kiểm tra hiệu suất cơ bản. |
| 15/09 | UAT-ready: UAT checklist, tài khoản test và môi trường kiểm thử sẵn sàng. Kiểm tra hiệu suất cơ bản đã hoàn tất. |
| 16-22/09 | Client UAT, fix và retest theo vòng lặp có kiểm soát. |
| 22/09 | UAT sign-off: lỗi blocker và critical đã được xử lý và retest. |
| 23-27/09 | Launch preparation. |
| 28/09 | Go-live. |
Điều kiện nghiệm thu
- Chức năng: mọi feature trong scope matrix đạt acceptance criteria tương ứng; các hạng mục owner chung được hai bên cùng xác nhận integration.
- Chất lượng: không còn lỗi blocker hoặc critical; bằng chứng kiểm thử được lưu trong test report.
- Đa ngôn ngữ: không trộn ngôn ngữ; menu, slug, taxonomy và forms được dịch đầy đủ VN/EN.
- Email: SPF/DKIM được xác nhận; test delivery có bằng chứng gửi và nhận thành công.
- Analytics: GTM preview và GA4 DebugView xác nhận đúng event và parameters.
- Bảo mật và backup: login protection, CAPTCHA hoạt động; application-level backup có kết quả restore test.
Tiêu chí hiệu suất
Launch, hypercare and project closure
Launch ownership
| Bên | Trách nhiệm khi launch |
|---|---|
| PM + Vendor | Owner chính của toàn bộ hoạt động launch. |
| Client Marketing | Xác nhận content và giao diện trước khi go-live. |
| Vendor | Production deployment, smoke test và rollback nếu cần. |
| Team Central | Hỗ trợ các vấn đề liên quan đến hosting. |
| Client IT hoặc đơn vị quản lý domain | Hỗ trợ DNS, SSL và email authentication khi cần. |
Launch preparation (23-27/09)
- Content freeze có hiệu lực; chỉ sửa lỗi hiển thị, hình ảnh, broken link, format hoặc translation.
- Production content check, hosting readiness và backup/restore rehearsal.
- Xác nhận DNS/SSL, quyền truy cập production, rollback plan và launch checklist.
Go-live (28/09)
- Vendor thực hiện production deployment và smoke test theo checklist.
- PM xác nhận website hoạt động và thông báo cho các bên liên quan.
Hypercare và handover (29-30/09)
- Dev trực on-call, ghi nhận incident log và xử lý hotfix.
- Bàn giao source code, tài khoản, user manual và tài liệu vận hành.
- Training sử dụng CMS cho Client Marketing (2-4 giờ) nếu chưa hoàn tất trong giai đoạn UAT.
- Chế độ bảo hành sau bàn giao thực hiện theo phạm vi hợp đồng.
- Xác nhận project closure chậm nhất ngày 30/09/2026.
Open decisions and items to confirm
Các điểm dưới đây chưa được chốt trong tài liệu nguồn và cần PM xác nhận bằng văn bản, ưu tiên trước mốc M1 (31/07).
| # | Hạng mục | Người quyết định | Ghi chú |
|---|---|---|---|
| 1 | Tổng số trang và template trong phạm vi báo giá | PM + Vendor + Client | Pending confirmation Không tự chốt số; tài liệu hiện ghi nhận 9 nhóm template. |
| 2 | Phạm vi custom code hoặc custom widget ngoài khả năng mặc định của nền tảng | PM + Vendor | Cần liệt kê rõ trước khi khóa contract để tránh tranh chấp scope. |
| 3 | Trách nhiệm mua và gia hạn license WPML, ACF, SMTP, backup | PM + Client (theo hợp đồng) | Elementor Pro đã xác định: Client sở hữu, Vendor kích hoạt; gia hạn sau bàn giao thuộc Client trừ khi hợp đồng quy định khác. |
| 4 | Timezone dùng cho countdown trên homepage | Client Marketing | To be confirmed |
| 5 | Số lượng entries của directory và nguồn dữ liệu CSV | Client Marketing | To be confirmed Ảnh hưởng đến staging dataset và tiêu chí nghiệm thu search. |
| 6 | Đơn vị phụ trách DNS/SSL cho domain chính thức | Team Central hoặc đơn vị quản lý domain | Xác định rõ để tránh vướng mắc trong tuần launch preparation. |
| 7 | Thông tin email/domain cho SMTP, SPF/DKIM | Client IT | Cần cung cấp trước Phase 3 để kịp test email routing. |
| 8 | Đầu mối Team Central và quy trình gửi yêu cầu hỗ trợ hosting | PM + Team Central | Là đầu ra bắt buộc của Phase 0. |
| 9 | Phạm vi và chi phí tích hợp cổng thanh toán VNPAY | PM + Vendor + Client | Tính phí riêng ngoài scope website cơ bản; ghi rõ trong hợp đồng. Pending confirmation |
| 10 | Dịch vụ xin tích xanh Bộ Công Thương | PM + Client | Báo giá 10.000.000 VNĐ/tích xanh cho việc tích hợp cổng thanh toán VNPAY; có thể xuất hóa đơn riêng. |
Nguyên tắc quản lý thay đổi
- Sau full design freeze (07/08), thay đổi phát sinh template, cấu trúc dữ liệu hoặc chức năng mới là change request và phải đánh giá lại ảnh hưởng tới timeline.
- Sau content freeze (22/09), không bổ sung trang mới hoặc thay đổi layout lớn.
- Mọi điều chỉnh scope được ghi nhận bằng văn bản và cập nhật vào scope matrix tại mục 05.
Halal Fest
Website Delivery Plan
Timeline, milestones, feature scope, ownership boundaries and acceptance conditions for the Halal Fest website build on WordPress, supporting review and scope sign-off among PM, Vendor, Client Marketing and Team Central.
Executive summary
The project objective is to bring the Halal Fest website go-live on 28/09/2026, complete hypercare, handover and project closure no later than 30/09/2026, ensuring stable operation before 01/10/2026.
The frontend and backend are developed in parallel on WordPress. The frontend builds reusable components, page sections and templates, combined with custom CSS, JavaScript or custom code for advanced features. The backend locks the data structure, API and business logic. The two sides integrate continuously by page group and feature.
Delivery principles
- Lock the structure first: ACF JSON, REST schema and seed data are committed to the repo before broad development.
- Parallel development: Frontend and backend run concurrently on the same local and staging environments, integrating by page group.
- Gated acceptance: each phase has specific outputs, approvers and completion criteria; UAT only begins after internal QA is complete.
- Content by batch: Client Marketing enters content in parallel with development as soon as each template is delivered on staging, not waiting until the end of the project.
Four items the PM must confirm this week
| 1 | Confirm the go-live date 28/09/2026 and the content freeze date 22/09/2026 with all parties. |
| 2 | Confirm the WordPress implementation baseline and the scope of custom development beyond the platform's default capability. |
| 3 | Confirm the number of pages, templates and features within the quoted scope. Pending confirmation |
| 4 | Confirm responsibility for purchasing, handing over and renewing licenses: Elementor Pro (Client-owned, Vendor-activated), WPML, ACF, SMTP and backup. |
Delivery timeline
A roughly 10-week roadmap from kickoff to go-live. Phases are deliberately overlapped: frontend and backend start together after contract lock; content is entered by batch in parallel with development.
| Phase | Time | Owner | Focus | Required output |
|---|---|---|---|---|
| 0 | 20-31/07 | PM + BE + FE | Kickoff and contract lock | Scope, 9 template groups, ACF JSON, REST schema, license, key design handoff, local/staging environment; Team Central contact for hosting, staging/production access and the hosting support request process |
| 1 | 27/07-14/08 | FE + BE | Foundation | WordPress setup, plugin skeleton, global UI, settings and VN/EN seed data |
| 2 | 10/08-28/08 | FE + BE | Core templates | Homepage, standard pages, news, basic forms and CMS rendering on staging |
| 3 | 24/08-11/09 | FE + BE | Features and integration | Directory, gallery, email, analytics, WPML and end-to-end integration |
| 4 | 07-15/09 | Dev + PM | Internal QA and UAT preparation | Browser QA, responsive, security, basic performance check, test accounts and UAT checklist |
| 5 | 16-22/09 | Client + PM + Dev | Client UAT, training and bug fixing | UAT sign-off, fix/retest, user manual and 2-4h training |
| 6 | 23-27/09 | Client Marketing + PM + Dev | Launch preparation | Content freeze, production content check, hosting readiness, backup/restore rehearsal, DNS/SSL and launch checklist |
| GL | 28/09 | PM + Vendor | Go-live | Production deployment, smoke test and confirmation the website works |
| HC | 29-30/09 | Dev + PM | Hypercare and handover | Incident log, hotfix, source/account handover and project closure confirmation by 30/09 |
Milestones and gates
Each milestone is an acceptance gate with specific outputs and approvers. The two design gates (gold) are entry conditions for Phase 1 and Phase 2, not a separate design phase.
Scope matrix: pages, templates and features
Three concepts are clearly distinguished at scope sign-off: a Page is what the user sees; a Template is a layout reused across pages; a Feature/module is an operational function. The number of pages does not equal the number of layouts; 9 template groups do not represent the entire feature scope.
| Page | Template | Feature/module | Owner | Support | Acceptance criteria |
|---|---|---|---|---|---|
| All pages | Global header/footer | Navigation, dropdown, language switcher, CTA, mobile drawer, newsletter mini, social, organiser logos | FE | BE (WPML), Client Marketing | Keyboard accessible; correct at 375/768/1280+; VN/EN correct route; full link and form states |
| Homepage | Homepage | Hero, countdown, stats, news slider, benefit cards, logos | FE + BE | Client Marketing | All blocks editable via CMS; countdown uses agreed timezone TBC |
| Standard content pages | Text-image, grid, logo, downloads | CMS rendering, reusable sections | FE + BE | Client Marketing | Content editable via CMS; responsive; empty states handled |
| News archive, news detail | Archive, single | News archive, category filter, pagination, related posts, social share | FE | BE (query), Client Marketing | Full meta/OG; accessible share; categories translated VN/EN |
| Registration, contact | Form | Forms: visitor, exhibitor, media, contact, newsletter; email routing | FE + BE | PM, Client IT | Client + server validation; reCAPTCHA; DB; email; GA4 event |
| Directory | Directory | Directory, search/filter, pagination via REST API | FE + BE | Client Marketing (data) | Search and filter usable on mobile; correct results on staging dataset; entries count TBC |
| Gallery | Map/gallery | Gallery grid, lazy-load, lightbox, filter by year/date | FE + BE | Client Marketing | Keyboard-controllable lightbox; responsive images; editable filter |
| Sponsorship | Comparison | Sponsorship comparison, package table and CTA | FE | Client Marketing | No table break on mobile; package data editable via CMS |
| All pages | All templates | Multilingual: WPML VN/EN, translation rules, language mapping | BE | FE, Client Marketing | No language mixing; menu, slug, taxonomy and forms translated |
| System | N/A | Email routing: SMTP, auto-reply, lead routing, failure log | BE | Client IT (email/domain) | SPF/DKIM confirmed; test delivery evidenced |
| All pages | N/A | Analytics: GTM, GA4, form_submit, download, CTA, search events | FE + BE | Client Marketing | GTM preview and GA4 DebugView confirm events and parameters |
| Directory, news | Archive, directory | Shared search/filter | FE + BE | PM | Filter works correctly, usable on mobile, has no-results state |
Other supporting items: SEO, website security, application-level backup and cross-browser QA, accepted under the criteria in section 08.
Frontend, backend and ownership boundaries
The frontend and backend are developed in parallel on WordPress. The frontend builds reusable components, page sections and templates, combined with custom CSS, JavaScript or custom code for advanced features. The backend locks the data structure, API and business logic. The two sides integrate continuously by page group and feature.
Frontend
- Build page templates, global sections and reusable components.
- Set up responsive behavior, accessibility and browser compatibility.
- Render data from ACF/CPT and integrate the REST API.
- Build loading, error, success and empty states.
- Custom CSS, JavaScript or custom code when default features do not meet the design.
- Responsible for frontend performance and visual QA.
Backend
- Build CPT, taxonomy, ACF JSON and REST schema.
- Server validation, reCAPTCHA, database and CSV export.
- Email, SMTP, lead routing and dataLayer events.
- WPML configuration and website security.
- Application-level backup and production deployment.
- Hosting coordination: work with Team Central when hosting support is needed.
- Provide admin rights, settings page and seed data for the Frontend.
Integration principles
- ACF JSON and REST schema are committed to the repo and versioned; no manual configuration on a single database only.
- Backend provides VN/EN seed data early so the frontend can build and test templates with real data.
- Items marked with shared ownership (FE + BE) are only accepted when both sides confirm integration.
- Integration results are tested on staging by page group, not deferred to the end of the project.
Client Marketing, Vendor and Team Central responsibilities
Content responsibility
The Vendor builds the framework, templates and features. Client Marketing enters, edits and approves content, by batch in parallel with development as soon as each template is delivered on staging.
| Milestone | Content rule |
|---|---|
| From 28/08 | Begin entering content for completed core pages. |
| From 11/09 | All templates and main features ready for content entry. |
| 22/09 | Content freeze. |
| 23-27/09 | Only fix display errors, images, broken links, formatting or translation. No new pages or major layout changes after content freeze. |
Primary owner: Client Marketing. Support: PM, Frontend and Backend.
Team Central support scope
- Hosting availability.
- Hosting access (staging and production).
- Hosting-related incidents.
- Hosting backup.
- DNS or SSL when within Central's scope.
- Website development.
- Content.
- UI/UX.
- Feature implementation.
- Application-level operation.
Changes to content, interface, features and application-level operation of the website are handled by the project team working directly with the Vendor.
Detailed responsibility matrix
A table assigning the primary owner and support party for each operational, license and infrastructure item, used as a basis when requests arise during implementation and after launch.
| Item | Primary owner | Support |
|---|---|---|
| Hosting availability | Team Central | Client IT / Vendor |
| Hosting-related incidents | Team Central | Vendor provides logs and error information |
| Website development | Vendor | PM / Client Marketing |
| Interface and responsive | Vendor | Client Marketing approves |
| Website content | Client Marketing | Vendor guides |
| Elementor Pro license | Client | Vendor activates and configures |
| WPML and ACF license | Per contract or Client | Vendor deploys |
| SMTP configuration | Vendor | Client IT provides email/domain info |
| SPF/DKIM | Client IT or domain manager | Vendor provides DNS records |
| Application backup | Vendor | Central assists if hosting-related |
| Hosting backup | Team Central | Vendor coordinates when restore needed |
| DNS/SSL | Central or domain/hosting manager | Vendor provides technical requirements |
| Production deployment | Vendor | Central assists with hosting access |
| Content update after launch | Client Marketing works with Vendor | Central not responsible |
Separately charged items outside the basic website scope
The items below are quoted and charged separately and are not part of the basic website build scope. The contract should state these clearly to avoid confusion over scope and cost.
| Item | Cost | Invoice | Notes |
|---|---|---|---|
| VNPAY payment gateway integration | Charged separately TBC | Per contract | The payment gateway integration is quoted and charged separately and is not part of the basic website scope. |
| MOIT blue-tick registration | VND 10,000,000 / blue tick | Separate invoice possible | Registration of the e-commerce website with the Ministry of Industry and Trade to serve the VNPAY payment gateway integration. A separate invoice may be issued for the blue-tick service. |
UAT and acceptance criteria
Client UAT only begins after internal QA is complete and the website is confirmed ready for client testing.
UAT sequence
| Milestone | Content |
|---|---|
| 11/09 | Feature complete: all main features completed on staging. |
| 07-15/09 | Internal QA: browser QA (Chrome, Firefox, Safari, Edge), responsive, security and basic performance check. |
| 15/09 | UAT-ready: UAT checklist, test accounts and test environment ready. Basic performance check completed. |
| 16-22/09 | Client UAT, fix and retest in a controlled loop. |
| 22/09 | UAT sign-off: blocker and critical bugs fixed and retested. |
| 23-27/09 | Launch preparation. |
| 28/09 | Go-live. |
Acceptance conditions
- Functionality: every feature in the scope matrix meets its acceptance criteria; shared-owner items are confirmed by both sides for integration.
- Quality: no blocker or critical bugs remain; test evidence is stored in the test report.
- Multilingual: no language mixing; menu, slug, taxonomy and forms fully translated VN/EN.
- Email: SPF/DKIM confirmed; test delivery evidenced by successful send and receive.
- Analytics: GTM preview and GA4 DebugView confirm correct events and parameters.
- Security and backup: login protection and CAPTCHA working; application-level backup has a restore-test result.
Performance criteria
Launch, hypercare and project closure
Launch ownership
| Party | Responsibility at launch |
|---|---|
| PM + Vendor | Primary owner of all launch activities. |
| Client Marketing | Confirm content and interface before go-live. |
| Vendor | Production deployment, smoke test and rollback if needed. |
| Team Central | Support hosting-related issues. |
| Client IT or domain manager | Support DNS, SSL and email authentication when needed. |
Launch preparation (23-27/09)
- Content freeze in effect; only fix display errors, images, broken links, formatting or translation.
- Production content check, hosting readiness and backup/restore rehearsal.
- Confirm DNS/SSL, production access, rollback plan and launch checklist.
Go-live (28/09)
- Vendor performs production deployment and smoke test per checklist.
- PM confirms the website works and notifies the relevant parties.
Hypercare and handover (29-30/09)
- Dev on-call, logs incidents and handles hotfixes.
- Hand over source code, accounts, user manual and operation documents.
- CMS usage training for Client Marketing (2-4h) if not completed during UAT.
- Post-handover warranty is performed within the contract scope.
- Confirm project closure no later than 30/09/2026.
Open decisions and items to confirm
The points below are not yet locked in the source document and require the PM to confirm in writing, prioritized before the M1 milestone (31/07).
| # | Item | Decision maker | Notes |
|---|---|---|---|
| 1 | Total pages and templates within the quoted scope | PM + Vendor + Client | Pending confirmation Do not fix numbers unilaterally; the document currently records 9 template groups. |
| 2 | Scope of custom code or custom widgets beyond the platform's default capability | PM + Vendor | Must be listed clearly before contract lock to avoid scope disputes. |
| 3 | Responsibility for purchasing and renewing WPML, ACF, SMTP, backup licenses | PM + Client (per contract) | Elementor Pro is determined: Client-owned, Vendor-activated; renewal after handover rests with the Client unless the contract states otherwise. |
| 4 | Timezone used for the homepage countdown | Client Marketing | To be confirmed |
| 5 | Number of directory entries and CSV data source | Client Marketing | To be confirmed Affects the staging dataset and search acceptance criteria. |
| 6 | Party responsible for DNS/SSL for the official domain | Team Central or domain manager | Determine clearly to avoid obstacles during launch preparation week. |
| 7 | Email/domain information for SMTP, SPF/DKIM | Client IT | Must be provided before Phase 3 to test email routing in time. |
| 8 | Team Central contact and the hosting support request process | PM + Team Central | A required output of Phase 0. |
| 9 | Scope and cost of VNPAY payment gateway integration | PM + Vendor + Client | Charged separately outside the basic website scope; stated clearly in the contract. Pending confirmation |
| 10 | MOIT blue-tick registration service | PM + Client | Quoted at VND 10,000,000/blue tick for the VNPAY payment gateway integration; separate invoice possible. |
Change management principles
- After full design freeze (07/08), changes that add templates, data structure or new features are change requests and require re-assessment of timeline impact.
- After content freeze (22/09), no new pages or major layout changes.
- Every scope adjustment is recorded in writing and updated in the scope matrix in section 05.