Professional Documents
Culture Documents
BaoCaoCuoiKiNMCNPM Nhom15
BaoCaoCuoiKiNMCNPM Nhom15
BaoCaoCuoiKiNMCNPM Nhom15
BÁO CÁO
MÔN HỌC: NHẬP MÔN CÔNG NGHỆ PHẦN
MỀM
MỤC LỤC
2
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
15. Usecase Lập hóa đơn ...................................................................................... 33
16. Usecase Thêm bài viết .................................................................................... 34
17. Usecase Chỉnh sửa thông tin cá nhân .............................................................. 35
18. Usecase Tra cứu sản phẩm .............................................................................. 36
19. Usecase Đặt hàng ............................................................................................ 37
20. Usecase Chỉnh sủa thông tin đặt hàng ............................................................ 38
21. Usecase Xác nhận đặt hàng............................................................................. 38
22. Usecase Thêm sản phẩm vào giỏ hàng ........................................................... 39
23. Usecase Chỉnh sửa giỏ hàng ........................................................................... 40
24. Usecase Thanh toán ........................................................................................ 41
25. Usecase Hủy đơn hàng .................................................................................... 42
26. Usecase Xem lịch sử mua hàng ...................................................................... 43
CHƯƠNG IV. THIẾT KẾ HỆ THỐNG ............................................................... 45
1 Kiến trúc hệ thống........................................................................................... 45
1.1. Sequence Diagram ........................................................................................ 45
1.1.1. Đăng Ký ................................................................................................. 45
1.1.2. Đăng nhập ............................................................................................... 46
1.1.3. Đăng xuất ................................................................................................ 46
1.1.4. Chỉnh sửa thông tin người dùng .............................................................. 47
1.1.5. Chỉnh sửa thông tin sản phẩm ................................................................. 47
1.1.6. Tra cứu sản phẩm .................................................................................... 48
1.1.7. Cập nhật thông tin sản phẩm ................................................................... 48
1.1.8. Cấp quyền tài khoản ................................................................................ 49
1.1.9. Xem báo cáo thống kê ............................................................................. 49
1.1.10. Đặt hàng ................................................................................................ 50
1.1.11. Thanh toán ............................................................................................. 50
1.1.12. Hủy đặt hàng ........................................................................................ 51
1.1.13. Chỉnh sửa giỏ hàng............................................................................... 51
1.1.14. Chỉnh sửa thông tin đặt hàng ................................................................ 52
1.1.15. Thêm sản phẩm vào giỏ hàng................................................................ 52
1.1.16. Xác nhận đặt hàng ................................................................................. 53
3
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1.1.17. Xem lịch sử mua hàng ........................................................................... 53
1.1.18. Tra cứu mã đơn hàng ............................................................................ 54
1.1.19. Cập nhật đơn hàng................................................................................. 55
1.1.20. Cập nhật thanh toán ............................................................................... 56
1.1.21. Thêm bài viết......................................................................................... 57
1.1.22. Chỉnh sửa thông tin cá nhân .................................................................. 58
1.1.23. Đặt hàng ................................................................................................ 59
1.2. Activity diagram............................................................................................. 60
1.2.1. Đăng kí .................................................................................................... 60
1.2.2. Đăng nhập ............................................................................................... 60
1.2.3. Tra cứu sản phẩm .................................................................................... 61
1.2.4. Thêm sản phẩm ....................................................................................... 61
1.2.5. Cập nhật thông tin sản phẩm, hình ảnh, danh mục sản phẩm ................. 62
1.2.6. Chỉnh sửa thông tin sản phẩm ................................................................. 62
1.2.7. Đặt hàng .................................................................................................. 63
1.2.8. Hủy đơn hàng .......................................................................................... 64
1.2.9. Chỉnh sửa thông tin đơn hàng ................................................................. 64
1.2.10. Chỉnh sửa thông tin giỏ hàng ................................................................ 65
1.2.11. Xem lịch sử mua hàng ........................................................................... 66
1.2.12. Tra cứu mã đơn hàng ............................................................................ 67
1.2.13. Cập nhật đơn hàng................................................................................. 67
1.2.14. Cập nhật thanh toán ............................................................................... 68
1.2.15. Lập hóa đơn ........................................................................................... 68
1.2.16. Thêm bài viết......................................................................................... 69
1.2.17. Chỉnh sửa thông tin cá nhân .................................................................. 69
1.3. State Machine Diagram.................................................................................. 70
1.3.1. Biểu đồ trạng thái khi đăng ký ................................................................ 70
1.3.2. Biểu đồ trạng thái khi đăng nhập ............................................................ 71
1.3.3. Biểu đồ trạng thái khi thêm sản phẩm vào giỏ hàng ............................... 72
1.3.4. Biểu đồ trạng thái khi thanh toán đơn hàng ............................................ 73
1.3.5. Biểu đồ trạng thái của đơn hàng.............................................................. 73
4
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2. Thiết kế dữ liệu ................................................................................................. 74
2.1. Sơ đồ ERD ..................................................................................................... 83
2.2. Class diagram ................................................................................................. 84
CHƯƠNG V. HIỆN THỰC CHƯƠNG TRÌNH .................................................. 85
1. Sử dụng CKEditor ............................................................................................. 85
2. Sử dụng CKFinder ............................................................................................ 86
3. Sử dụng Ajax..................................................................................................... 87
4. Sử dụng Pagelist ................................................................................................ 89
CHƯƠNG VI. GIAO DIỆN ................................................................................. 95
1. Giao diện khách hàng ........................................................................................ 95
1.1. Trang chủ ....................................................................................................... 95
1.2. Tin tức ............................................................................................................ 98
1.3. Sản phẩm ........................................................................................................ 99
1.4. Liên hệ.......................................................................................................... 100
1.5. Đăng nhập .................................................................................................... 101
2. Giao diện Admin ............................................................................................. 102
2.1. Đăng nhập .................................................................................................... 102
2.2. Trang chủ ..................................................................................................... 102
2.3. Danh mục ..................................................................................................... 103
2.4. Role .............................................................................................................. 104
2.5. Tin tức .......................................................................................................... 105
2.6. Bài viết ......................................................................................................... 106
2.7. Quản lý đơn hàng ......................................................................................... 107
2.8. Quảng cáo .................................................................................................... 109
2.9. Quản lý sản phẩm ......................................................................................... 110
2.10. Thống kê .................................................................................................... 112
2.11. Cấu hình hệ thống ...................................................................................... 113
2.12. Tài khoản.................................................................................................... 114
CHƯƠNG VII. TỔNG KẾT ............................................................................... 115
1. Kết quả đạt được ............................................................................................. 115
2. Những điểm còn thiếu sót ............................................................................... 115
5
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
TÀI LIỆU THAM KHẢO................................................................................... 116
6
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
7
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
8
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
10
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
11
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Thiết kế và xây dựng trang web bán hàng online với giao diện đẹp, thân thiện với
người dùng và tối ưu cho trải nghiệm mua sắm của khách hàng.
Cung cấp các tính năng và chức năng đầy đủ và tiện lợi cho khách hàng, bao gồm
tìm kiếm sản phẩm, đặt hàng, thanh toán trực tuyến, quản lý đơn hàng, theo dõi
đơn hàng và cung cấp thông tin sản phẩm đầy đủ và chính xác.
Đảm bảo tính bảo mật của thông tin khách hàng bằng các biện pháp bảo vệ thông
tin và hệ thống bảo mật an toàn.
Tối ưu hóa quy trình vận hành và quản lý đơn hàng để giảm thiểu các rủi ro và chi
phí liên quan đến việc bán hàng online.
Tăng cường tương tác với khách hàng thông qua việc sử dụng các công nghệmới,
khai thác dữ liệu và phân tích thị trường, giúp cải thiện trải nghiệm mua sắm trên
trang web của doanh nghiệp.
Tổng thể, mục tiêu của đề tài là giúp các doanh nghiệp có một trang web bán hàng online
chuyên nghiệp, hiệu quả và tối ưu, giúp tăng doanh số bán hàng và cải thiện uy tín thương
hiệu của doanh nghiệp.
12
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1. Mô tả dự án
Hệ thống được xây dựng để phục vụ các chức năng cơ bản của một trang web bán hàng
online, tạo ra môi trường để chủ kinh doanh có thể tương tác với khách hàng và giúp khách
hàng có thể tiếp cận được các sản phẩm do website cung cấp.
Hệ thống được triển khai trên nền tảng website giúp bất kỳ người dùng nào cũng có thể
kết nối và sử dụng mà không yêu cầu cấu hình thiết bị quá cao.
Hệ thống cho phép bất kỳ khách hàng nào muốn mua sản phẩm trên website đều có thể
đăng ký tài khoản để sử dụng dịch vụ.
Hệ thống chỉ cho phép quản lý hoặc quản trị viên tạo tài khoản và phân quyền cho các
nhân viên làm việc trong website, các nhân viên không phải là quản lý hay quản trị viên chỉ
được phép chỉnh sửa thông tin cá nhân của bản thân và không được thay đổi chức vụ.
Bộ phận kinh doanh: Bộ phận kinh doanh có trách nhiệm tìm kiếm khách hàng tiềm
năng, đàm phán và ký kết hợp đồng bán hàng, xây dựng và quản lý các kênh phân
phối sản phẩm. Bộ phận kinh doanh thường là bộ phận đầu tiên tiếp xúc với khách
hàng và đóng vai trò quan trọng trong việc tăng doanh số bán hàng.
Bộ phận marketing: Bộ phận marketing có nhiệm vụ phát triển chiến lược quảng cáo,
xây dựng hình ảnh thương hiệu, giới thiệu sản phẩm đến khách hàng, phát triển và
quản lý các chương trình khuyến mãi để thu hút khách hàng.
Bộ phận sản xuất: Bộ phận sản xuất có trách nhiệm sản xuất, đóng gói và vận chuyển
sản phẩm đến kho hàng. Bộ phận sản xuất cần đảm bảo sản phẩm được sản xuất đúng
chất lượng, đúng số lượng và được giao đúng thời gian để đáp ứng nhu cầu bán hàng.
Bộ phận kế toán: Bộ phận kế toán có nhiệm vụ quản lý tài chính, lập báo cáo tài
chính, thực hiện thu chi và quản lý các khoản phải thu và phải trả.
Bộ phận hỗ trợ khách hàng: Bộ phận hỗ trợ khách hàng có nhiệm vụ giải đáp thắc
mắc của khách hàng, xử lý các yêu cầu hỗ trợ kĩ thuật, giải quyết các khiếu nại và
phản hồi đóng góp của khách hàng.
13
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Bộ phận quản lý kho: Bộ phận quản lý kho có nhiệm vụ quản lý các kho hàng, kiểm
soát số lượng hàng tồn kho, xử lý đơn hàng, đảm bảo việc vận chuyển hàng hóa được
diễn ra đúng hạn và đúng chất lượng.
Bộ phận IT: Bộ phận IT có nhiệm vụ phát triển và quản lý hệ thống thông tin, bảo
mật dữ liệu, giám sát và nâng cấp hệ thống để đảm bảo hệ thống hoạt động ổn định
và an toàn.
14
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
15
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
16
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2.2 Mô tả actors
18
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
6 UC06 Chỉnh sửa danh mục sản Admin, NVBH thêm, xóa, sửa danh
phẩm mục sản phẩm
7 UC07 Tra cứu sản phẩm Admin,NVBH tìm kiếm sản phẩm
8 UC08 Cập nhật thông tin sản phẩm Admin,NVBH xóa, sửa thông tin
sản phẩm
9 UC09 Chỉnh sửa ảnh sản phẩm Admin,NVBH thêm, xóa, sửa ảnh
sản phẩm
10 UC10 Thêm sản phẩm Admin,NVBH thêm sản phẩm mới
11 UC11 Xem báo cáo thống kê Admin xem báo cáo thống kê
12 UC12 Tra cứu mã đơn hàng Admin,NVBH tìm kiếm đơn hàng
bằng mã đơn hàng
13 UC13 Cập nhật đơn hàng Admin,NVBH cập nhật các thông
tin đặt hàng
14 UC14 Cập nhật thanh toán Admin,NVBH cập nhật các thông
tin thanh toán của đơn hàng
15 UC15 Lập hóa đơn Admin,NVBH lập hóa đơn cho các
đơn hàng đã thanh toán
16 UC16 Thêm bài viết NVBH thêm bài biết mới vào phần
tin tức
17 UC17 Chỉnh sửa thông tin cá nhân Khách hàng chỉnh sửa thông tin cá
nhân
18 UC18 Tra cứu sản phẩm Khách hàng tìm kiếm sản phẩm
19 UC19 Đặt hàng Khách hàng đặt mua sản phẩm
20 UC20 Chỉnh sửa thông tin đặt hàng Khách hàng chỉnh sửa thông tin đặt
hàng
21 UC21 Xác nhận đặt hàng Khách hàng xác nhận đặt hàng
22 UC22 Thêm sản phẩm vào giỏ hàng Khách hàng thêm sản phẩm vào giỏ
hàng
19
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
23 UC23 Chỉnh sửa giỏ hàng Khách hàng sửa, xóa sản phẩm
trong giỏ hàng
24 UC24 Thanh toán Khách hàng thanh toán đơn hàng
25 UC25 Hủy đơn hàng Khách hàng hủy đơn đặt hàng
26 UC26 Xem lịch sử mua hàng Khách hàng xem lịch sử mua hàng
Bảng 2 Mô tả use cases
Phần mềm máy chủ (server software): Là các phần mềm cần thiết để quản lý và phân
phối các tài nguyên trên máy chủ, bao gồm hệ điều hành, máy chủ web (Web Server), máy
chủ cơ sở dữ liệu (Database Server), máy chủ gửi email (Mail Server),...
Phần cứng máy chủ (server hardware): Gồm các thiết bị vật lý như máy chủ, bộ lưu điện
(UPS), hệ thống giải nhiệt,...
Tên miền (Domain Name): Là địa chỉ để truy cập vào website, được đăng ký thông qua
các công ty tên miền. Tên miền cần phải dễ nhớ và phù hợp với nội dung của website.
SSL (Secure Sockets Layer): Là giao thức mã hóa dữ liệu giữa máy khách và máy chủ,
giúp đảm bảo an toàn cho thông tin cá nhân của khách hàng.
20
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Giả thiết về tốc độ truy cập: Giả sử rằng hệ thống sẽ được sử dụng bởi một số lượng
lớn khách hàng, và cần phải đáp ứng được tốc độ truy cập cao để đảm bảo trải nghiệm
tốt cho người dùng.
Giả thiết về độ phức tạp của hệ thống: Giả sử rằng hệ thống website bán hàng online
sẽ được tích hợp với các hệ thống khác như hệ thống thanh toán, hệ thống quản lý
kho, hệ thống vận chuyển... và cần đảm bảo tính đồng bộ giữa các hệ thống này.
Giả thiết về sự bảo mật của hệ thống: Giả sử rằng hệ thống website bán hàng online
cần đảm bảo tính bảo mật cao, để tránh các vấn đề liên quan đến việc lộ thông tin
khách hàng hoặc bị tấn công từ hacker.
Giả thiết về khả năng mở rộng của hệ thống: Giả sử rằng hệ thống website bán hàng
online cần có khả năng mở rộng để đáp ứng nhu cầu của khách hàng trong tương lai.
Những giả thiết và phụ thuộc này cần được xem xét kỹ để đảm bảo hệ thống website bán
hàng online hoạt động ổn định và đáp ứng được yêu cầu của khách hàng.
21
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1. Usecase Đăng ký
Name Đăng ký Code UC01
Description Người dùng chọn tính năng đăng ký để tạo tài khoản mới
Actor Người dùng (chưa Trigger Trong trang đăng nhập, người
xác minh) dùng chọn nút đăng ký
Pre-condition Người dùng đã truy cập website vào website cửa hàng thời trang
Post-condition Đăng ký tài khoản thành công
Error situations Tên đăng nhập đã tồn tại
Mật khẩu phải chứa các kí tự chữ thường, chữ hoa và số
System state in error Đăng ký thất bại
situations
Standard 1. Người dùng nhập thông tin username, password
flow/process 2. Hệ thống kiểm tra dữ liệu nhập vào, nếu đúng hệ thống sẽ
thông báo thành công và lưu thông tin user
3. Hệ thống thông báo đăng ký tài khoản hoàn tất và chuyển
người dùng về trang đăng nhập
Alternative Flow Tại bước 1: Hệ thống kiểm tra có trùng với username đã tồn tại
không, hệ thống sẽ yêu cầu người dùng thay đổi username
Tại bước 2: Nếu không lưu thông tin user thành công thì sẽ
quay lại trang đăng ký
Bảng 3 Đăng ký
22
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
23
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
24
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
25
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Post-condition Check trên UI: hệ thống hiển thị chi tiết thông tin danh mục
sản phẩm
Check trên DB: Chỉnh sửa danh mục trong DB
Error situations Chỉnh sửa thất bại
System state in error Không kết nối được với DB
situations
26
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Standard flow/process 1. Người dùng chọn vào tính năng chỉnh sửa danh mục sản
phẩm
2. Nhập thông tin danh mục cần chỉnh hoặc thêm, xoá danh
mục
3. Yêu cầu cập nhật thông tin danh mục
4. Hệ thống kiểm tra và xác nhận
5. Cập nhật thành công
Alternative Flow Tại bước 3: Yêu cầu chỉnh sửa danh mục thất bại
Tại bước 4: Thông tin không hợp lệ, thông báo thất bại
Bảng 8 Chỉnh sửa danh mục sản phẩm
27
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Post-condition Check trên UI: hệ thống hiển thị chi tiết thông tin sản phẩm
Check trên DB: Chỉnh sửa, thêm, xoá sản phẩm trong DB
Error situations Chỉnh sửa thất bại
System state in error Không kết nối được với DB
situations
Standard flow/process 1. Người dùng chọn vào tính năng cập nhật thông tin sản phẩm
2. Nhập thông tin cần chỉnh hoặc thêm, xoá sản phẩm
3. Kiểm tra thông tin nhập vào
4. Hệ thống kiểm tra và xác nhận
5. Cập nhật thành công
Alternative Flow Tại bước 3: Thông tin nhập vào không hợp lệ
Bảng 10 Cập nhật thông tin sản phẩm
28
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Post-condition Hệ thống hiển thị chi tiết thông tin sản phẩm, chỉnh sửa ảnh
Error situations Chỉnh sửa thất bại
System state in error Không chỉnh sửa, thêm, xoá được ảnh của sản phẩm
situations
Standard flow/process 1. Người dùng chọn vào tính năng chỉnh sửa ảnh sản phẩm
2. Nhập hình ảnh cần chỉnh hoặc thêm, xoá ảnh sản phẩm
3. Yêu cầu cập nhật hình ảnh sản phẩm
4. Hệ thống kiểm tra và xác nhận
5. Cập nhật thành công
Alternative Flow Tại bước 3: Yêu câu chỉnh sửa ảnh thất bại
Tại bước 4: Ảnh không hợp lệ, thông báo thất bại
Bảng 11 Chỉnh sửa ảnh sản phẩm
29
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Post-condition Check trên UI: hệ thống hiển thị form thêm sản phẩm
Check trên DB: món ăn chưa tồn tại
Error situations Không kết nối được DB
System state in error Truy vấn thất bại
situations
Standard flow/process 1. Người dùng chọn vào tính năng thêm sản phẩm mới
2. Yêu cầu thêm sản phẩm
3. Yêu cầu hiện fom thêm sản phẩm
4. Thông báo thêm sản phẩm thành công
Alternative Flow 1 Yêu cầu thêm sản phẩm thất bại
Alternative Flow 2 Yêu cầu hiện form thất bại
Alternative Flow 3 Thông báo thất bại
Bảng 12 Thêm sản phẩm
30
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Standard flow/process Admin, NVBH nhấn chọn vào tra cứu mã đơn hàng
Nhập mã đơn hàng muốn tra cứu
Server yêu cầu truy vấn DB
31
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
33
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
34
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
35
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
36
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
37
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Standard flow/process Người dùng vào chỉnh sửa thông tin đặt hàng
Nhập các thông tin cần chỉnh sửa
Cập nhập lại hệ thống
Lưu vào DB
Bảng 22 Chỉnh sửa thông tin đặt hàng
38
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
39
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Standard flow/process Người dùng chọn thêm sản phảm vào giỏ hàng
Hệ thống kiểm tra và thêm vào giỏ hàng cho khách hàng
Xác nhận, lưu vào giỏ hàng
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra số lượng sản phẩm trong server
Tại bước 3: Nếu còn hàng hệ thống thông báo thêm vào thành
công
Bảng 24 Thêm sản phẩm vào giỏ hàng
System state in error Không thể thay đổi thông tin giỏ hàng
situations
40
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
41
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Alternative Flow 1 Tại bước 1: Hệ thống kiểm tra thông tin thanh toán của khách
hàng
Tại bước 3: Nếu thiếu thông tin hệ thống thông báo nhập lại
Bảng 26 Thanh toán
42
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
43
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
44
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Hình 5. Đăng ký
45
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
46
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
47
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
48
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
49
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
50
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
51
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
52
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
53
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
54
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
55
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
56
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
57
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
58
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
59
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
60
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
61
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1.2.5. Cập nhật thông tin sản phẩm, hình ảnh, danh mục sản phẩm
Hình 26. Cập nhật thông tin sản phẩm, hình ảnh, danh mục sản phẩm
62
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
63
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
64
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
65
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
66
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
67
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
68
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
69
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
70
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
71
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1.3.3. Biểu đồ trạng thái khi thêm sản phẩm vào giỏ hàng
Hình 41. Biểu đồ trạng thái khi thêm sản phẩm vào giỏ hàng
72
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Hình 42. Biểu đồ trạng thái khi thanh toán đơn hàng
2. Thiết kế dữ liệu
74
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
75
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
76
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
77
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
78
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
79
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
80
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
81
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
82
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2.1. Sơ đồ ERD
Hình 44 Sơ đồ ERD
83
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
84
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1. Sử dụng CKEditor
Ứng dụng CKEditor, một trình soạn thảo HTML được phát triển bởi CKSource ở các
chức năng như: Viết chi tiết bài viết, viết mô tả chi tiết sản phẩm
Ở đây có chức năng thêm chi tiết cho bài viết:
<div class="form-group">
<label for="exampleInputPassword1">Chi tiết</label>
@Html.TextAreaFor(x => x.Detail, new { @class = "form-control", @id =
"txtDetail" })
</div>
@section scripts{
<script>
$(document).ready(function () {
CKEDITOR.replace('txtDetail', {
customConfig: '/content/ckeditor/config.js',
extraAllowedContent: 'span',
});
});
function BrowseServer(field) {
var finder = new CKFinder();
finder.selectActionFunction = function (fileUrl) {
document.getElementById(field).value = fileUrl;
};
finder.popup();
}
</script>
}
85
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2. Sử dụng CKFinder
Sử dụng CKFinder, một công cụ quản lý tệp được sử dụng trong các ứng dụng web để
quản lí và tải lên các tệp hình ảnh, tài liệu, video,..
Ở đây là chức năng tải ảnh cho sản phẩm
<input type="button" value="Tải ảnh" class="btn btn-success"
onclick="BrowseServer('txtImage');" />
<script>
$(document).ready(function () {
function BrowseServer(field) {
var finder = new CKFinder();
finder.selectActionFunction = function (fileUrl) {
debugger;
AddImage(@ViewBag.productId, fileUrl);
};
finder.popup();
}
// Sử dụng Ajax để gửi nhận thông tin dữ liệu mà không phải tải lại trang
function AddImage(id, url) {
debugger;
$.ajax({
url: '/admin/productimage/AddImage',
type: 'POST',
data: { productId: id, url: url },
success: function (rs) {
if (rs.Success) {
window.location.reload();
}
}
86
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
});
}
});
</script>
3. Sử dụng Ajax
Ứng dụng Ajax trong việc gửi nhận dữ liệu mà không phải load lại trang trong các tính
năng như tick chọn hiện hoạt, hoặc xóa.
Ở đây là tính năng xóa bài viết:
<a href="#" data-id="@item.Id" class="btn btn-sm btn-danger
btnDelete">Xóa</a>
<script>
$(document).ready(function () {
$('body').on('click', '.btnDelete', function () {
var id = $(this).data("id");
var conf = confirm('Bạn có muốn xóa bản ghi này không?');
if (conf === true) {
$.ajax({
url: '/admin/posts/delete',
type: 'POST',
data: { id: id },
success: function (rs) {
if (rs.success) {
$('#trow_' + id).remove();
}
}
});
}
});
87
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
});
</script>
Hoặc tính năng hiện hoạt sản phẩm ở giao diện người dùng
<td class="text-center">
<a href='#' data-id="@item.Id" class="btnActive">@Html.Raw(strCheck)</a>
</td>
<script>
$(document).ready(function () {
$('body').on('click', '.btnActive', function (e) {
e.preventDefault();
var btn = $(this);
var id = btn.data("id");
$.ajax({
url: '/admin/Products/IsActive',
type: 'POST',
data: { id: id },
success: function (rs) {
if (rs.success) {
if (rs.isAcive) {
btn.html("<i class='fa fa-check text-success'></i>");
} else {
btn.html("<i class='fas fa-times text-danger'></i>");
}
}
}
});
});
88
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
});
</script>
4. Sử dụng Pagelist
Sử dụng Pagelist để phân trang bài viết hoặc phân trang sản phẩm, ở đây ta phân Ptrang
bài viết mỗi trang hiển thị 10 tin
public class NewsController : Controller
{
var pageSize = 10;
if (page == null)
{
page = 1;
}
IEnumerable<News> items = db.News.OrderByDescending(x => x.Id);
if (!string.IsNullOrEmpty(Searchtext))
{
items = items.Where(x => x.Alias.Contains(Searchtext) ||
x.Title.Contains(Searchtext));
}
var pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;
items = items.ToPagedList(pageIndex, pageSize);
ViewBag.PageSize = pageSize;
ViewBag.Page = page;
return View(items);
}
}
89
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Code ở View
<div class="col-6">
@using (Html.BeginForm("index", "News", FormMethod.Get, new { }))
{
90
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Gửi mail đơn hành cho khách hàng và admin khi thanh toán thành công
public class ShoppingCartController : Controller
{
public ActionResult CheckOut(OrderViewModel req)
{
var code = new { Success = false, Code = -1 };
if (ModelState.IsValid)
{
ShoppingCart cart = (ShoppingCart)Session["Cart"];
if (cart != null)
{
Order order = new Order();
order.CustomerName = req.CustomerName;
order.Phone = req.Phone;
order.Address = req.Address;
order.Email = req.Email;
cart.Items.ForEach(x => order.OrderDetails.Add(new OrderDetail
{
ProductId = x.ProductId,
91
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Quantity = x.Quantity,
Price = x.Price
}));
order.TotalAmount = cart.Items.Sum(x => (x.Price * x.Quantity));
order.TypePayment = req.TypePayment;
order.CreatedDate = DateTime.Now;
order.ModifiedDate = DateTime.Now;
order.CreatedBy = req.Phone;
Random rd = new Random();
order.Code = "DH" + rd.Next(0, 9) + rd.Next(0, 9) + rd.Next(0, 9) +
rd.Next(0, 9);
//order.E = req.CustomerName;
db.Orders.Add(order);
db.SaveChanges();
//send mail cho khachs hang
var strSanPham = "";
var thanhtien = decimal.Zero;
var TongTien = decimal.Zero;
foreach (var sp in cart.Items)
{
strSanPham += "<tr>";
strSanPham += "<td>" + sp.ProductName + "</td>";
strSanPham += "<td>" + sp.Quantity + "</td>";
strSanPham += "<td>" +
WebBanHangOnline.Common.Common.FormatNumber(sp.TotalPrice, 0) + "</td>";
strSanPham += "</tr>";
thanhtien += sp.Price * sp.Quantity;
}
TongTien = thanhtien;
92
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
string contentCustomer =
System.IO.File.ReadAllText(Server.MapPath("~/Content/templates/send2.html"));
contentCustomer = contentCustomer.Replace("{{MaDon}}",
order.Code);
contentCustomer = contentCustomer.Replace("{{SanPham}}",
strSanPham);
contentCustomer = contentCustomer.Replace("{{NgayDat}}",
DateTime.Now.ToString("dd/MM/yyyy"));
contentCustomer = contentCustomer.Replace("{{TenKhachHang}}",
order.CustomerName);
contentCustomer = contentCustomer.Replace("{{Phone}}",
order.Phone);
contentCustomer = contentCustomer.Replace("{{Email}}",
req.Email);
contentCustomer =
contentCustomer.Replace("{{DiaChiNhanHang}}", order.Address);
contentCustomer = contentCustomer.Replace("{{ThanhTien}}",
WebBanHangOnline.Common.Common.FormatNumber(thanhtien, 0));
contentCustomer = contentCustomer.Replace("{{TongTien}}",
WebBanHangOnline.Common.Common.FormatNumber(TongTien, 0));
WebBanHangOnline.Common.Common.SendMail("ShopOnline",
"Đơn hàng #" + order.Code, contentCustomer.ToString(), req.Email);
string contentAdmin =
System.IO.File.ReadAllText(Server.MapPath("~/Content/templates/send1.html"));
93
GV. Huỳnh Lưu Quốc LinchontentAdmin = contentAdmin.Replace("{{M
HKaDIIonnă}m}h",ọco2r0d2e2r-.C
20o2d3e);
contentAdmin = contentAdmin.Replace("{{SanPham}}",
strSanPham);
94
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
contentAdmin = contentAdmin.Replace("{{NgayDat}}",
DateTime.Now.ToString("dd/MM/yyyy"));
contentAdmin = contentAdmin.Replace("{{TenKhachHang}}",
order.CustomerName);
contentAdmin = contentAdmin.Replace("{{Phone}}", order.Phone);
contentAdmin = contentAdmin.Replace("{{Email}}", req.Email);
contentAdmin = contentAdmin.Replace("{{DiaChiNhanHang}}",
order.Address);
contentAdmin = contentAdmin.Replace("{{ThanhTien}}",
WebBanHangOnline.Common.Common.FormatNumber(thanhtien, 0));
contentAdmin = contentAdmin.Replace("{{TongTien}}",
WebBanHangOnline.Common.Common.FormatNumber(TongTien, 0));
WebBanHangOnline.Common.Common.SendMail("ShopOnline",
"Đơn hàng mới #" + order.Code, contentAdmin.ToString(),
ConfigurationManager.AppSettings["EmailAdmin"]);
cart.ClearCart();
return RedirectToAction("CheckOutSuccess");
}
}
return Json(code);
}
}
95
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
96
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
97
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
98
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
99
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
100
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
1.4. Liên hệ
101
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
103
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
104
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2.4. Role
105
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
106
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
107
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
108
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
109
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
110
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
111
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
112
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
2.10. Thống kê
113
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Hình 82 Giao diện Admin Cấu hình hệ thống ( Thông tin chung )
114
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
115
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
Tuy nhiên, chúng em sẽ hoàn thiện các tính năng trong tương lai, lấy đó làm động lực
và đánh giá bản thân để có thể chuẩn bị cho nhưng chương trình sau được tốt hơn cả về số
lượng và chất lượng.
116
GV. Huỳnh Lưu Quốc Linh HK II năm học 2022-2023
[3] Ths. Bùi Thanh Tú, Tài liệu môn học Công nghệ phần mềm nâng cao..
117