Theo Tô chức Thương mại thế giới WTO, “Thương mại điện tử bao gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phâm được mua bán và thanh toán trên mạng Internet, nhưng được giao
Trang 1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYÊN TÁT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
NGUYEN TAT THANH
KHÓA LUẬN TÓT NGHIỆP
Xây dựng Website kinh doanh đồ công nghệ
NCH Shop
Giảng viên hướng dẫn: ĐẶNG NHƯ PHÚ
Sinh viên thực hiện: NGUYÊN CÔNG HẬU
Trang 2NGUYEN TAT THANH
KHOA LUAN TOT NGHIEP
Xây dựng Website kinh doanh đồ công nghé NCH Shop
Giảng viên hướng dẫn: ĐẶNG NHƯ PHÚ
Sinh viên thực hiện : NGUYÊN CÔNG HẬU
Trang 3LỜI CẢM ƠN Trong lời đầu tiên em muốn gửi lời cảm ơn và biết ơn chân thành nhất của mình tới tắt
cả những người đã hỗ trợ, giúp đỡ em về kiến thức và tỉnh thần trong quá trình thực hiện cuốn báo cáo khóa luận tốt nghiệp
Em xin chân thành cảm ơn thầy hướng dẫn ThS Đặng Như Phú giảng viên khoa Công Nghệ Thông Tin của trường ĐH Nguyễn TẤt Thành, người đã trực tiếp hướng dẫn, đóng góp ý kiến, nhận xét và giúp đỡ em trong suốt quá trình học tập Thầy còn
động viên tình thần và ân cần nhắc nhở tiễn độ để em thực hiện xong báo cáo khóa luận
tốt nghiệp
Cuối cùng em xin chân thành cảm ơn Ban giảm hiệu nhà trường, các thầy cô trong khoa Công Nghệ Thông Tin trường Đại Học Nguyễn Tắt Thành, thành phô Hồ Chí Minh đã giảng dạy, hướng dẫn, trang bị kiến thức cho em trong suốt quá trình học đại học, từ các kiên thức cơ bản dén van dé chuyên sâu
Trang 4NHẬN XÉT CUA GIẢNG VIÊN HƯỚNG DẪN
1 Hình thức (Bồ cục, trình bày, lỗi, các mục, hình, bảng, công thức, phụ lục, )
TPHCM, Ngày tháng năm 2022
Giáo viên hướng dẫn (Ký tên,ghi rõ họ tên)
Trang 5NHAN XET CUA GIANG VIEN PHAN BIEN
1 Hình thức (Bồ cục, trình bày, lỗi, các mục, hình, bảng, công thức, phụ lục, )
TPHCM, Ngày tháng năm 20 Giáo viên phản biện
(Ký tên,ghi rõ họ tên)
Trang 6d) Virtual DOM nh HH nh HH KH TH KT KT ke 6 e) Ưu điểm của Ñ€aC -c c1 Sv ST 121 HT HH T TH TH TH HT HH TH Hành 6
a) Node/JS là gÌ”? nh nh HH KH KH TH KH KT KT gu 6 b) Ưu và nhược điểm của NodeJŠ ác St 2v Sv E3 v2 1 1 ru 7
Tổng quan vé EXPRESS .cccccccscsssssscscsssesesecscscsssesasesassesesesacsssesesecasseseseeasseseseees 8 _ Tong quan ve MONGODB sscccssscsssesssececsesesesesassesesesessesesesesassesesesasscsssesesasecseseeaees 8 4) Dinh nghia or nn nr feet 8
b) Cách thức hoạt động của MongoDR - - ch 9
c) Ưu điểm của MongolDB 2c S1 v11 1112118218151 211811111111 101110111 He 9 d) Nhược điểm của MongoDR ¿c1 tt về 12121 111518111 181818111 E1 Hệ 9 _ Téng quan V6 Redux nó 10 a) Redux là gì”? ch HH HH KT KT KH KH kh 10
b) le in 8 Tan 10 c) Cách thức hoạt động của RÑ€dux HH nen th 11
Trang 7CHƯƠNG 3: PHẦN TÍCH VÀ THIÊT KÊ HỆ THÔNG .c Scc se kEsekcrekreẻ 12
0) 19:8 ấn, 500.16) 8N e 45 15 CHƯƠNG 4: MÔ HÌNH THỰC NGHIỆM tt the 17
1 — Mô tả hệ thông c2 St S1 111 11118111 181811111181 1111 H1 HH 17
2 Giao diện trang chủ LH KH kh kh tk kh 17
3 Giao diện trưng bày sản phẩm ¿c2 St v22 xxx He ưet 19
4 Giao diện chỉ tiết sản phẩm ¿5c 2S t3 SE SE EEEEESEEkSkExsrkekrrkekersee 21
5 _ Giao diện reviews sản phẩm - c tt St S211 1111111 xe 23
6 Chute năng tim kiém san pham .cccccccccscsesscscecsssesecececseseesecasseeetassessseteaes 24
# _ Giao diện mua hàng va g16 hang c ch tk kh rkh 25
8 Giao diện thanh toán OnlÏ1ne ‹ ‹cc‹c cv cv Hy kg kiên 27
9 Giao diện xem lại chỉ tiết đơn hàng ¿c2 tt kxxesrrkrxexerrsrei 27
10 Giao diện đăng ky, đăng nhập -cccc ST nghe 29
11 Giao diện thông tin liên hỆ LH» khen 30
12 tru a9 0n ana .a.a a naddđãaa 32
13 Giao ion dđađaiđiđiđđđiiiiiiii 34
14 Giao diện trang quản fTỊ -‹‹ccccc SĐT khen 35
15 Giao diện quan lý danh mục key 37
16 Giao diện trang quản lý sản phẩm .-¿- 22t S x22 SxSEExSEErkerexekerrerrrea 38
17 _ Giao diện quản ly đơn đặt hàng - ch kh 40
18 Giao diện quản lý danh sách khách hàng, .- TS SShkkkhhriikkre 42
19 Giao diện quản lý LOBO Ăn Tnhh Crt 42
vii
Trang 820 Giao diện chức năng quản lý bannef che 43
21 Giao diện quản lý tn tỨC c SH 44
22 Setup api cho hé thong c cccccccscccssscscsesssesecsescsesecstecsesesasscecsesecesacseeeeecasseeees 45
23 Thực nghiệm và vận hành -c cv Tnhh ng khi 47
Đ) — Vận hành nền KH tk tk kkh 48 CHƯƠNG 5: KẾT LUẬN VÀ KIÊN NGHỊ Street 49
1 Kết qua dat QUOC 1 TP ằ=a-<a näẽẽ-: ai 49
2 _ Hướng phát triỂn 2 St tt E121 11111111 1H11 HH HH 49
viii
Trang 9DANH MỤC BẢNG HÌNH
Hình I: Sơ đồ DFD quản lý bán hàng c2 2t St S332 E11 keo 14 Hình 2: Use Case tỐng quát ¿c2 St 2332310182 1511118211151 121181111511 01110111 He 14 Hình 3:Use Case đăng ký , đăng nhập Q nnknhkkkkhnhhkkhehhhhhhhhhokg 15 Hình 4: Use Case xử lý đơn hàng nh Tnhh vu 15 Hình 5: Use Case mua sản phẩm -.- 22c 222123 3932353231 15181511 111511111 ekcee 16 Hinh 6: Use Case quan ly san pha 88 16 Hình 7: Giao diện trang chủ Khen kh 17 Hình 8: Giao diện menu chưa đăng nhập ccc c nnnnnnnnnSSS HH kh kkh 18 Hình 9: Giao diện menu chưa đăng nhập c n nnnnnnnnnSS SH kh kh 18 l0) 00 0006)1130::1.i 0i iì0ïwCưđđdđdidiiiidiậảäẢ 19 Hình 11: Giao diện trưng bày sản phẩm .- ¿2223 S v22 tk +tESErkexexsrerrrkrvea 20 l0 e0 60 0N Nnnn “add 21 Hình 13: Giao diện chỉ tiết sản phẩm ¿c2 3t 3 323233 E 351211 EExSEEEExsrrrerei 21 Hình 14: Giao diện chỉ tiết sản phẩm hết hàng -¿- ¿5 222252 S2 sxexexexserexeee 22 Hình 15: Giao diện zoom ảnh sản phẩm . ¿- 22 S222 S332 £2EEvEeEStstEexexsesxseresssea 22 Hình 16: Giao diện reviews sản phẩm ¿cv tt k3 v2 Sx 2x21 1xx 23 Hình I7: Giao diện ơ đánh giá ch kh 23 Hình 18: Giao diện thanh tìm kiếm - 5: tt té E HE EHHHHe 24 Hình 19: Danh mục sản phẩm ¿5c 22t St S332 St 32351111 E151151E 11111 re 24 Hình 20: Giao diện sản phẩm lọc theo danh mục . .- ¿5:5 225252 S+x+ese‡cexexseeereea 25 Hình 21: Giao diện mua hàng và g1ỏ hàng nhe 25 Hình 22: Giao diện hĩa đơn mua hàng ch kh rkh 26 Hinh 23: Giao dién thank toan 0 nnHdd 26 Hinh 24: Giao dién thanh tồn PaVDÌ .ccc HH HH kh tk kk 27 Hình 25: Giao diện thơng tin trạng thái đơn hàng, .- - 2-5-5 ikrrrrres 27 Hình 26: Giao diện danh sách đơn hàng 1 vn khhhhhhhkky 28 Hinh 27: Giao dién dang kyo ằằe 29 Hinh 28: Giao dién đăng nhập Ship 30
Trang 10Hình 29: Giao diện thơng tIn người dùng net 30 Hình 30: Giao diện thơng tin liên hỆ c Qn SH nh nà 31
Hình 32: Giao diện nhận 1malÌ .- -‹-cc cccctS E11 SE SE vn vn kg kg kh nen 33 Hình 33:Giao diện chat m€SS486 ng kh 33 Hinh 06 0i.ï 8 000 34 Hình 35: Giao diện chỉ tiẾt tỉn tỨC -: + +S++EÉEt2kE 2111 7 1H 34 Hình 36: Giao diện đăng nhập admin . - - errr aaa aaeeeeeeeeeeeeeeeeeeeeeeeeeeetaa 35 Hình 37: Giao diện trang chủ adm11 - - xxx nh HH khe 36 Hình 38: Giao diện thơng báo đơn đặt hàng nen 36 Hình 39: Giao diện thống kê ¿i22 t1 23123 182 151111821 18111 1121511111 018111111 re 36 Hình 40: Giao diện thống kê sản phâm, doanh thu ¿5222 Sx+c+x+ecexerexsesess 37 Hình 4l: Giao diện quản lý danh mục cv nh HH tk kh 37 Hình 42: Giao diện quán lý sản phẩm - 2t 33 St 2 EEEEEESEEEEEEExskErrkrsrrrrrrvea 38 Hình 43: Giao diện thêm sản phẩm ¿5 2S 323211 33381231 1511512112511 crei 39 Hình 44: Giao diện update sản phẩm -¿- ¿5c 2222 E32 SE SEEESEEkekskekrrrrrsra 39 Hình 45: Giao diện danh sách đơn hàng nhi 40 Hình 46: Giao diện chỉ tiết đơn hàng 0 1222232332 921151221 11111 11 kg 41 Hình 47: Giao diện quản lý khách hàng nh kkkrk 42 Hình 48: Giao diện quản lý ÏÒO ng kh kh 43 Hinh 49: Giao diện quản lý DâTI©F - Lnnn SH ng ket 43 Hình 50: Giao diện update DannGT .- - Lee HH kh 44
Hình 5I: Giao diện thêm banner .‹-.cccc St n SE vn ng nh kg nhờn 44
g0 0h VANG e0 v0v0 00:0 0n ốầằe 45 Hình 53: Deploy vercel
Trang 11ki HIEU CAC CUM TU VIET TAT
G MAID
customer to customer
xi
Trang 12CHƯƠNG 1: TONG QUAN DE TAI
1 Ly do chon dé tai
Công nghệ thông tin ngày nay đã và đang đóng một vai trò rất quan trọng trong
xã hội, giúp con người làm việc với mức độ chính xác cao, quản lý và tổ chức công việc đạt hiệu quả, cũng như thông tin được phố biến và cập nhật nhanh chóng, chính xác
So với việc kinh doanh truyền thống thì TMDT chỉ phí thấp hơn, hiệu quả cao
hơn Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyền tải thông tin
sản phâm nhanh chóng, thuận tiện Với những lợi ích to lớn mà CNTT mang lại cho việc kinh doanh hiện nay.Nên em quyết định xây dựng một website bán hàng kinh doanh thiết bị điện tử Với mong muốn giúp ích trong việc kinh doanh mở rộng phạm vi kinh doanh và kiếm thêm thu nhập nhiều hơn trên môi trường internet Ngoài ra, việc xây dựng website còn giúp quảng bá và đưa sản phâm đến mọi đối tượng khách hàng ở khắp mọi nơi
Thương mại điện tử ở Việt Nam là một thị trường rất phát triên đầy tiềm năng.Chính vì các vấn đề trên em quyết định đề xuất đề tài với tên: “Xây dựng Website kinh doanh đồ công nghệ NCH Shop”
2 Mục tiêu nghiên cứu
e - Giúp nhà kinh doanh: các cá nhân, doanh nghiệp muốn kinh doanh thương mại
điện tử
e©_ Mở rộng thị trường kinh doanh
e Tang doanh thu
e Quan ly san pham chinh xac và hiệu quả hon
e Quan ly khach hang nhanh chong chinh xac
e GiUp cho khách hàng: những người có nhu cầu mua sắm trực tuyến
° Tiếp cận được hình thức mua hàng mới
e_ Giảm được thời gian và chi phí khi mua hàng
3 Pham vi và đối tượng nghiên cứu
1
Trang 13Phạm vi nghiên cứu đề tài:
Về mặt hoạt động thực tiễn: Tìm hiểu và kháo sát thực tế cách thức hoạt động
và quản lý của các trang web thương mại điện tử
Trang 14CHUONG 2: CO SO LY THUYET
1 Tổng quan về thương mại điện tử
a) Thuong mai điện tử là gi ?
Thương mại điện tử, hay còn gọi là e-commerce, ecom hay EC là sự mua bán sản
phâm dịch vụ trên các hệ thống điện tử nhu Internet và các mạng máy tinh
Theo Tô chức Thương mại thế giới (WTO), “Thương mại điện tử bao gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phâm được mua bán và thanh toán trên mạng Internet, nhưng được giao nhận một cách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin số hoá thông qua mạng Internet”
b) Các hình thức của Thương mại điện tử là gì?
Tổng quan về thương mại điện tử, có lẽ hầu hết mọi người đều nghĩ nó chỉ là hình thức mua bán hàng hóa qua mạng mfernet
Tuy nhiên, thị trường thương mại điện tử cũng được phân thành các hình thức khác
nhau phụ thuộc vào đối tượng tham gia Có 6 loại hình thương mại điện tử cơ bản:
**' Doanh nghiệp với Doanh nghiệp (B2B)
Thương mại điện tử B2B đề cập đến tất cả các giao dịch điện tử của hàng hóa được thực hiện giữa hai công ty Loại thương mại điện tử này thường giải thích mối quan
hệ giữa các nhà sản xuất sản phâm và nhà phân phối sản phẩm đến tay người tiêu dùng
s*' Doanh nghiệp với Khách hàng (B2C)
Đây là hình thức thương mại điện tử pho bién nhat, thé hién méi quan hé mua ban
giữa doanh nghiệp với người tiêu dùng Mua sam dưới dạng thương mại điện tử giúp người dùng dễ dàng so sánh giá cũng như xem phản hồi nhận xét của những người dùng trước Đối với công ty, nó cho phép họ hiểu biết hơn về khách hàng trên góc độ
Trang 15Khách hàng với Doanh nghiệp (C2B)
Thương mại điện tử C2B diễn ra khi người tiêu dùng cung cấp dịch vụ hoặc sản phẩm của họ cho các công ty mua hàng Ví dụ như một nhà thiết kế đồ họa chỉnh logo cho một công ty hoặc một nhiếp ảnh gia chụp ảnh cho một trang web thương mại điện tử
** Doanh nghiệp với chính phủ (B2A)
Hình thức thương mại điện tử này đề cập đến tất cả các giao dịch giữa các công ty và khu vực hành chính công Loại hình này liên quan đến nhiều dịch vụ, đặc biệt có thê
kê đến như an sinh xã hội, việc làm và các văn bản pháp lý
s* Khách hàng với Chính phủ (C2A)
Một hình thức phô biến khác là thương mại điện tử C2A, bao gồm tắt cả các giao dịch
điện tử giữa các cá nhân và khu vực hành chính công Ví dụ điện hình là việc khai và
nộp thuế thông qua công thông tin điện tử của Cơ quan thuế
C) Ưu điểm của thương mại điện tử
¢ Giam chi phi sản xuất, chỉ phí tìm kiếm khách hàng, chi phi ban hang, chi phí tiếp thị
e© Một nhân viên cùng một lúc có thể giao dịch với nhiều khách hàng
e San pham/dich vụ được giới thiệu trén mét Catalogue điện tử phong phú và được cập nhật thường xuyên
e Giúp người tiêu dùng và doanh nghiệp giảm đáng kẻ thời gian va chi phí giao dịch Vì việc nhanh chóng thông tin hàng hóa đến người tiêu dùng (mà không phải qua trung gian) có ý nghĩa sống còn trong cạnh tranh kinh doanh
e Tao diéu kién tìm kiếm các bạn hàng mới, cơ hội kinh doanh mới trên bình diện trong nước, khu vực và quốc tế
e©_ Kích thích sự phát triển của ngành công nghệ thông tin và đóng vai trò ngày càng lớn trong nên kinh tế Lợi ích này còn có ý nghĩa đặt biệt quan trong đối với các nước đang phát triển, có thể tạo ra một bước nhảy vọt, tiến kịp các nước phát triển trong một thời gian ngắn nhất
d) Nhược điểm của thương mại điện tử
e_ Có thê gặp vấn đề khả năng tương thích của phần mềm / phần cứng
Trang 16e_ Chi phí khởi tao: Chi phi dé tạo / xây dựng ứng dụng Thương mại điện tử có thê rất cao Có thể bị đình trệ trong việc vận hành hệ thống Thương mại điện
tử do lỗi hoặc thiếu sót kinh nghiệm
e©_ Sự tín tưởng của người dùng: Người dùng có thể không tin tưởng các trang
web hoặc người bán vô danh
e Bao mat / Riêng tư: Khó mà đảm bảo sự bảo mật và sự riêng tư khi giao dịch trực tuyến
e© Khi mua sắm trực tuyến, bạn không thể chạm hoặc cảm nhận sản phâm bằng
các giác quan trên cơ thê
2 Tông quan về ReactJs
a) Giới thiệu về ReactJs
ReactJS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook, ra mắt vào năm 2013 với mục đích đề xây dựng giao diện người dùng Nó được sử dụng rộng rãi để xây dựng các trang web SPA (Single Page Application) và các ứng dụng trên nền táng di động Nó rất dễ sử dụng và cho phép người dùng có thể tạo các component UI có thể tái sử dụng
Mục đích của việc tạo ra ReacdJS là để tạo ra những ứng dụng website hấp dẫn với tốc độ nhanh và hiệu quả cao với những mã hóa tôi thiểu Và mục đích chủ chốt của ReactS đó chính là mỗi website khi đã sử dụng ReactJS thì phái chạy thật mượt thật nhanh và có khả năng mở rộng cao và đơn giản thực hiện
b) Tinh nang React
e_ JSX- JSX là phần mở rộng cú pháp JavaScript Không nhất thiết phải sử dụng JSX trong phát triển React, nhưng nó được khuyến khích
e Components- React la tất cả về các thành phần Bạn cần nghĩ mọi thứ như một thành phần Điều này sẽ giúp bạn duy trì mã khi làm việc trên các dự án quy mô lớn hơn
e Unidirectional data flow and Flux- React triển khai luồng dữ liệu một chiều giúp bạn dễ dàng suy luận về ứng dụng của mình Flux là một mẫu giúp giữ
đữ liệu của bạn không theo hướng
Trang 17e License - React duoc cap phép theo Facebook Inc Tai liéu duoc cap phép theo CC BY 4.0
c) JSX
Trọng tâm chính của bat ky website cơ bản nào đó la nhtmg HTML documents Trình duyệt Web đọc những document này để hiên thị nội dung của website trên máy tính,
tablet, điện thoại của bạn Trong suốt quá trình đó, trình duyệt sẽ tạo ra một thử gọi
la Document Object Model (DOM) - một tree đại diện cho cầu trúc website được hiển thị như thế nào Lập trình viên có thê thêm bất kỳ dynamic content nảo vảo những dự án của họ bằng cách sử dụng ngôn ngữ JavaScript đề thay đôi cây DOM JSX (nói ngắn gọn là JavaScript extension) là một React extension giúp chúng ta dé dàng thay đôi cây DOM bằng cac HTML-style code don giản
d) Virtual DOM
ReactJS da khdéi tao mét thir goi la Virtual DOM (DOM ao) Virtual DOM (ban chat của nó theo dung tén goi) la ban copy cha DOM that trén trang do, va ReactJS sv dung ban copy d6 dé tim kiém ding phan ma DOM that can cap nhật khi bất kỳ một
sự kiện nào đó khiến thành phân trong nó thay đổi Với việc cập nhật đúng chỗ như vậy, khỏi phải nói nó tiết kiệm cho chúng ta rất nhiều tài nguyên cũng như thời gian
xử ly
e) Ưu điểm của React
e Su dung DOM áo là một déi tượng JavaScript Điều này sẽ cải thiện hiệu suất
ung dung, vi DOM ảo JavaScript nhanh hơn DOM thông thường
e Có thê được sử dụng trên máy khách và máy chủ cũng như với các khuôn khỗ khác
e Cac mẫu thành phần và dữ liệu cải thiện khả năng đọc, giúp duy trì các ứng
dụng lớn hơn
3 Tổng quan về NodeJs
a) NodeJS là gi?
NodeJS 1a m6t méi truéng runtime chay JavaScript da nén tang va co m4 nguén
mở, được sử dụng đề chạy các ứng dụng web bên ngoài trình duyệt của client Nền tảng này được phát triển bởi Ryan Dahl vào năm 2009, được xem là một giải pháp
6
Trang 18IO hướng sự kiện của NodeIS xử lý được nhiều yêu cầu đồng thời
NodeIS đáp ứng được những yêu cầu độ chính xác cao về thời gian thực Node.JS có tốc độ cực nhanh, đáp ứng được dữ liệu “không lồ” của khách truy trong thời gian ngắn
NodelS phát triển dựa trên ngôn ngữ lập trình JavaScript và đây là ngôn ngữ lập trình rat dé dé hoc
Có thê chia sẻ cùng một đoạn mã với cả hai phía: máy chủ và máy khách
Npm và các module của NodeJS rất mạnh mẽ và vẫn đang tiếp tục phát triển
Node]S có một cộng đồng hỗ trợ lớn mạnh, có nhiều mã có thê được chia sẻ
Nếu bạn có nhiều lệnh gọi lại liền nhau, khi bạn sử dụng lệnh gọi lại sẽ kết
thúc cùng lúc rất nhiều những lệnh gọi lại long vao nhau khac
Nếu bạn muốn học tốt NodeJS, bắt buộc bạn phải sử dụng tốt J avaScript trước
đó
Với những tác vụ đòi hỏi nhiều CPU, bạn không nên str dung NodeJS
Nếu web hosting của bạn là hosting dùng chung, bạn sẽ gặp khó khăn trong việc tải lên một ứng dung NodeJS
c) Đặc điểm của NodeJS
Bắt đồng bộ và phát sinh sự kiện (Non-blocking and Event Driven): Tất các các APIs của thư viện Node.js déu bat déng bé (non-blocking), NodeJS khéng can doi mét API trả về đữ liệu Server chuyên sang một API khác sau khi gọi nó và có cơ chê riêng đề gửi thông báo và nhận phản hồi về các hoạt động của Node.js và API đã gọi
7
Trang 19Tốc độ nhanh: Phần core phía dưới được viết gần như toàn bộ bang C++ két hop Chrome V§ Engine nên tốc độ xử lý công việc của Node.js cực nhanh, nhưng van
đảm bảo được tính chuẩn xác
Đơn giản — Hiệu năng cao: Node.js sử dụng một mô hình luồng đơn luông (single thread) và các sự kiện lặp (event-loop) Cơ chế sự kiện cho phép phía Server trả về phản hồi theo non-blocking, déng thoi tang hiéu qua sir dung Cac luéng don cung cap dich vy cho nhiéu request hon han Server truyén théng
Không lưu bộ nhớ đệm (non buffer): Nền tảng Node.js không có vùng nhớ đệm, tức không cung cấp khả năng lưu trữ dữ liệu buffer
4 Tổng quan về EXPRESS
Expressjs là một ramework được xây dựng trên nền tảng của Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile Expressjs hỗ trợ các method
HTTP va midleware tao ra API vô cùng mạnh mẽ và dễ sử dụng
Một số chức năng chính của express như:
e_ Hỗ trợ phát triển ứng dụng theo mô hình MVC
e_ Cho phép định nghĩa các middleware
e Dinh nghĩa rõ ràng các request methods trong route
¢ Hỗ trợ mạnh về REST API
e Va vô sô chức năng khác
5 Tổng quan về MONGODB
a) Định nghĩa
e_ MongolDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL
hàng đầu, được hàng triệu người sử dụng MongoDB được viết bang C++
e Ngodai ra, MongoDB la mét cơ sở dữ liệu da nên tảng, hoạt động trên các
khái niệm Collection và Document, nó cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng
e Các Collection trong MongoDB có cấu trúc cực kỳ linh hoạt Điều này cho phép dữ liệu không cần thiết phải tuân theo bất kỳ một dạng cầu trúc nào Vì
Trang 20thể, MongoDB có thể lưu trữ những dữ liệu có cầu trúc đa dạng và phức tạp
Dữ liệu trong MongoDB được lưu bằng định dạng kiểu JSON
b) Cách thức hoạt động của MongoDB
MongoDB lưu trữ các đối tượng dữ liệu trong các bộ sư tập (collections) và tài liệu (documents) thay vì các bảng và hàng được sử dụng trong cơ sở dữ liệu quan hệ truyền thống Các bộ sưu tập bao gồm các bộ tài liệu, tương đương với các bảng trong cơ sở dữ liệu quan hệ Các tài liệu bao gồm các cặp giá trị khoá, là đơn vị dữ liệu cơ bản trong MongoDB
Cầu trúc của một tài liệu có thê được thay đôi bằng cách thêm các trường mới hoặc xoá các trường hiện có Các tài liệu có thê xác định khoá chính là mã định danh duy nhất và các giá trị có thể là một loạt các loại dữ liệu, bao gồm các tài liệu
(documents), mảng (arrays) và mảng tài liệu (arrays of documents) khac
c) Ưu điểm của MongoDB
e© Linh hoạt trong lưu trữ các kích cỡ dữ liệu khác nhau Nhờ chủng được lưu
dưới dạng JSON nên bạn thoải mái chèn bất kỳ thông tin nào tùy theo nhu cầu
sử dụng
e Tiết kiệm thời gian trong việc kiểm tra sự tương thích về cầu trúc khi thêm,
xóa hoặc cập nhật dữ liệu Nhờ MongoDB không có sự ràng buộc trong một khuôn khô, quy tắc nhất định nào
e Ban dễ dàng mở rộng hệ thống thông qua việc thêm node vào cluster Cụm các node này đóng vai trò như thư viện chứa các dữ liệu giao tiếp với nhau e_ Tốc độ truy vấn của MongoDB nhanh hơn so với RDBMS do toàn bộ dữ liệu truy vấn đã được ghi đệm lên bộ nhớ RAM Nhờ thế, những lượt truy vấn sau
sẽ được rút ngắn thời gian vì chúng không cần đọc từ ỗ cứng
e Truong dir ligu “ id” (dai dién cho giá trị duy nhất trong mỗi document) được
tự động đánh chỉ mục nên hiệu suất luôn đạt mức cao nhất
d) Nhược điểm của MongoDB
e Vi dtr ligu không bị ràng buộc nên trong quá trình sử dụng, bạn cần cần thận trong mọi thao tác nhằm tránh xảy ra những điều không mong muốn, làm ảnh hưởng đến dữ liệu
Trang 21e_ Chương trình MongoDB tiêu tốn khá nhiều dung lượng bộ nhớ do dữ liệu
được lưu dưới dạng key và value Bên cạnh đó, một số collection chỉ có sự
khác biệt về value nên việc lặp lại key là điều khó tránh khỏi Điều này dẫn
Redux được ra đời dựa trên nền tảng tư tưởng của kiến trúc Flux và ngôn ngữ Elm
của Facebook Vì vậy, khi redux kết hợp với React sẽ trở thành một bộ đôi hoàn hảo
Mặc dù vậy nhưng redux vẫn có thê kết hợp được với các Framework khác như Backbone, Angular, deku, Falcor,
b) Cấu tạo của Redux
e Actions: Actions hay còn được hiểu là các events Nó được xem là nơi mang những thông tin mà bạn gửi dữ liệu từ ứng dụng đến cửa hàng redux Mỗi thông tin là một object mô tả những gì đã xảy ra Các dữ liệu này có thê là từ
sự tương tác của người dùng với ứng dụng, API calls hoặc là từ các form submission
e Reducers: Reducers la noi giup xác định được sự thay đổi cia State No la các function nguyên thuỷ có khả năng lấy state hién tải của ứng dụng để thực
hiện một action và trả về một state hoàn toàn mới Các state đó được lưu trữ
như những object và dễ dàng xác nhận được sự thay đôi trong phản hồi của action gửi đến store
e Store: Store là nơi lưu trạng thái của ứng dụng và là duy nhất trong một ứng dung redux bat ky nao Nhiém vu ctia store chinh la quan ly, access cAc state
Trang 22được lưu, cho phép truy cập state thông qua Getstate, update state thong qua dispatch va dang ky hoac huy cac listeners théng qua helper methods c) Cách thức hoạt động của Redux
e©_ Nguồn đữ liệu tin cậy duy nhất: Quá trình hoạt động của redux phụ thuộc khá nhiều vào nguôn dữ liệu Các dữ liệu đến từ nhiều nguồn khác nhau như từ máy chủ ban đầu, thao tác người dùng, từ máy chủ khiến ứng dụng rất khó
có thê kiểm soát hết được Chính vì vậy, van dé mà redux đưa ra là tất cả mọi
nguồn dữ liệu cần phải được xử lý, giải quyết và tạo thành một nguồn dữ liệu tin cậy duy nhất
e Trang thai chi dugc phép đọc: Trạng thái của redux tuy chỉ là một đổi tượng
z
Aa!
nhưng nó không được phép thay đôi một cách “trực tiếp" Với redux hay flux thì chỉ có thê thay đối được trạng thái của nó khi và chỉ khi xuất hiện một sự kiện và được chỉ huy chỉ thị Còn nếu không thì việc thay đôi là không được
e Thay déi chi bang ham thuan túy: Sử dụng redux thì không quá khó Bạn có thê thông qua hàm thuần tuý để thực hiện việc thay đổi trạng thái của ứng
dụng Các sự kiện và trạng thái hiện tại được đưa vào và hàm sẽ trả về trạng
thái tiếp theo
Trang 23CHƯƠNG 3: PHAN TÍCH VÀ THIET KE HE THONG
3.1 Lap ké hoach trién khai
a) Xác định các yêu cầu hệ thống
- _ Triển khai và vận hành hệ thống bán hàng qua mạng
- _ Đáp ứng được yêu cầu nhiều người truy câp hệ thông cùng I thời điểm -_ Giao diện thiết kế hài hòa dễ sử dụng
- Yêu cầu vé tính bảo mật thông tin hệ thống
- _ Trang web thiết kế chuẩn SEO dễ tìm kiếm trên internet
- _ Đẩy đủ các chức năng của một website thương mại điện tử
- _ Hệ thống dễ dàng sử dụng cho khách hàng và dễ dàng quản lý cho doanh nghiệp
b) Mô hình đề xuất
Hệ thống Website bán thiết bị điện tử sẽ triển khai hoạt động trên môi trường
internet Hệ thống website sẽ được thiết kế đề phù hợp chạy tốt trên nhiều dòng thiết bị khác nhau
Về kỹ thuật sẽ đáp ứng tốc độ truy xuất, xử lý đữ liệu khai thác của khách hàng, bảo đảm về tính bảo mật của hệ thông.Đáp ứng đầy đủ chức năng cơ của website
thương mại điện tử
3.2 Phân tích hệ thống website bán hàng thiết bị điện tử
+ Nhân viên bán hàng: bao gồm tất cá chức năng của khách hàng và một số chức năng riêng là xem thông tin khách hàng , xem danh sách đặt hàng, thêm xóa sửa sản phâm trên hệ thống
+ Thủ kho:người quản lý việc nhập xuất của hệ thong
12
Trang 24+ Người quản lý : người quản lý về thông tin nhân viên, hàng hóa nhập xuất
> Chức năng xem thông tin chi tiết sản phẩm
> Chức năng thanh toán
> Chức năng xem đánh giá sản phẩm
> Chức năng xem lại đơn hàng
> Chức năng hủy đơn hàng
+* Chức năng của người quản trị
> Chức năng thêm , xóa,sửa sản phẩm trên hệ thống
> Chức năng kiêm tra thông tin khách hàng
> Chức năng thêm ,sửa, xóa thông tin banner, logo và tin tức
> Chức năng thống kê doanh thu,sản phẩm 3.3 Mô hình hóa dữ liệu
a) So dé DED quan ly ban hang
Trang 25Tim kiém, chon san pham
Tim kiém san pham
Hiễn thị thông tin sản phẫm Thông tin sản phẩm Danh mục sản phẫm
Yéu cau thay déi don hang
yêu cầu thanh toản
Chuyễn tiền thanh toán
Lưu thông tin vào nóa đơn:
Luu thong tin cap nhap don hang
quân ty đơn nàng |
a thông tin đơn đặt hàng
Hình 1: Sơ đồ DFD quản lý bán hàng 3.4 Mô hình Use Case
8) Sơ đồ Use Case tổng quát
Trang 26b) Sơ đồ chỉ tiết từng Use Case
ˆ Sơ đồ Use Case đăng ký , đăng nhập
Đăng ký thành viên -> Nhập thông tin cá nhân
Hình 3:Use Case đăng ky , dang nhập
ˆ Use Case xử lý đơn hàng
—, ` «include» 5 ma : Ö tiể@nhậnđơnhàng >> -: kiểm tra thông tin đơn hàng
Trang 27ˆ Use Case mua sản phẩm
CC Yem theo nhà sản xuất — —_ “em theo nhả sản xuất _
«include» SH
Snowe” Xemthôngtỉnsảnphẩm — «nude»
: "> Xem theo chủng loại
Thêm hàng vào giỏ
sửa số lượng sản phẩm trong giỏ hàng
Hình 5: Use Case mua sản phẩm
Trang 28CHƯƠNG 4: MÔ HÌNH THỰC NGHIỆM
1 Mô tả hệ thống
Hệ thống được xây dựng đáp ứng đầy đủ các chức năng cơ bản phục vụ cho việc
kính doanh thương mại điện tử
Website giúp công việc kinh doanh mở rộng thị trường kinh doanh trên môi trường internet, giup tăng doanh thu cho doanh nghiệp Giúp ích trong việc quan lý cửa hàng một cách chính xác và nhanh chóng
2 Giao diện trang chủ
Giao diện dành cho tất cả mọi đôi tượng khách hàng có thể ghé thăm để xem và tìm kiểm các sản phâm về thiết bị điện tử Tất cả mọi người có thê truy cập tham quan
và sử dụng website bằng đường link được cung cấp bên dưới Khách hàng sẽ dễ dàng tham quan website mà không cần đăng nhập
Link truy cap: https://nchshop.netlify.app/
Menu của website hiển thị một số thông tin như là logo của website, thông tin liên
hệ và chính sách giao hàng, các danh mục của sản phẩm, giỏ hàng, chức năng đăng
Trang 29ký đăng nhập và chức năng tìm kiếm Dưới đây là menu khi khách hàng chưa đăng
nhập
Hình 8: Giao diện menu chưa đăng nhập Sau khi khách hàng đăng nhập phần đăng ký đăng nhập sẽ biến mắt thay vào đó là tên khách hàng khi đăng ký Dưới đây là sau khi khách hàng đăng nhập
f3 nguyenconghou9084@0gmoilcom % Free Shipping for oll Order of $200
Đăng nhập và | Đối với những khách
Đăng ký hàng lần đầu mua
“Loan REGISTER hang trén website thi
sé phai dang ky 1 tai khoản riêng cho mình Còn đổi với những khách hàng cũ chí cần đăng nhập lại tài khoản đã đăng ký
Thông tin Sau khi khách hàng
khách sau khi | tiến hành đăng nhập đăng nhập 2 ô đăng ký, đăng
nhập sẽ biến mát thay vào đó là tên của khách hàng
Trang 30
Chức năng tìm | Khách hàng sử dụng kiếm chức năng tìm kiếm
dé tim san pham nhanh chong hon Gio hang Giỏ hàng là nơi chứa
sản phẩm khách hàn lựa đang chờ thanh toán
Danh mục của | Khách hàng có thê các sản phẩm | xem sản phẩm theo
danh mục của sản phẩm
Phần banner của website thể hiện những thông tin khuyến mãi và giới thiệu bằng hình ảnh Banner sẽ được thay đôi mỗi khi có thông tin mới bởi người quản trị
Ne) RAM 499.000:
bó LÊN 7
& Giá siêu hấp dẫn kèm theo quà tặng giá trị
Hình 10: Giao dién banner
3 Giao dién trung bay san pham
Sau khi truy cập vào website khách hàng có thê lựa chọn sản phẩm trong phần trưng bày sản phẩm.Sản phẩm sẽ được trưng bày giới hạn là 12 sản phâm Những sản phâm mới được thêm vào sẽ được sắp xếp ở đầu giúp khách hàng tiếp cận được những sản phẩm mới Việc sắp xếp như vậy sẽ giúp khách hàng có thê tiếp cận sớm
với các mặt hàng mới nhật