# Danh Sách Kiểm Tra Nâng Cấp Next.js 15.2.35 → 15 ## ✅ Xác Minh Trước Khi Nâng Cấp - [ ] Tạo nhánh tính năng: `git checkout -b upgrade/next-15` - [ ] Commit công việc hiện tại: `git add . && git commit -m "Pre-upgrade checkpoint"` - [ ] Chạy toàn bộ bộ kiểm thử: `npm run test` - [ ] Kiểm tra TypeScript: `npm run typecheck` - [ ] Ghi chú phiên bản hiện tại: `npm ls next` (phải là 14.2.35) ## 🔧 Các Bước Nâng Cấp ### Bước 1: Cập Nhật Next.js ```bash npm install next@15 --save npm install ``` ### Bước 2: Chạy Máy Chủ Phát Triển ```bash npm run dev ``` - [ ] Máy chủ dev khởi động không có lỗi - [ ] Không có lỗi TypeScript - [ ] HMR (tải lại nóng) hoạt động bình thường ### Bước 3: Kiểm Tra Kiểu Dữ Liệu ```bash npm run typecheck ``` - [ ] Không có lỗi kiểu dữ liệu mới phát sinh - [ ] Tất cả kiểu dữ liệu được phân giải đúng ### Bước 4: Chạy Kiểm Thử ```bash npm run test ``` - [ ] Tất cả các bài kiểm thử đều qua - [ ] Không có bài kiểm thử bị hỏng - [ ] Độ bao phủ được duy trì ### Bước 5: Build Sản Xuất ```bash npm run build ``` - [ ] Build hoàn thành thành công - [ ] Kích thước build tương đương trước đây (trong khoảng ±5%) - [ ] Không có cảnh báo build - [ ] Kiểm tra kích thước thư mục `.next`: `du -sh .next/` ### Bước 6: Kiểm Thử Build Sản Xuất ```bash npm run start ``` - [ ] Build sản xuất khởi động được - [ ] Không có lỗi runtime - [ ] Có thể điều hướng trong ứng dụng ## 🧪 Danh Sách Kiểm Thử Thủ Công ### Trang Công Khai - [ ] Trang chủ tải và hiển thị được - [ ] Trang tìm kiếm tải được (có bản đồ) - [ ] Trang chi tiết tin đăng tải được với hình ảnh - [ ] Thư viện ảnh hoạt động (nút trước/tiếp theo) ### Xác Thực - [ ] Trang đăng nhập tải được - [ ] Trang đăng ký tải được - [ ] Callback xác thực hoạt động (Google, Zalo) - [ ] Cookie được thiết lập/xóa đúng cách - [ ] Chuyển hướng đến trang đăng nhập hoạt động với trang được bảo vệ ### Quốc Tế Hóa (i18n) - [ ] Phiên bản tiếng Anh tải được: `/en/*` - [ ] Phiên bản tiếng Việt tải được: `/vi/*` - [ ] Chuyển đổi ngôn ngữ hoạt động - [ ] Tùy chọn ngôn ngữ được lưu giữ - [ ] Phát hiện ngôn ngữ qua middleware hoạt động ### Bảng Điều Khiển (Được Bảo Vệ) - [ ] Trang bảng điều khiển tải được - [ ] Trang tin đăng hoạt động - [ ] Luồng tạo tin đăng mới - [ ] Luồng chỉnh sửa tin đăng - [ ] Trang Thanh Toán/Đăng Ký tải được - [ ] Trang hồ sơ tải được - [ ] Trang KYC tải được - [ ] Trang định giá tải được ### Bảng Quản Trị - [ ] Bảng điều khiển quản trị tải được - [ ] Trang người dùng tải được - [ ] Trang xét duyệt KYC tải được - [ ] Trang kiểm duyệt tải được ### Hiệu Năng - [ ] Thời gian tải trang hợp lý - [ ] Không có lỗi trong console - [ ] Không có cảnh báo trong console - [ ] Không phát hiện rò rỉ bộ nhớ - [ ] Các yêu cầu mạng hoạt động bình thường ### Tính Năng Đặc Biệt - [ ] Bản đồ Mapbox GL tải đúng cách - [ ] Tối ưu hóa hình ảnh hoạt động - [ ] Tiêu đề CSP đúng - [ ] Theo dõi lỗi Sentry hoạt động - [ ] Báo cáo web vitals hoạt động ## 📊 Mốc Hiệu Năng Cơ Sở Trước khi nâng cấp: - Thời gian build: _____ giây - Kích thước bundle: _____ MB - First contentful paint: _____ ms - Time to interactive: _____ ms Sau khi nâng cấp: - Thời gian build: _____ giây - Kích thước bundle: _____ MB - First contentful paint: _____ ms - Time to interactive: _____ ms So sánh: _____ (Cải thiện / Không thay đổi / Tăng nhẹ) ## 🔍 Kiểm Tra Khả Năng Tương Thích ### Trạng Thái Các Phụ Thuộc - [ ] @sentry/nextjs@10.47.0 → Hoạt động - [ ] next-intl@4.9.0 → Hoạt động - [ ] @tanstack/react-query@5.96.2 → Hoạt động - [ ] mapbox-gl@3.21.0 → Bản đồ tải đúng cách - [ ] Tất cả các phụ thuộc khác → Tương thích ### Các Tệp Cấu Hình - [ ] next.config.js → Không có cảnh báo - [ ] tsconfig.json → Hợp lệ - [ ] tailwind.config.ts → Build đúng cách - [ ] sentry.*.config.ts → Theo dõi lỗi hoạt động ## 🚀 Triển Khai ### Môi Trường Staging - [ ] Triển khai lên staging - [ ] Toàn bộ bộ kiểm thử qua trên staging - [ ] Hoàn thành kiểm thử khói thủ công - [ ] Theo dõi log trong 30 phút - [ ] Không có lỗi trong hệ thống theo dõi lỗi ### Môi Trường Sản Xuất - [ ] Tạo nhánh triển khai sản xuất - [ ] Triển khai lên môi trường sản xuất - [ ] Theo dõi log lỗi - [ ] Theo dõi các chỉ số hiệu năng - [ ] Kiểm tra Sentry xem có lỗi mới không - [ ] Xác minh tất cả tính năng hoạt động - [ ] Theo dõi trong 24 giờ ## ✅ Ký Duyệt Sau Nâng Cấp - [ ] Tất cả bài kiểm thử đều qua - [ ] Kích thước build chấp nhận được - [ ] Hiệu năng chấp nhận được - [ ] Không có lỗi nghiêm trọng - [ ] Tính tương đương tính năng được duy trì - [ ] Sẵn sàng đưa lên môi trường sản xuất ## 📝 Ghi Chú & Các Vấn Đề Phát Hiện ``` Vấn đề 1: ___________________________________________ Giải quyết: ________________________________________ Vấn đề 2: ___________________________________________ Giải quyết: ________________________________________ Vấn đề 3: ___________________________________________ Giải quyết: ________________________________________ ``` ## 🎯 Ký Duyệt Nâng cấp bởi: _____________________ Ngày: _____________________ Xác minh bởi: _____________________ Triển khai sản xuất: _____________________ --- **Nếu có sự cố xảy ra, hãy hoàn tác bằng:** ```bash git revert HEAD npm install npm run dev ```