# 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
```
