[x] Set giá trị mặc định cho GlobalData cũng được để không phải xử lý thêm như thế này
[x] Tìm cách để migrate data cũ (không có trường userId) để không xảy ra lỗi
[ ] Nên thêm static
[x] Trước khi quantity về 0 hiển thị dialog để xác nhận có xóa sản phẩm hay không? Nếu không, quay trở về 1 và đóng dialog
[x] #7
[x] Có 2 các xử lý: 1. Làm giống design, 2. Cho chữ chạy (Khuyến khích làm cách này)
Expect:
Actual:
[x] cart_page.dart => Đoạn này không cần thiết
[ ] Tại sao lại khai báo biến ở check_home_cubit.dart, main_cubit.dart, sign_up_cubit.dart (cần giải trình để xem cái nào giữ cái nào bỏ)
[x] Vẫn còn những đoạn như này ở trong project
[x] Trong DetailProduct đang cho quantity về 0 => Chặn
[ ] Những đoạn call API trong home_cubit.dart, login_cubit.dart, main_cubit.dart, profile_cubit.dart, sign_up_cubit.dart nên cho vào api_client.dart
[x] Thêm URL vào app_images.dart
[x] Những hàm trà về kiểu dữ liệu mong muốn từ dữ liệu được chọn như ở dưới thì hãy thêm vào trong một file nằm trong thư mục utils. Ví dụ như trường hợp này có thể thêm vào file date_utils.dart
[x] on_boarding_cubit.dart => Bỏ async
[x] on_boarding_page.dart => Hãy xử lý bằng cubit chứ không phải dùng setState
[x] cart_page.dart và profile_page.dart => Điều kiện đang sai (Tham khảo lại base hoặc hỏi lại anh)
[ ] Kiểm tra lại có một số Widget đang được sử dụng nhiều lần => Tạo thành common widgets
@kullhy
[x] Detail product screen => getData![Screenshot 2023-10-23 at 16 03 59](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/2a858f72-a5c7-48bb-805a-3100a0b4ce4f)
[x] Khi navigate từ màn hình Detail => Các button không navigate sang màn hình khác
[x] Thiếu padding dưới![Screenshot 2023-10-23 at 16 08 32](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/00ac3f76-4193-4387-b894-ba44417ec69c)
[x] Cart => Detail Product screen => Thêm sản phẩm mới => Back về Cart => Data không reload https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/8eb8798e-3a32-49ad-ba96-ecee4adfba55
[x] Profile không chỉnh sửa được các trường thông tin
[x] Hạ kích thước của phần Total![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/4f4096cb-b685-41c5-962b-b8b840689a7d)
[x]
firebase_options.dart
=>service
[x] Không khai báo ở![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/8d848289-03f9-4913-a3e9-619d1540df89)
main
[x] Nên thêm dấu![Screenshot 2023-10-23 at 17 17 54](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/44c34760-2fe5-449c-b367-e8a9c91e699b)
,
ở giữa và format code[x]
app_navigator.dart
đang có hàm forceSignIn (dùng để navigate) + với các hàm showDialog() => Nên tách ra[x]
app_svgs.dart
=> 'app_vectors.dart'[x] Kiểm tra lại chính tả toàn app (Chỗ nào bị green underlines thì fix)
[x]
api_path.dart
=>configs
(nên đổi tên nữa)[x] Tại sao lại có![Screenshot 2023-10-23 at 17 41 31](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/47c21fb1-42aa-4816-8a9d-7988ddbd9cf7)
model
trongbottom_bar
[x]![Screenshot 2023-10-23 at 17 42 14](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/3dcf5881-c82f-42f8-a9ad-b0be55ce7427)
dialog
đang ở sai vị trí => Tham khảo lại base[x] Đổi tên các
components
=>widgets
[x] Không sử dụng
StatefulWidget
bừa bãi (Không dùng Consumer, Builder, Listener thì không cần dùng)[ ] Tách nhỏ các Widget trong
build
thành các Widget con (tránh để build dài quá)[x] Có thể xử lý cái đường dẫn trong hàm được không?![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/bdba6a4b-f5db-4348-9462-17ef8b9b03a5)
[x]
genget_widget.dart
+info_field.dart
=> Wrap trongStatelessWidget
[x] Nên để![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/dfc23d89-3b92-4604-b204-fd5719887184)
TextController
ở bên page[x] Add to cart vẫn cho phép bấm khi đang xử lý
[x] Không truyền cả cái cubit vào trong Widget như này![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/2f1c3287-6a37-4b42-a497-18aaf471f403)
[x] Kiểm tra lại các đường dẫn được import => Absolute path
[x] Tên đặt chưa đúng và nên làm theo format của các cái còn lại![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/1f1de998-7ce5-412e-a4cd-2ceb5ed366c9)
[x] Format code cho cả project
[x] Nếu không dùng đến thì không cần khai báo (Để ý xem giá trị mặc định các trường thuộc tính là gì)![image](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/ea6a306b-295a-46ad-9e70-a71068e3f57c)
[x] Không làm gì thì đừng làm :)
![Screenshot 2023-10-25 at 11 13 07](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/14e2384d-e863-40f0-8dff-fd21cb233160)
[x] Tạo màu trong![Screenshot 2023-10-25 at 11 14 16](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/96628277-ce01-4bbc-a93f-28e7e241e754)
app_color.dart
[x]
cart_cubit.dart
+detail_product_cubit.dart
=> https://flutterbyexample.com/lesson/assignment-operators[x] Đoạn này bị vô nghĩa![Screenshot 2023-10-25 at 11 36 17](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/02f9a6c8-7aa5-4ae5-9516-66fb370c764a)
[x]![Screenshot 2023-10-25 at 11 45 51](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/4492c71a-7fbc-42fd-a221-8ab69f462e4f)
EdgeInsets.symmetric()
[x]![Screenshot 2023-10-25 at 11 52 46](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/7df968a1-0997-41cb-a8ee-fa56d9f15abd)
BorderRadius.vertical()
[x]![Screenshot 2023-10-25 at 11 56 55](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/c0014933-4750-4061-a8a0-460182277025)
detail_product_cubit.dart
[x] Set giá trị mặc định cho![Screenshot 2023-10-27 at 10 14 18](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/bb356432-ed6e-452b-83ab-57d5d69c2f1a)
GlobalData
cũng được để không phải xử lý thêm như thế này[x] Tìm cách để migrate data cũ (không có trường![Screenshot 2023-10-27 at 10 17 59](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/7abd5440-36dd-4628-a7eb-4de9589012b9)
userId
) để không xảy ra lỗi[ ] Nên thêm![Screenshot 2023-10-27 at 10 48 25](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/9dd1cf2c-ccbe-400e-bbb1-0b371695fcdb)
static
[x] Trước khi
quantity
về 0 hiển thị dialog để xác nhận có xóa sản phẩm hay không? Nếu không, quay trở về 1 và đóng dialog[x] #7![Screenshot 2023-10-27 at 11 07 33](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/3d1ad079-839d-4206-8550-cfa2c6f30c79)
[x] Có 2 các xử lý: 1. Làm giống design, 2. Cho chữ chạy (Khuyến khích làm cách này) Expect:
Actual:
![Screenshot 2023-10-27 at 11 08 52](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/6cab949d-1262-4998-b2db-38d15e039d1d)
[x]![Screenshot 2023-10-27 at 11 19 56](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/d9116053-b10f-4ad9-965e-2ef6a24bbcb6)
cart_page.dart
=> Đoạn này không cần thiết[ ] Tại sao lại khai báo biến ở![Screenshot 2023-10-27 at 11 22 25](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/67333650-756f-492d-aca5-64ca92bc3bd5)
check_home_cubit.dart
,main_cubit.dart
,sign_up_cubit.dart
(cần giải trình để xem cái nào giữ cái nào bỏ)[x] Vẫn còn những đoạn như này ở trong project![Screenshot 2023-10-27 at 11 24 57](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/0bcebe21-89f1-49ad-9a24-04d580385a2d)
[x] Trong
DetailProduct
đang choquantity
về 0 => Chặn[ ] Những đoạn call API trong
home_cubit.dart
,login_cubit.dart
,main_cubit.dart
,profile_cubit.dart
,sign_up_cubit.dart
nên cho vàoapi_client.dart
[x] Thêm URL vào![Screenshot 2023-10-27 at 11 35 44](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/0ba456f3-639a-4fd0-ad4a-0650b34dae98)
app_images.dart
[x] Những hàm trà về kiểu dữ liệu mong muốn từ dữ liệu được chọn như ở dưới thì hãy thêm vào trong một file nằm trong thư mục![Screenshot 2023-10-27 at 11 42 03](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/8f9da50a-e1d0-48c0-85e4-8f93fc1a2148)
utils
. Ví dụ như trường hợp này có thể thêm vào filedate_utils.dart
[x]![Screenshot 2023-10-27 at 11 46 11](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/0fb849bb-b250-47a8-b00d-b1de6b0a4183)
on_boarding_cubit.dart
=> Bỏasync
[x]
![Screenshot 2023-10-27 at 11 47 32](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/8f4d6156-9033-4c95-8cba-8753fecb074c)
on_boarding_page.dart
=> Hãy xử lý bằng cubit chứ không phải dùngsetState
[x]![Screenshot 2023-10-27 at 11 53 10](https://github.com/lamdt-newwave/nws_huydq_ecommerce_flutter/assets/118146376/4f428aff-7fd4-490d-aa49-f52f98d04456)
cart_page.dart
vàprofile_page.dart
=> Điều kiện đang sai (Tham khảo lại base hoặc hỏi lại anh)[ ] Kiểm tra lại có một số Widget đang được sử dụng nhiều lần => Tạo thành common widgets