Tìm hiểu và xây dựng hệ thống website bán hàng bằng Nodejs | Đồ án chuyên ngành khoa Công nghệ thông tin
Tìm hiểu và xây dựng hệ thống website bán hàng bằng Nodejs | Đồ án chuyên ngành khoa Công nghệ thông tin. Tài liệu được biên soạn dưới dạng file PDF gồm 11 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Môn: Công nghệ thông tin (CNTT1)
Trường: Trường Cao đẳng Công thương Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
Preview text:
lOMoAR cPSD| 41632112 BỘ CÔNG THƯƠNG
TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN CHUYÊN NGÀNH
Tìm hiểu và xây dựng hệ thống website bán hàng bằng Nodejs
Giảng viên hướng dẫn: Nguyễn Thái Khánh Quyên
Sinh viên thực hiện: Nguyễn Huỳnh Tấn Phong
Mã sinh viên: 2120110358 Lớp: CCQ2011G
TP. Hồ Chí Minh – Tháng 12 năm 2023 lOMoAR cPSD| 41632112
NHẬN XÉT CỦA GIÁO VIÊN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
Ngày ... Tháng … Năm …….
Giáo viên hướng dẫn i lOMoAR cPSD| 41632112 MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN..........................................................................................i
Mục Lục.............................................................................................................................ii
Danh mục hình ảnh............................................................................................................iv
Lời Mở Đầu........................................................................................................................1
CHƯƠNG 1: TỔNG QUAN VỀ NODEJS.........................................................................3
1. Giới thiệu về Nodejs.............................................................................................................................3
2. Tìm hiểu................................................................................................................................................9
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.....................................................15
1. Mục đích dự án...................................................................................................................................15
1.1. Xác định mục 琀椀 êu khách
hàng.....................................................................................................15
1.2. Thiết kế và trình bày sản
phẩm....................................................................................................15
1.3. Tốc độ tải trang web phải
nhanh.................................................................................................15
1.4. Có thể chọn và đặt một cách đơn giản, dễ
dàng.........................................................................15
1.5. Thông 琀椀 n sản phẩm phải rõ ràng, chi 琀椀
ết....................................................................................15
1.6. Chính sách chăm sóc khách hàng
tốt...........................................................................................15
2. Yêu cầu giao diện của website............................................................................................................15 2.1. Giao diện người
dùng..................................................................................................................15 2.2. Giao diện trang quản
trị...............................................................................................................16
3. Phân 琀 ch các chức năng của hệ
thống................................................................................................16
3.1. Các chức năng của đối tượng đặt
hàng.......................................................................................16
3.2. Các chức năng của người quản
trị...............................................................................................17
4. Biểu đồ phân 琀 ch thiết kế hệ
thống...................................................................................................17 ii lOMoAR cPSD| 41632112 4.1. Đăng ký thành
viên......................................................................................................................17 4.2. Đăng
nhập...................................................................................................................................18
4.3. Kháchh hàng quên mật
khẩu.......................................................................................................19 4.4. Tìm kiếm sản
phẩm......................................................................................................................20
4.5. Mua hàng, 琀椀 ếp nhận và xử lý đơn
hàng......................................................................................21 4.6. Bảo hành sản
phẩm.....................................................................................................................21
4.7. Biểu đồ UC đăng ký, đăng
nhập...................................................................................................21
4.8. UC quản lí thông 琀椀 n tài
khoản.....................................................................................................22
4.9. UC quản lí danh sách thành
viên.................................................................................................22
4.10. UC quản lí danh sách sản
phẩm.................................................................................................23 4.11. UC mua
hàng.............................................................................................................................23 4.12. UC xử lý đơn
hàng.....................................................................................................................24 4.13. UC bảo hành sản
phẩm..............................................................................................................24
5. Cách tổ chức dữ liệu và thiết kế chương trình cho website...............................................................25 5.1. Bảng sản phẩm
(products)...........................................................................................................25
5.2. Bảng danh mục sản phẩm
(category)..........................................................................................26
5.3. Bảng đơn đặt hàng
(orders).........................................................................................................27
5.4. Bảng chi 琀椀 ết đơn hàng
(order_detail)..........................................................................................27
5.5. Bảng tài khoản thành viên
(users)...............................................................................................28 iii lOMoAR cPSD| 41632112
5.6. Bảng phản hổi khách hàng
(opinion)...........................................................................................28 5.7. Bảng 琀椀 n tức
(news)......................................................................................................................29 5.8. Bảng mã xác nhận
(token)...........................................................................................................29 5.9. Bảng giỏ hàng
(cart).....................................................................................................................30
5.10. Bảng ảnh chi 琀椀 ết sản phẩm
(image_product)............................................................................30
6. Yêu cầu về bảo mật............................................................................................................................30
7. Yêu cầu về giao diện...........................................................................................................................31 7.1. Giao diện Trang
chủ.....................................................................................................................31
7.2. Giao diện sản phẩm theo
loại......................................................................................................31
7.3. Giao diện chi 琀椀 ết sản
phẩm.........................................................................................................32
7.4. Giao diện 琀 m kiếm sản
phẩm......................................................................................................34 7.5. Giao diện thanh
toán...................................................................................................................36 7.6. Giao diện đăng
nhập....................................................................................................................38 7.7. Giao diện đăng
ký........................................................................................................................38
7.8. Giao diện quên/đổi mật
khẩu......................................................................................................38 7.9. Giao diện trang liên
lạc................................................................................................................39
7.10. Giao diện trang 琀椀 n
tức...............................................................................................................41
7.11. Giao diện khi liên kết không phù
hợp........................................................................................43
7.12. Giao diện đăng nhập trang quản
trị...........................................................................................44
7.13. Trang quản lý sản phẩm
(Product).............................................................................................46 iv lOMoAR cPSD| 41632112
7.14. Trang quản lí danh mục sản phẩm (tương tự quản lí sản
phẩm)...............................................47
7.15. Giao diện quản lí đơn
hàng........................................................................................................47
7.16. Giao diện quản lí ý kiến phản hồi của khách
hàng.....................................................................48 KẾT
LUẬN......................................................................................................................51
Tài liệu tham khảo............................................................................................................52 DANH MỤC HÌNH ẢNH
HÌNH 1: CÀI ĐẶT NODEJS (1)...............................................................................................4 HÌNH 2: CÀI ĐẶT NODEJS
(2)...............................................................................................5 HÌNH 3: CÀI ĐẶT
NODEJS (3)...............................................................................................5 HÌNH 4: CÀI
ĐẶT NODEJS (4)...............................................................................................6 HÌNH 5:
CÀI ĐẶT NODEJS (5)...............................................................................................6 HÌNH
6: CÀI ĐẶT NODEJS (6)...............................................................................................7 HÌNH
7: CÀI ĐẶT NODEJS (7)...............................................................................................7 HÌNH
8: CÀI ĐẶT NODEJS (8)...............................................................................................8 HÌNH
9: CÀI ĐẶT NODEJS (9)...............................................................................................8 HÌNH
10: MINH HỌA MÔ HÌNH MVC NODEJS...................................................................10 HÌNH
11: CẤU TRÚC THƯ MỤC NODEJS.............................................................................12 HÌNH
12: THƯ MỤC CONTROLLER.....................................................................................12 HÌNH
13: THƯ MỤC MIDDLEWARE....................................................................................12 HÌNH
14: THƯ MỤC MODELS.............................................................................................13 HÌNH
15: THƯ MỤC VIEWS................................................................................................13
HÌNH 16: VÍ DỤ VỀ BODYPARSER......................................................................................13
HÌNH 17: QUYỀN CỦA ĐỐI TƯỢNG MUA HÀNG..................................................................16
HÌNH 18: QUYỀN CỦA QUẢN TRỊ VIÊN...............................................................................17
HÌNH 19: SƠ ĐỒ HOẠT ĐỘNG ĐĂNG KÝ THÀNH VIÊN........................................................18
HÌNH 20: SƠ ĐỒ HOẠT ĐỘNG ĐĂNG NHẬP THÀNH VIÊN....................................................18
HÌNH 21: SƠ ĐỒ HOẠT ĐỒNG ĐĂNG NHẬP TRANG QUẢN TRỊ.............................................19
HÌNH 22: SƠ ĐỒ GỬI MAIL ĐỔI MẬT KHẨU........................................................................20
HÌNH 23: SƠ ĐỒ ĐỔI MẬT KHẨU CHO THÀNH VIÊN............................................................20
HÌNH 24: SƠ ĐỒ HOẠT ĐỘNG TÌM KIẾM SẢN PHẨM...........................................................20
HÌNH 25: SƠ ĐỒ HOẠT ĐỘNG MUA HÀNG, TIẾP NHẬN VÀ XỬ LÝ ĐƠN HÀNG....................21
HÌNH 26: SƠ ĐỒ HOẠT ĐỘNG BẢO HÀNH SẢN PHẨM.........................................................21
HÌNH 27: USECASE ĐĂNG NHẬP, ĐĂNG KÝ, QUÊN MẬT KHẨU..........................................22
HÌNH 28: USE-CASE QUẢN LÍ TÀI KHOẢN..........................................................................22 v lOMoAR cPSD| 41632112
HÌNH 29: USE-CASE QUẢN LÍ DANH SÁCH THÀNH VIÊN....................................................23
HÌNH 30: USE-CASE QUẢN LÍ DANH SÁCH SẢN
PHẨM........................................................23
HÌNH 31: USE-CASE MUA HÀNG........................................................................................24
HÌNH 32: USE-CASE XỬ LÝ ĐƠN HÀNG..............................................................................24
HÌNH 33: USE-CASE BẢO HÀNH SẢN PHẨM........................................................................25
HÌNH 34: BẢNG PRODUCTS................................................................................................26
HÌNH 35: BẢNG DANH MỤC SẢN
PHẨM..............................................................................27
HÌNH 36: BẢNG ĐƠN ĐẶT HÀNG........................................................................................27
HÌNH 37: BẢNG ORDER_DETAILS.......................................................................................28
HÌNH 38: BẢNG USERS.......................................................................................................28
HÌNH 39: BẢNG PHẢN HỒI KHÁCH HÀNG...........................................................................29
HÌNH 40: BẢNG TIN TỨC....................................................................................................29
HÌNH 41: BẢNG MÃ XÁC NHẬN..........................................................................................30
HÌNH 42: BẢNG GIỎ HÀNG.................................................................................................30
HÌNH 43: BẢNG ẢNH CHI TIẾT SẢN
PHẨM..........................................................................30 HÌNH 44: GIAO DIỆN TRANG
CHỦ......................................................................................31 HÌNH 45: GIAO DIỆN SẢN
PHẨM PHÂN THEO LOẠI.............................................................32 HÌNH 46: SẮP XẾP SẢN
PHẨM............................................................................................32 HÌNH 47: GIAO DIỆN
CHI TIẾT SẢN PHẨM..........................................................................33 HÌNH 48: GIAO DIỆN
GIỎ HÀNG NHỎ.................................................................................34 HÌNH 49: GIAO DIỆN
GIỎ HÀNG CHÍNH..............................................................................34 HÌNH 50: GIAO DIỆN
GIỎ HÀNG KHI KHÔNG CÓ SẢN PHẨM...............................................34 HÌNH 51: GIAO
DIỆN TÌM KIẾM SẢN PHẨM NHỎ................................................................35
HÌNH 52: GIAO DIỆN TÌM KIẾM SẢN PHẨM CHÍNH KHI KHÔNG TÌM THẤY SẢN PHẨM NÀO35
HÌNH 53: GIAO DIỆN TÌM KIẾM SẢN PHẨM CHÍNH.............................................................36
HÌNH 54: GIAO DIỆN THANH TOÁN....................................................................................37
HÌNH 55: MAIL XÁC NHẬN ĐƠN HÀNG..............................................................................37
HÌNH 56: GIAO DIỆN TRANG ĐĂNG NHẬP..........................................................................38
HÌNH 57: GIAO DIỆN TRANG ĐĂNG KÝ THÀNH VIÊN.........................................................38
HÌNH 58: GIAO DIỆN GỬI YÊU CẦU QUÊN/ĐỔI MẬT KHẨU................................................38
HÌNH 59: GIAO DIỆN EMAIL XÁC NHẬN ĐỔI MẬT KHẨU....................................................39
HÌNH 60: GIAO DIỆN NHẬP MẬT KHẨU MỚI.......................................................................39 vi lOMoAR cPSD| 41632112
HÌNH 61: GIAO DIỆN TRANG LIÊN LẠC..............................................................................40
HÌNH 62: GIAO DIỆN MAIL PHẢN HỒI Ý KIẾN KHÁCH
HÀNG..............................................41 HÌNH 63: GIAO DIỆN DANH SÁCH TIN
TỨC........................................................................42 HÌNH 64: TRANG TIN
TỨC..................................................................................................43
HÌNH 65: GIAO DIỆN TRANG WEB KHÔNG TÌM THẤY LIÊN KẾT.........................................44
HÌNH 66: GIAO DIỆN ĐĂNG NHẬP TRANG QUẢN TRỊ..........................................................44
HÌNH 67: GIAO DIỆN TRANG QUẢN TRỊ..............................................................................45
HÌNH 68: GIAO DIỆN QUẢN LÝ SẢN PHẨM.........................................................................46
HÌNH 69: GIAO DIỆN THÊM SẢN PHẨM..............................................................................47
HÌNH 70: THÔNG BÁO KHI CÓ ĐƠN HÀNG MỚI..................................................................47
HÌNH 71: GIAO DIỆN CHI TIẾT ĐƠN HÀNG..........................................................................48
HÌNH 72: GIAO DIỆN DANH SÁCH ĐƠN HÀNG....................................................................48
HÌNH 73: HIỂN THỊ THÔNG BÁO CÓ PHẢN HỒI MỚI TỪ KHÁCH
HÀNG................................48
HÌNH 74: GIAO DIỆN XEM CHI TIẾT VÀ GỬI PHẢN HỒI CHO KHÁCH HÀNG........................49
HÌNH 75: GIAO DIỆN DANH SÁCH Ý KIẾN PHẢN HỒI CỦA KHÁC
HÀNG..............................49
HÌNH 76: GIAO DIỆN PHẢN HỒI LẠI Ý KIẾN CỦA KHÁCH HÀNG.........................................50 vii lOMoAR cPSD| 41632112 LỜI MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ
chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra
những bước đột phá mạnh mẽ. Cùng với sự phát triển không ngừng về kỹ thuật máy
tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp
cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một
trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ
không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu.
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng:
chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như
lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông
tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần… Bằng Internet,
chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp
hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc đẩy sự khai sinh
và phát triển của thương mại điện tử và chính phủ điện tử trên khắp thế giới, làm
biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người. Trong
hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng định được vai
trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một cửa hàng hay
shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được
nhu cầu của khác hàng sẽ là cần thiết. Vậy phải quảng bá thế nào đó là xây dựng
được một Website cho cửa hàng của mình quảng bá tất cả các sản phẩm của mình
bán. Vì vậy, em đã thực hiện đồ án “Xây dựng website bán hàng online”. Người chủ
cửa hàng đưa các sản phẩm đó lên website của mình và quản lý bằng website đó.
Khách hàng có thể đặt mua hàng trên website mà không cần đến cửa hàng. Chủ cửa
hàng sẽ gửi sản phẩm cho khách hàng khi nhận được tiền. Với sự hướng dẫn tận tình
của cô Nguyễn Thái Khánh Quyên em đã hoàn thành bài thực tập tốt nghiệp này.
Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc
rằng không tránh khỏi những thiếu sót. Em rất mong nhận được sự thông cảm và
góp ý của quý Thầy cô. Em xin chân thành cảm ơn.
CHƯƠNG 1: TỔNG QUAN VỀ NODEJS
1. Giới thiệu về Nodejs
Node.js là một môi trường thực thi mã nguồn mở được xây dựng dựa trên
Chrome V8 JavaScript runtime, cho phép chạy mã JavaScript ở phía máy chủ. 8 lOMoAR cPSD| 41632112
Node.js được phát triển bởi Ryan Dahl và được phát hành lần đầu tiên vào năm 2009. 2. Tìm hiểu
Dưới đây là một số điểm quan trọng về Node.js:
• JavaScript Everywhere: Node.js cho phép việc sử dụng JavaScript
để phát triển cả ở phía máy chủ (server-side) và ở phía người dùng
(client-side). Điều này giúp giảm sự phân tách giữa phía máy chủ và
phía người dùng và tạo ra môi trường phát triển thống nhất.
• Asynchronous I/O: Node.js được xây dựng với kiến trúc không
đồng bộ (asynchronous), giúp tối ưu hóa việc xử lý đồng thời nhiều
yêu cầu I/O. Điều này làm cho Node.js thích hợp cho các ứng dụng
có nhiều thao tác I/O như ứng dụng web thời gian thực, chat
applications, và các ứng dụng mạng.
• Event-Driven Architecture: Node.js sử dụng mô hình lập trình dựa
trên sự kiện (event-driven programming), nơi các sự kiện như các
yêu cầu mạng hoặc các tương tác với cơ sở dữ liệu được xử lý bằng
cách sử dụng các hàm callback.
• NPM (Node Package Manager): NPM là trình quản lý gói cho
Node.js, cung cấp cho nhà phát triển một cách thuận tiện để cài đặt
và quản lý các thư viện, module, và công cụ.
• Large Ecosystem: Cộng đồng Node.js phát triển rất nhanh và có
một hệ sinh thái lớn các thư viện và framework khác nhau, giúp nhà
phát triển nhanh chóng xây dựng ứng dụng mà không cần phải viết lại nhiều mã nguồn.
• Cross-Platform: Node.js có sẵn trên nhiều hệ điều hành như
Windows, macOS, và Linux, giúp phát triển ứng dụng đa nền tảng một cách thuận tiện.
• Scalability: Node.js có khả năng mở rộng tốt, giúp xây dựng các hệ
thống có khả năng mở rộng tốt khi tải đồng thời tăng lên.
Node.js được sử dụng rộng rãi trong việc phát triển các ứng dụng web, ứng dụng
mạng, và các dự án thời gian thực. Các framework nổi tiếng như Express.js giúp
đơn giản hóa việc xây dựng ứng dụng web trên Node.js.
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ 9 lOMoAR cPSD| 41632112 THỐNG
1. Mục đích dự án
Người vào thăm website có thể xem, tìm kiếm thông tin về các mặt hàng sản
phẩm hiện hành hoặc tìm kiếm sản phẩm theo các yêu cầu cụ thể về giá cả,
chất lượng, nhãn hàng,… sau đó khách hàng có thể tiến hành đặt hàng nếu muốn.
Khách hàng có thể đặt hàng trực tuyến, website sẽ cập nhật thông tin sản phẩm
này và lưu trực tiếp lên cơ sở dữ liệu, cho phép người quản trị được phân
quyền theo các các công việc sau: o Tìm kiếm các đơn đặt hàng đã được xác nhận hay chưa xác nhận.
o Nhắn tin đặt hàng sản phẩm
o Xác nhận đơn đặt hàng hợp lệ chỉnh sửa thông tin khách hàng và thông
tin đặt hàng trên từng đơn cụ thể thống kê tình hình đặt hàng.
o Xem danh sách khách hàng tham gia các website đó o Thay đổi, thêm
mới hoặc xóa bỏ thông tin, hình ảnh về các sản phẩm mà website muốn
giới thiệu cho khách hàng
o Theo dõi tình hình liên hệ thông qua website để đáp ứng kịp thời nhu
cầu của họ Về tổ chức lưu trữ thực hiện các yêu cầu:
o Thêm xóa sửa thông tin hình ảnh về các sản phẩm mà người tạo trang
web tổ chức, thống kê tình hình hoạt động. o Thêm xóa sửa thông tin
hình ảnh về các mặt hàng khác nhau. 1.1
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CHƯƠNG 3: GIỚI THIỆU WEBSITE KẾT LUẬN TÀI LIỆU THAM KHẢO 10