Tải bản đầy đủ (.pdf) (74 trang)

Xây dựng website kinh doanh đồ ăn nhanh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.39 MB, 74 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE KINH DOANH ĐỒ ĂN NHANH

GVHD: Ths. LÊ THỊ MINH CHÂU
SVTH: BÙI CƠNG DANH

SKL010270

Tp. Hồ Chí Minh, tháng 5/2023


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CÔNG NGHỆ THÔNG TIN
----------------------------

BÙI CÔNG DANH: 19110008

XÂY DỰNG WEBSITE
KINH DOANH ĐỒ ĂN NHANH
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CÔNG NGHỆ THÔNG TIN

GIẢNG VIÊN HƯỚNG DẪN
ThS. LÊ THỊ MINH CHÂU


KHÓA 2019-2023


Khóa luận Tốt nghiệp

Trang | i
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc

*******
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Bùi Công Danh

MSSV: 191100008

Chuyên ngành: Công nghệ phần mềm

Lớp: 19110CLST4

Họ tên Giảng viên hướng dẫn: Ths. Lê Thị Minh Châu
Ngày bắt đầu: 20/02/2023

Ngày kết thúc: 29/05/2023

1. Tên đề tài: Website kinh doanh đồ ăn nhanh
2. Các số liệu, tài liệu ban đầu:
3. Nội dung thực hiện đề tài: Xây dựng một trang website bán đồ ăn nhanh trực tuyến
4. Sản phẩm: Website bán đồ ăn nhanh trực tuyến
TRƯỞNG NGÀNH


GIẢNG VIÊN HƯỚNG DẪN

(Ký & ghi rõ họ tên)

(Ký & ghi rõ họ tên)


Khóa luận Tốt nghiệp

Trang | ii
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc

*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ tên sinh viên: Bùi Công Danh

MSSV: 191100008

Chuyên ngành: Công nghệ phần mềm

Lớp: 19110CLST4

Tên đề tài: Website kinh doanh đồ ăn nhanh
Họ tên Giảng viên hướng dẫn: Ths. Lê Thị Minh Châu

NHẬN XÉT
1. Về nội dung báo cáo & khối lượng thực hiện:

...........................................................................................................................................

...........................................................................................................................................
...........................................................................................................................................
2. Ưu điểm:

...........................................................................................................................................
...........................................................................................................................................
3. Khuyết điểm:

...........................................................................................................................................
...........................................................................................................................................
4. Đề nghị cho bảo vệ hay không?

...........................................................................................................................................
5. Đánh giá loại: .................................................................................................................
6. Điểm: ………………. (Bằng chữ: ...............................................................................)

TP.HCM, ngày … tháng … năm 2023
Giảng viên hướng dẫn
(Ký & ghi rõ họ tên)


Khóa luận Tốt nghiệp

Trang | iii
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc

*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ tên sinh viên: Bùi Công Danh


MSSV: 191100008

Chuyên ngành: Công nghệ phần mềm

Lớp: 19110CLST4

Tên đề tài: Website kinh doanh đồ ăn nhanh
Họ tên Giảng viên phản biện: TS. Huỳnh Xuân Phụng

NHẬN XÉT
7. Về nội dung báo cáo & khối lượng thực hiện:

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
8. Ưu điểm:

...........................................................................................................................................
...........................................................................................................................................
9. Khuyết điểm:

...........................................................................................................................................
...........................................................................................................................................
10. Đề nghị cho bảo vệ hay không?

...........................................................................................................................................
11. Đánh giá loại: ................................................................................................................
12. Điểm: ………………. (Bằng chữ: ..............................................................................)


TP.HCM, ngày … tháng … năm 2023
Giảng viên phản biện
(Ký & ghi rõ họ tên)


Khóa luận Tốt nghiệp

Trang | iv

LỜI CẢM ƠN

Lời đầu tiên, em xin được gửi đến cô Lê Thị Minh Châu – giảng viên hướng dẫn
bộ mơn Khóa luận tốt nghiệp lời cảm ơn chân thành và sâu sắc nhất.
Sau nhiều tháng nghiên cứu và xây dựng đề tài, em đã hồn thành đồ án Khóa luận
tốt nghiệp để có thể tổng hợp các kiến thức đã học cũng như vận dụng chúng vào thực
tế với đề tài “Xây dựng website kinh doanh đồ ăn nhanh”.
Để làm được đồ án môn học này, ngoài sự cố gắng nỗ lực của em, bên cạnh đó
cũng nhờ sự hỗ trợ của các Thầy, Cô Trường Đại học Sư phạm Kỹ thuật TP.HCM đã
giảng dạy và hỗ trợ cho chúng em những kiến thức, kinh nghiệm để có thể áp dụng giải
quyết những vấn đề trong đồ án này. Đặc biệt, chúng em xin gửi lời cảm ơn chân thành
đến cô ThS. Lê Thị Minh Châu đã tận tình giúp đỡ em trong đồ án mơn học này.
Vì khả năng cịn hạn chế về mặt kỹ thuật cũng như hạn chế về mặt kinh nghiệm, nên
những thiếu sót trong lúc làm đồ án là khơng thể tránh khỏi. Em kính mong nhận được
những ý kiến đóng góp từ Cơ để em có thể cải thiện và tiến xa hơn trong tương lai.
Lời cuối, em kính chúc Cơ ln dồi dào sức khỏe và thành công hơn nữa trong sự
nghiệp trồng người. Một lần nữa em xin chân thành cảm ơn!
TP.HCM, ngày 7 tháng 6 năm 2023
Sinh viên thực hiện
(Ký & ghi rõ họ tên)
Bùi Công Danh - 19110008



Khóa luận Tốt nghiệp

Trang | 1

MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .................................................................................... i
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN..................................................... ii
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ....................................................... iii
LỜI CẢM ƠN .................................................................................................................... iv
DANH MỤC HÌNH VẼ.......................................................................................................5
DANH MỤC BẢNG BIỂU .................................................................................................7
PHẦN I: MỞ ĐẦU ..............................................................................................................8
1. LÍ DO CHỌN ĐỀ TÀI. ................................................................................................8
2. MỤC TIÊU NGHIÊN CỨU. .......................................................................................8
3. ĐỐI TƯỢNG NGHIÊN CỨU. ....................................................................................9
4. PHẠM VI NGHIÊN CỨU. ..........................................................................................9
5. TÍNH CẤP THIẾT. ......................................................................................................9
6. CÔNG NGHỆ SỬ DỤNG VÀ CÔNG CỤ HỖ TRỢ. .................................................9
PHẦN II: NỘI DUNG .......................................................................................................11
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ..................................................................................11
1.1. ĐÔI NÉT VỀ MERN STACK................................................................................11
1.1.1. MongoDB ........................................................................................................11
1.1.2. ExpressJS .........................................................................................................13
1.1.3. ReactJS .............................................................................................................15
1.1.4. NodeJS .............................................................................................................18
1.2. ĐÔI NÉT VỀ DOCKER .........................................................................................18
1.3. ĐÔI NÉT VỀ AWS EC2 ........................................................................................19
CHƯƠNG 2: XÂY DỰNG WEBSITE KINH DOANH ĐỒ ĂN NHANH ......................21

2.1. KHẢO SÁT ĐỀ TÀI ..............................................................................................21
2.1.1. Jollibee .............................................................................................................21
2.1.2. Lotteria .............................................................................................................21


Khóa luận Tốt nghiệp

Trang | 2

2.1.3. KFC ..................................................................................................................22
2.2. ĐẶC TẢ WEBSITE KINH DOANH ĐỒ ĂN NHANH ........................................22
2.2.1. Khái quát về sản phẩm .....................................................................................23
2.2.2. Yêu cầu đề tài ..................................................................................................23
CHƯƠNG 3: MÔ HÌNH THIẾT KẾ .................................................................................24
3.1. LƯỢC ĐỒ USECASE ............................................................................................24
3.1.1. Tác nhân ...........................................................................................................24
3.1.2. Nghiệp vụ .........................................................................................................24
3.2. LƯỢC ĐỒ SEQUENCE .........................................................................................31
3.2.1. Authenticate .....................................................................................................31
3.2.2. Order ................................................................................................................33
3.2.3. Product .............................................................................................................35
3.2.4. User ..................................................................................................................37
3.3. MƠ HÌNH THIẾT KẾ CƠ SỞ DỮ LIỆU ..............................................................40
3.3.1. Mơ hình ............................................................................................................40
3.3.2. Mơ tả ................................................................................................................40
3.3.2.1. COLLECTION USER ................................................................................40
3.3.2.2. COLLECTION PRODUCT ........................................................................41
3.3.2.3. COLLECTION ORDER .............................................................................41
3.3.2.4. COLLECTION VOUCHER .......................................................................42
3.3.2.5. COLLECTION CATEGORY ......................................................................43

3.4 SƠ ĐỒ LỚP .............................................................................................................43
3.4.1 Thiết kế sơ đồ lớp .............................................................................................43
3.4.2 Mô tả sơ đồ lớp .................................................................................................43
3.4.2.1 Class User ..................................................................................................43
3.4.2.2 Class Voucher ............................................................................................44
3.4.2.3 Class Order ................................................................................................45


Khóa luận Tốt nghiệp

Trang | 3

3.4.2.4 Class Category ...........................................................................................46
3.4.2.5 Class Product .............................................................................................46
3.4.2.6 Class AuthService ......................................................................................46
3.4.2.7 Class UserService ......................................................................................47
3.4.2.8 Class EmailService ....................................................................................47
3.4.2.9 Class VoucherService ................................................................................48
3.4.2.10 Class OrderService ..................................................................................49
3.4.2.11 Class PaymentService ..............................................................................49
3.4.2.12 Class ProductService ...............................................................................49
3.4.2.12 Class CategoryService .............................................................................50
CHƯƠNG 4: THIẾT KẾ GIAO DIỆN XỬ LÝ ................................................................51
4.1. GIAO DIỆN DÀNH CHO NGƯỜI DÙNG CHƯA ĐĂNG NHẬP ......................51
4.1.1. Giao diện trang chủ ..........................................................................................51
4.1.2. Giao diện trang đăng nhập ...............................................................................51
4.1.3. Giao diện trang quên mật khẩu ........................................................................52
4.1.4. Giao diện trang đăng ký ...................................................................................52
4.1.5. Giao diện trang xác thực email ........................................................................52
4.1.6. Giao diện trang đăng nhập lỗi ..........................................................................53

4.1.7. Giao diện trang chi tiết sản phẩm khi chưa thêm sản phẩm ............................54
4.1.8. Giao diện trang chi tiết sản phẩm khi đã thêm sản phẩm ................................54
4.1.9. Giao diện trang giỏ hàng đã có sản phẩm ........................................................55
4.1.10. Giao diện giỏ hàng để xóa sản phẩm .............................................................56
4.1.11. Giao diện giỏ hàng chưa có sản phẩm ...........................................................56
4.2. GIAO DIỆN DÀNH CHO NGƯỜI DÙNG ĐÃ ĐĂNG NHẬT ............................57
4.2.1. Giao diện trang chủ ..........................................................................................57
4.2.2. Giao diện trang thông tin cá nhân ....................................................................58
4.2.3. Giao diện trang đổi mật khẩu ...........................................................................58


Khóa luận Tốt nghiệp

Trang | 4

4.2.4. Giao diện trang điểm thưởng ...........................................................................59
4.2.5. Giao diện mã giảm giá chi tiết .........................................................................59
4.2.6. Giao diện trang lịch sử giao dịch .....................................................................60
4.2.7. Giao diện trang checkout .................................................................................61
4.3. GIAO DIỆN DÀNH CHO QUẢN TRỊ VIÊN .......................................................62
4.3.1. Quản lý đơn hàng của quản trị viên .................................................................62
4.3.2. Giao diện quản lý sản phẩm .............................................................................62
4.3.3. Giao diện trang chỉnh sửa sản phẩm ................................................................63
4.3.4. Giao diện thêm mới sản phẩm .........................................................................64
4.3.5. Giao diện quản lý danh sách khách hàng.........................................................64
4.3.6. Giao diện xem biểu đồ .....................................................................................65
PHẦN III: KẾT QUẢ VÀ ĐÁNH GIÁ.............................................................................66
1. ĐÁNH GIÁ NHẬN XÉT ..........................................................................................66
1.1. Kết quả đạt được .................................................................................................66
1.2. Ưu điểm ..............................................................................................................66

1.3. Nhược điểm.........................................................................................................66
2. HƯỚNG PHÁT TRIỂN .............................................................................................66
PHẦN III: TÀI LIỆU THAM KHẢO ...............................................................................68


Khóa luận Tốt nghiệp

Trang | 5

DANH MỤC HÌNH VẼ
Hình 1. Hình ảnh minh hoạ MERN STACK .....................................................................11
Hình 2. Hình ảnh minh hoạ MongoDB..............................................................................11
Hình 3. Hình ảnh minh hoạ ExpressJS ..............................................................................14
Hình 4. Hình ảnh minh họa ReactJS ..................................................................................15
Hình 5. Hình minh họa cho DOM .....................................................................................16
Hình 6. Quy trình xử lý của Virtal DOM ..........................................................................16
Hình 7. Lifecycle trong ReactJS ........................................................................................17
Hình 8. Cấu trúc HTML được áp dụng trong Javascript ...................................................18
Hình 9. Website chính chủ Jollibee Việt Nam...................................................................21
Hình 10. Website chính chủ Lotteria Việt Nam ................................................................22
Hình 11. Website chính chủ của KFC Việt Nam...............................................................22
Hình 12. Usecase diagram .................................................................................................24
Hình 13. Usecase diagram dành cho GUEST ....................................................................25
Hình 14. Usecase Diagram dành cho CLIENT..................................................................26
Hình 15. Usecase Diagram dành cho ADMIN ..................................................................29
Hình 16. Lược đồ sequence chức năng đăng ký ................................................................31
Hình 17. Lược đồ sequence chức năng làm mới token .....................................................32
Hình 18. Lược đồ sequence chức năng đăng ký ................................................................32
Hình 19. Lược đồ sequence chức năng quên mật khẩu .....................................................33
Hình 20. Lược đồ sequence chức năng tạo đơn hàng ........................................................33

Hình 21. Lược đồ sequence chức năng lấy danh sách đơn hàng .......................................34
Hình 22. Lược đồ sequence lấy thơng tin chi tiết đơn hàng ..............................................34
Hình 23. Lược đồ sequence chức năng cập nhật đơn hàng ...............................................35
Hình 24. Lược đồ sequence chức năng thanh tốn online .................................................35
Hình 25. Lược đồ sequence chức năng tạo mới sản phẩm ................................................36
Hình 26. Lược đồ sequence cập nhật sản phẩm.................................................................36
Hình 27. Lược đồ sequence lấy danh sách sản phẩm ........................................................37
Hình 28. Lược đồ sequence chức năng lấy thông tin chi tiết sản phẩm ............................37
Hình 29. Lược đồ sequence chức năng đổi mật khẩu ........................................................38
Hình 30. Lược đồ sequence chức năng đăng xuất .............................................................38
Hình 31. Lược đồ sequence lấy thông tin cá nhân .............................................................39


Khóa luận Tốt nghiệp

Trang | 6

Hình 32. Lược đồ sequence cập nhật thơng tin cá nhân ....................................................39
Hình 33. Lược đồ cơ sở dữ liệu MongoDB .......................................................................40
Hình 34. Thiết kế sơ đồ lớp ...............................................................................................43
Hình 35. Trang chủ cửa hàng .............................................................................................51
Hình 36. Trang đăng nhập tài khoản..................................................................................51
Hình 37. Trang quên mật khẩu ..........................................................................................52
Hình 38. Trang đăng ký tài khoản .....................................................................................52
Hình 39. Trang xác nhận mã OTP .....................................................................................53
Hình 40. Trang xác nhận mã OTP sau khi hết 60s ............................................................53
Hình 41. Thơng báo khi mà người dùng đăng nhập khơng đúng ......................................53
Hình 42. Trang chi tiết sản phẩm khi chưa thêm vào giỏ hàng .........................................54
Hình 43. Trang chi tiết sản phẩm khi đã thêm sản phẩm ..................................................54
Hình 44. Trang giỏ hàng ....................................................................................................55

Hình 45. Giao diện trước khi xóa ......................................................................................56
Hình 46. Giao diện sau khi xóa ..........................................................................................56
Hình 47. Giao diện giỏ hàng chưa có sản phẩm ................................................................57
Hình 48. Giao diện trang chủ khi đã đăng nhập ................................................................57
Hình 49. Giao diện trang thơng tin cá nhân .......................................................................58
Hình 50. Giao diện trang đổi mật khẩu ..............................................................................59
Hình 51. Giao diện trang điểm thưởng ..............................................................................59
Hình 52. Giao diện mã giảm giá chi tiết ............................................................................60
Hình 53. Giao diện trang lịch sử giao dịch ........................................................................60
Hình 54. Giao diện trang check out ...................................................................................61
Hình 55. Trang quản lý đơn hàng của quản trị viên ..........................................................62
Hình 56. Trang quản lý sản phẩm ......................................................................................63
Hình 57. Trang chỉnh sửa sản phẩm ..................................................................................63
Hình 58. Trang thêm mới sản phẩm ..................................................................................64
Hình 59. Giao diện quản lý khách hàng.............................................................................64
Hình 60. Giao diện xem biểu đồ ........................................................................................65


Khóa luận Tốt nghiệp

Trang | 7

DANH MỤC BẢNG BIỂU
Bảng 1. Mô tả Collection User ..........................................................................................40
Bảng 2. Mô tả Collection Product .....................................................................................41
Bảng 3. Mô tả Collection Order .........................................................................................41
Bảng 4. Mô tả Collection Voucher ....................................................................................42
Bảng 5. Mô tả Collection Category ...................................................................................43
Bảng 6. Bảng User .............................................................................................................43
Bảng 7. Bảng Voucher .......................................................................................................44

Bảng 8. Bảng Order ...........................................................................................................45
Bảng 9. Bảng Category ......................................................................................................46
Bảng 10. Bảng Product ......................................................................................................46
Bảng 11. Bảng AuthService ...............................................................................................46
Bảng 12. Bảng UserService ...............................................................................................47
Bảng 13. Bảng EmailService .............................................................................................47
Bảng 14. Bảng VoucherService .........................................................................................48
Bảng 15. Bảng OrderService .............................................................................................49
Bảng 16. Bảng PaymentService .........................................................................................49
Bảng 17. Bảng ProductService ..........................................................................................49
Bảng 18. Bảng CategoryService ........................................................................................50


Khóa luận Tốt nghiệp

Trang | 8

PHẦN I: MỞ ĐẦU
1. LÍ DO CHỌN ĐỀ TÀI.
“Tại Việt Nam, tính tới thời điểm hiện nay thì khắp cả nước đã có 540.000 cửa hàng ăn
uống, trong số đó thì có khoảng 430.000 cửa hàng là cửa hàng nhỏ, 7000 nhà hàng là các
nhà hàng phục vụ thức ăn nhanh, 22.000 cửa hàng cafe (tính cả chuổi cafe nhượng quyền,
chuỗi cafe tự doanh, các quầy bar) và hơn 80.000 nhà hàng được đầu tư và phát triển một
cách bài bản. Con số này vẫn tăng lên chóng mặt theo từng ngày.”[1] Với dân số gần 100
triệu người (02/2023) và sự phục hồi của nền kinh tế Việt Nam sau 2 năm đại dịch Covid19, thì cơ hội phát triển của ngành F&B vẫn cịn rất lớn và chưa được khai thác hết.
Đặc biệt chuỗi đồ ăn nhanh như gà rán, burger hay pizza mà giới trẻ GenZ rất yêu thích.
Việc kinh doanh đồ ăn nhanh trong thời điểm hậu Covid-19 là một phương án hợp lý và
kịp thời, nhằm nắm bắt tâm lý và nhu cầu sử dụng dịch vụ F&B của người dùng. Việc
người dùng sử dụng dịch vụ F&B, cụ thể hơn là ngành hàng thức ăn nhanh, cũng một phần
nào đó đóng góp cho sự phát triển của kinh tế nước nhà (GDP) sau khi dịch bệnh Covid19 được kiểm soát.

Trong thời kỳ 4.0, công nghệ đã được ứng dụng vào cuộc sống trong nhiều lĩnh vực
khác nhau, bao gồm lĩnh vực F&B. Hiện nay, mỗi người chúng ta đều sở hữu ít nhất một
món đồ cơng nghệ như điện thoại thơng minh, một cái máy tính hoặc laptop dùng để truy
cập Internet. Cho nên việc xây dựng website để tiếp thị khách hàng, người dùng là một lựa
chọn đầu tư lâu dài. Chính vì nhận ra được xu hướng thị trường trong thời gian dài hạn nên
em quyết định xây dựng website kinh doanh đồ ăn nhanh.
2. MỤC TIÊU NGHIÊN CỨU.
Mục tiêu nghiên cứu chính trong đồ án này là xây dựng website kinh doanh đồ ăn nhanh
dành cho khách hàng và website quản lý bán hàng dành cho quản trị viên.
 Đối với khách hàng: Người dùng có thể tự do xem menu đồ ăn của website và tự
lựa chọn các khẩu phần ăn của phù hợp với khẩu vị, sở thích của mình và cho vào
giỏ hàng rồi sau đó tiến hành thanh tốn giỏ hàng. Nếu người dùng chưa đăng nhập
mà tiến hành thanh tốn thì sẽ yêu cầu người dùng đăng nhập để có thể tiếp tục sử
dụng dịch vụ cửa hàng, nếu khơng có tài khoản thì người dùng phải thực hiện đăng
ký tài khoản và nhập tất cả thông tin cá nhân mà website yêu cầu.
 Đối với quản trị viên: Quản trị viên có thể quản lý đơn hàng, cập nhật tình trạng
đơn hàng cho khách hàng biết. Đồng thời, quản trị viên có thể thêm mới sản phẩm,


Khóa luận Tốt nghiệp

Trang | 9

cập nhật sản phẩm, tạo ra các chương trình khuyến mãi để khuyến khích thói quen
tiêu dùng của người dùng. Ngồi ra, họ có thể theo dõi được danh sách dữ liệu khách
hàng với các thông tin cá nhân.
3. ĐỐI TƯỢNG NGHIÊN CỨU.
Ngành F&B, đặc biệt là các cửa hàng về đồ ăn nhanh như KFC, Lotteria, Texas,
Popeyes, ….
4. PHẠM VI NGHIÊN CỨU.

Tập trung nghiên cứu chung về cách thức hoạt động của công nghệ MERN Stack để
phát triển ứng dụng website kinh doanh đồ ăn nhanh.
5. TÍNH CẤP THIẾT.
Sau đại dịch Covid-19, các cửa hàng đồ ăn nhanh vừa và nhỏ, các cửa hàng nhượng
quyền đang “thoi thóp” từng ngày vì phải gánh chịu những chi phí lớn và đang dần bỏ cuộc
chơi F&B trị giá, chỉ cịn những “ơng lớn” trong ngành như KFC, Popeyes, Texas cịn đứng
vững trên thị trường. Ngồi ra, các thương hiệu lớn kể trên đã chịu nhiều tổn thất kinh phí
vì đại dịch và một phần nào đó các thương hiệu đã quá đỗi quen thuộc đối với giới trẻ hiện
nay, và họ cần tìm một thương hiệu mới, chất lượng hơn so với các thương hiệu kể trên.
Hiện nay, chúng ta đã được tiếp cận với những cái mới, những cơng nghệ mới. Đánh
đổi với việc đó, chúng ta ngày càng trở nên phụ thuộc quá nhiều vào cơng nghệ, điện thoại
hay máy tính. Khi mà chúng ta đã quá phụ thuộc thì việc đi ra cửa hàng để mua đồ ăn là
một việc quá sức đối với bản thân chúng ta. Mặc khác, nhờ tiếp cận những công nghệ đã
giúp chúng ta tiết kiệm thời gian khá nhiều trong nhiều lĩnh vực. Thế nên, việc xây dựng
một website bán hàng để phục vụ nhu cầu chung của đại đa số là một việc thiết yếu trong
công việc kinh doanh của một cửa hàng đồ ăn nhanh. Bên cạnh đó, ngồi việc phục vụ
khách hàng, việc cửa hàng có một website riêng cũng là một hình thức marketing để khách
hàng có thể dễ dàng tìm hiểu và tiếp cận. Website cũng chính là “bộ mặt” của một cửa
hàng.
6. CÔNG NGHỆ SỬ DỤNG VÀ CÔNG CỤ HỖ TRỢ.
 Visual studio code: Là một text editor dùng để hỗ trợ cho việc xây dựng giao diện
người dùng (ReactJS) và máy chủ (ExpressJS)
 Postman: Ứng dụng dùng đễ hỗ trợ kiểm thử các API từ phía máy chủ.
 MongoDB Atlas: Ứng dụng hỗ trợ cho hệ quản trị cơ sở dữ liệu noSQL
 ReactJS: framework dùng để phát triển ứng dụng giao diện website


Khóa luận Tốt nghiệp

Trang | 10


 ExpressJS: framework dùng để phát triển máy chủ
 JWT: Json Web Token dùng để tạo ra token để phục vụ cho việc xác thực và phân
quyền sử dụng tài nguyên
 Docker: Dùng để đóng gói ứng dụng dùng để triển khai lên mơi trường thực tế.
 AWS: Amazon Web Service cung cấp các dịch vụ trên đám mây.
 EC2: Là dịch vụ của AWS, dùng để tạo ra các máy ảo
 VNPAY API: Dùng để tích hợp thanh tốn trực tuyến
 GHN API: Dùng để tính tốn chi phí vận chuyển từ đơn vị vận chuyển Giao hàng
nhanh


Khóa luận Tốt nghiệp

Trang | 11

PHẦN II: NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. ĐÔI NÉT VỀ MERN STACK
-

MERN stack là nguyên bộ combo mã nguồn mở (open source) các công nghệ đều
liên quan đến Javascript và cũng là hot nhất hiện nay, bao gồm: MongoDB,
ExpressJS, React/React Native, NodeJS.

Hình 1. Hình ảnh minh hoạ MERN STACK

-

Chuỗi MERN Stack là viết tắt của MongoDB, ExpressJS, ReactJS và NodeJS. Đây

là một bộ công nghệ được sử dụng rộng rãi trong lĩnh vực phát triển web, gồm các
cơng nghệ chính để tạo ra một ứng dụng web đầy đủ tính năng

1.1.1. MongoDB

Hình 2. Hình ảnh minh hoạ MongoDB

-

MongoDB là một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL) mã nguồn mở.


Khóa luận Tốt nghiệp
-

Trang | 12

Nó sử dụng mơ hình lưu trữ dựa trên tài liệu (document-oriented storage) và lưu trữ
dữ liệu dưới dạng BSON (Binary JSON).

-

MongoDB cung cấp khả năng mở rộng linh hoạt và thích ứng tốt với các ứng dụng
web có lưu lượng truy cập lớn.

-

Nó hỗ trợ các tính năng như replica set và sharding để cung cấp tính sẵn sàng cao
và khả năng mở rộng
1.1.1.1. Các định nghĩa về MongoDB:

-

MongoDB là một database hướng tài liệu (document), một dạng NoSQL
database. Vì thế, MongoDB sẽ tránh cấu trúc table-based của cơ sở dữ liệu quan
hệ (relational database) để thích ứng với các tài liệu như JSON có một schema
rất linh hoạt gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng
Document JSON nên mỗi một collection sẽ có các kích cỡ và các document khác
nhau. Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất
nhanh.

-

MongoDB lần đầu ra đời bởi MongoDB Inc., tại thời điểm đó là thế hệ 10, vào
tháng Mười năm 2007, nó là một phần của sản phẩm PaaS (Platform as a
Service) tương tự như Windows Azure và Google App Engine. Sau đó nó đã
được chuyển thành nguồn mở từ năm 2009.

-

MongoDB đã trở thành một trong những NoSQL database nổi trội nhất bấy giờ,
được dùng làm backend cho rất nhiều website như eBay, SourceForge và The
New York Times

1.1.1.2. Các feature của MongoDB gồm có:
-

Query: hỗ trợ search bằng field, các phép search thông thường, regular
expression searches, và range queries.

-


Indexing: bất kì field nào trong BSON document cũng có thể được index.

-

Replication: có ý nghĩa là “nhân bản”, là có một phiên bản giống hệt phiên bản
đang tồn tại, đang sử dụng. Với cơ sở dữ liệu, nhu cầu lưu trữ lớn, đòi hỏi cơ sở
dữ liệu tồn vẹn, khơng bị mất mát trước những sự cố ngồi dự đốn là rất cao.
Vì vậy, người ta nghĩ ra khái niệm “nhân bản”, tạo một phiên bản cơ sở dữ liệu
giống hệt cơ sở dữ liệu đang tồn tại, và lưu trữ ở một nơi khác, đề phịng có sự
cố.


Khóa luận Tốt nghiệp
-

Trang | 13

Aggregation: Các Aggregation operation xử lý các bản ghi dữ liệu và trả về kết
quả đã được tính tốn. Các phép tốn tập hợp nhóm các giá trị từ nhiều Document
lại với nhau, và có thể thực hiện nhiều phép toán đa dạng trên dữ liệu đã được
nhóm đó để trả về một kết quả duy nhất. Trong SQL, count(*) và GROUP BY
là tương đương với Aggregation trong MongoDB.

-

Lưu trữ file: MongoDB được dùng như một hệ thống file tận dụng những
function trên và hoạt động như một cách phân phối qua sharding.

1.1.1.3. Chức năng của MongoDB

-

Quản lý và truyền tải content – Quản lý đa dạng nhiều product của content chỉ
trong một kho lưu trữ data cho phép thay đổi và phản hồi nhanh chóng mà khơng
chịu thêm phức tạp thêm từ hệ thống content.

-

Cấu trúc Mobile và Social – MongoDB cung cấp một platform có sẵn, phản xạ
nhanh, và dễ mở rộng cho phép rất nhiều khả năng đột phá, phân tích real-time,
và hỗ trợ toàn cầu.

-

Quản lý data khách hàng – Tận dụng khả năng query nhanh chóng cho phân
tích real-time trên cơ sở dữ liệu người dùng cực lớn vớ các mơ hình data phức
tạp bằng các schema linh hoạt và tự động sharding cho mở rộng chiều ngang.

1.1.1.4. Ưu điểm của MongoDB
-

Dữ liệu lưu trữ phi cấu trúc, khơng có tính ràng buộc, tồn vẹn nên tính sẵn sàng
cao, hiệu suất lớn và dễ dàng mở rộng lưu trữ.

-

Dữ liệu được caching (ghi đệm) lên RAM, hạn chế truy cập vào ổ cứng nên tốc
độ đọc và ghi cao

1.1.1.5. Nhược điểm của MongoDB

-

Khơng ứng dụng được cho các mơ hình giao dịch nào có u cầu độ chính xác
cao do khơng có ràng buộc.

-

Khơng có cơ chế transaction (giao dịch) để phục vụ các ứng dụng ngân hàng.

-

Dữ liệu lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ
nhớ RAM lớn.

-

Mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức
vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao.

1.1.2. ExpressJS
1.1.2.1. Khái niệm


Khóa luận Tốt nghiệp

Trang | 14

Hình 3. Hình ảnh minh hoạ ExpressJS

-


ExpressJS là một framework ứng dụng web dựa trên NodeJS.

-

Nó cung cấp các tiện ích và cơng cụ để xây dựng các ứng dụng web và API dễ
dàng và nhanh chóng.

-

ExpressJS giúp quản lý các yêu cầu HTTP, xử lý tương tác với cơ sở dữ liệu và
xây dựng các router để điều hướng yêu cầu đến các endpoint tương ứng.

-

ExpressJS hỗ trợ middleware để thực hiện các chức năng như xác thực, xử lý
lỗi, ghi nhật ký và nhiều hơn nữa.

-

Expressjs là một framework đượ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 và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng.

1.1.2.2. Tổng hợp một số chức năng chính của Expressjs:

-

Thiết lập các lớp trung gian để trả về các HTTP request.


-

Định nghĩa router cho phép sử dụng với các hành động khác nhau dựa trên
phương thức HTTP và URL.

-

Cho phép trả về các trang HTML dựa vào các tham số



×