1. Trang chủ
  2. » Giáo Dục - Đào Tạo

website đặt đồ ăn nhanh

54 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Website Đặt Đồ Ăn Nhanh
Tác giả Đỗ Huỳnh Ngọc Thế
Người hướng dẫn ThS. Đỗ Phú Huy
Trường học Đại Học Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 54
Dung lượng 796,96 KB

Nội dung

Nội dung chính của đồ án: Quá trình xây dựng website Đặt đồ ăn nhanh: - Thu thập thông tin tài liệu liên quan và khảo sát thực tế.. Trong số đó, việc đặt đồ ăn nhanh trực tuyến đã trở t

Trang 1

Đà Nẵng, tháng 01/2024

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

WEBSITE ĐẶT ĐỒ ĂN NHANH

Sinh viên thực hiện : Đỗ Huỳnh Ngọc Thế

Trang 2

Đà Nẵng, tháng 01/2024

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

WEBSITE ĐẶT ĐỒ ĂN NHANH

Giảng viên hướng dẫn duyệt

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 4

NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN

Trang 5

i

TÓM TẮT

Tên đề tài: Xây dựng website đặt đồ ăn nhanh Sinh viên thực hiện: Đỗ Huỳnh Ngọc Thế MSV: 1911505310162 Lớp: 19T1 Khách vãng lai sau khi truy cập website thì có thể tìm kiếm món ăn theo tên, xem và đăng ký tài khoản thành viên để tiến hành đặt hàng và thanh toán

Khách hàng đã đăng nhập có thể tiến hành đặt hàng, nếu chọn thanh toán trực tiếp thì khách hàng sẽ thanh toán sau khi nhận hàng Ngoài ra khách hàng còn có thể theo dõi tình trạng của đơn hàng đã đặt, xem những đơn hàng đã mua trước đó

Quản trị viên sẽ là người quản trị cao nhất của hệ thống, quản lý tất cả các thông tin của website: danh mục món ăn, thông tin của món ăn, đơn hàng, tài khoản của khách hàng, tài khoản của quản trị viên

Trang 6

ii TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

3 Nội dung chính của đồ án:

Quá trình xây dựng website Đặt đồ ăn nhanh: - Thu thập thông tin tài liệu liên quan và khảo sát thực tế - Phân tích thiết kế các chức năng của hệ thống

- Phân tích thiết kế cơ sơ dữ liệu - Thiết kế giao diện cho các chức năng - Xây dựng hệ thống website

- Kiểm thử website - Hoàn thành báo cáo tổng hợp

4 Các sản phẩm dự kiến:

- Website quản lý đặt đồ ăn nhanh - File báo cáo hoàn chỉnh

5 Ngày giao đồ án: 6 Ngày nộp đồ án:

Đà Nẵng, ngày tháng năm 2024

Trang 7

iii

LỜI NÓI ĐẦU

Trong thời đại công nghệ thông tin ngày càng phát triển, việc sử dụng Internet để giải quyết các nhu cầu hàng ngày trở nên phổ biến hơn bao giờ hết Trong số đó, việc đặt đồ ăn nhanh trực tuyến đã trở thành một xu hướng phổ biến, đáp ứng nhu cầu về ẩm thực và tiết kiệm thời gian của người dùng

Với mục tiêu tận dụng lợi thế của công nghệ và đáp ứng nhu cầu ngày càng tăng của thị trường đặt đồ ăn nhanh, chúng tôi đã lựa chọn đề tài "Web site đặt đồ ăn nhanh" cho đồ án của em Đồ án này nhằm xây dựng một trang web hiệu quả và tiện lợi cho người dùng để đặt đồ ăn nhanh một cách dễ dàng và nhanh chóng

Báo cáo này sẽ trình bày quá trình nghiên cứu, phân tích, thiết kế và triển khai website đặt đồ ăn nhanh Em đã tập trung vào việc tạo ra một giao diện thân thiện, dễ sử dụng và đáp ứng các yêu cầu đa dạng của người dùng Ngoài ra, chúng tôi cũng xây dựng một hệ thống quản lý đơn hàng và tích hợp thanh toán trực tuyến để đảm bảo quá trình giao dịch được diễn ra một cách thuận lợi và an toàn

Báo cáo cũng sẽ đề cập đến các thách thức và khó khăn gặp phải trong quá trình phát triển, cũng như các giải pháp mà chúng tôi đã áp dụng để vượt qua những khó khăn đó Em cũng sẽ trình bày kết quả đạt được và các hướng phát triển tiềm năng cho website trong tương lai

Em hy vọng rằng báo cáo này sẽ mang lại thông tin hữu ích và cung cấp cái nhìn tổng quan về quá trình phát triển một trang web đặt đồ ăn nhanh Chúng tôi xin chân thành cảm ơn sự hỗ trợ và đóng góp của Ban giám hiệu, giáo viên hướng dẫn và các bạn đồng nghiệp trong suốt quá trình thực hiện đồ án này

Em xin chân thành cảm ơn!

Trang 8

iv

LỜI CAM ĐOAN

Em xin cam đoan đồ án “Xây dựng website Đặt đồ ăn nhanh” là một công trình

nghiên cứu độc lập dưới sự hướng dẫn của giảng viên ThS Đỗ Phú Huy Ngoài ra không có bất cứ sự sao chép nào của người khác Đề tài, nội dung báo cáo đồ án là sản phẩm mà em đã nỗ lực nghiên cứu trong quá trình học tập tại trường Các kết quả trình bày trong báo cáo là hoàn toàn trung thực, em xin chịu hoàn toàn trách nhiệm, kỷ luật của trưởng bộ môn và nhà trường đề ra nếu như có vấn đề xảy ra

Sinh viên thực hiện

Đỗ Huỳnh Ngọc Thế

Trang 9

2 Mục tiêu và nhiệm vụ nghiên cứu 1

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 2

5 Ý nghĩa khoa học và thực tiễn 2

6 Giải pháp công nghệ 3

7 Cấu trúc của đồ án tốt nghiệp 3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4

1.1 Tổng quan về ngôn ngữ lập trình 4

1.1.1 HTML 4

1.1.2 CSS 4

1.1.3 Java 5

1.2 Hệ quản trị cơ sở dữ liệu MySQL 6

1.3 Framework và thư viện hỗ trợ 7

1.3.1 Giới thiệu Spring Framework 7

1.3.2 Thư viện Thymeleaf 8

1.3.3 Thư viện Bootstrap 9

1.4 Công cụ hỗ trợ xây dựng hệ thống 11

1.4.1 Interlij 11

1.5 Lý thuyết xây dựng website 12

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14

Trang 10

2.5.1.2 Xem thông tin món ăn 16

2.5.1.3 Đăng ký tài khoản thành viên 17

2.5.2 Khách hàng 18

2.5.2.1 Đăng nhập trang người dùng 18

2.5.2.2 Cập nhật thông tin tài khoản 18

2.5.3.4 Quản lý tài khoản khách hàng 22

2.6 Thiết kế form, bảng cơ sở dữ liệu 23

2.6.1 Khách hàng 23

2.6.1.1 Đăng ký tài khoản 23

2.6.1.2 Cập nhật thông tin tài khoản 24

2.6.1.3 Cập nhật giỏ hàng 25

2.6.2 Quản trị viên 26

2.6.2.1 Thêm mới danh mục món ăn 26

2.6.2.2 Sửa danh mục hàng hoá 27

Trang 11

vii

2.6.2.8 Sửa thông tin nhân viên 31

2.6.2.9 Danh sách nhân viên 32

CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 33

3.1 Giao diện người dùng (Khách vãng lai và Khách hàng) 33

3.1.1 Giao diện trang chủ khi chưa đăng nhập 33

3.1.2 Giao diện đăng nhập tài khoản 33

3.1.3 Giao diện trang chủ sau khi đăng nhập 34

3.1.7 Giao diện thông tin cá nhân 34

3.1.8 Giao diện giỏ hàng 35

3.2 Giao diện trang quản trị 35

3.2.1 Giao diện chính của trang quản trị 35

3.2.2 Giao diện quản lý thông tin hàng hoá 36

3.2.3 Giao diện quản lý thành viên 36

3.2.4 Giao diện quản lý nhân viên 36

3.1.5 Giao diện quản lí đơn hàng 37

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 38

TÀI LIỆU THAM KHẢO 39

Trang 12

viii

DANH MỤC BẢNG BIỂU

Bảng 2 1 Kịch bản cho use case tìm kiếm món ăn 16

Bảng 2 2 Kịch bản cho use case xem thông tin món ăn 17

Bảng 2 3 Kịch bản cho use case đăng ký tài khoản thành viên 18

Bảng 2 4 Kịch bản cho use case đăng nhập trang người dùng 18

Bảng 2 5 Kịch bản cho use case cập nhật thông tin tài khoản 19

Bảng 2 6 Kịch bản cho use case đặt hàng 20

Bảng 2 7 Kịch bản cho use case đăng nhập trang quản trị 20

Bảng 2 8 Kịch bản cho use case đăng nhập 21

Bảng 2 9 Kịch bản cho use case quản lí đơn hàng 21

Bảng 2 10 Kịch bản cho use case quản lý tài khoản khách hàng 22

Trang 13

Hình 1.8 Ảnh minh họa Interlij 12

Hình 1 9 Ảnh minh họa mô hình MVC 13

Hình 2 1 Cơ sở dữ liệu 15

Hình 2 2 Giao diện đăng ký tài khoản 23

Hình 2 3 Giao diện cập nhật thông tin tài khoản 24

Hình 2 4 Giao diện giỏ hàng 25

Hình 2 5 Giao diện thêm mới món ăn 26

Hình 2 6 Giao diện sửa món ăn 27

Hình 2 7 Giao diện danh sách thức uống 29

Hình 2 8 Giao diện danh sách món ăn 29

Hình 2 9 Giao diện thêm mới thành viên 30

Hình 2 10 Giao diện sửa thông tin thành viên 29

Hình 2 11 Giao diện danh sách thành viên 31

Hình 2 12 Giao diện thêm mới nhân viên 31

Hình 2 11 Giao diện sửa thông tin thành viên 31

Hình 2 12 Giao diện danh sách nhân viên 31

Trang 14

x

Hình 3 1 Giao diện trang chủ khi chưa đăng nhập 33

Hình 3 2 Giao diện đăng nhập tài khoản 33

Hình 3 3 Giao diện trang chủ sau khi đăng nhập 34

Hình 3 4 Giao diện trang cá nhân 34

Hình 3 5 Giao diện chi tiết đơn hàng 35

Hình 3 6 Giao diện chính trang quản trị 35

Hình 3 7 Giao diện quản lý thông tin hàng hoá 36

Hình 3 8 Giao diện quản lý thành viên 36

Hình 3 9 Giao diện quản lý nhân viên 37

Hình 3 10 Giao diện quản lý đơn hàng 37

Trang 15

xi

DANH MỤC CHỮ VIẾT TẮT, TIẾNG ANH

1 HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản

2 CSS Cascading Style Sheets Ngôn ngữ tạo phong cách cho

website

3 W3C World Wide Web Consortium

Tổ chức tiêu chuẩn quốc tế chính cho World Wide Web

4 RDBMS Relational Database

Trang 16

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 1

MỞ ĐẦU

1 Lý do chọn đề tài

Với 5 lí do sau: - Xu hướng đặt đồ ăn trực tuyến: Trong thời đại số hóa, việc đặt đồ ăn qua

Internet đã trở nên phổ biến và thuận tiện hơn bao giờ hết Người tiêu dùng ngày càng tìm kiếm sự tiện lợi và tốc độ trong việc đặt đồ ăn, điều này tạo cơ hội kinh doanh lớn cho các trang web đặt đồ ăn nhanh

- Tính cạnh tranh cao: Thị trường đặt đồ ăn nhanh đang trở nên cạnh tranh và đòi hỏi sự sáng tạo và khác biệt Xây dựng một website đặt đồ ăn nhanh có thể giúp khách hàng dễ dàng tìm kiếm và đặt món ăn từ nhiều nhà hàng khác nhau, cung cấp lợi ích lớn cho người sử dụng và giúp doanh nghiệp tiếp cận khách hàng rộng lớn

- Tiềm năng tăng trưởng và lợi nhuận: Ngành công nghiệp đồ ăn nhanh luôn có nhu cầu lớn và tiềm năng tăng trưởng cao Bằng cách xây dựng một website đặt đồ ăn nhanh hiệu quả, có thể thu hút một lượng lớn khách hàng và tăng doanh số bán hàng, từ đó mang lại lợi nhuận cao

- Kỹ năng lập trình và phát triển web: Đề tài này cung cấp cơ hội để nghiên cứu và áp dụng các kỹ năng lập trình và phát triển web, như thiết kế giao diện, quản lý cơ sở dữ liệu, tích hợp thanh toán trực tuyến và quản lý đơn hàng Điều này không chỉ làm mở rộng kiến thức và kỹ năng cá nhân mà còn tạo ra tiềm năng phát triển sự nghiệp trong lĩnh vực công nghệ thông tin

- Tương tác với khách hàng: Xây dựng một website đặt đồ ăn nhanh cung cấp cơ hội tương tác với khách hàng thông qua các chức năng như đánh giá, nhận xét và phản hồi Điều này giúp cải thiện chất lượng dịch vụ, tạo niềm tin và tăng sự hài lòng của khách hàng

2 Mục tiêu và nhiệm vụ nghiên cứu

- Mục tiêu: Xây dựng giao diện người dùng thân thiện và dễ sử dụng Đáp ứng nhu cầu đa dạng của người dùng bằng việc cung cấp danh sách đa dạng các món ăn

Trang 17

Xây dựng website đặt đồ ăn nhanh

3 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu: + Khách hàng là những người thường xuyên đặt đồ ăn

+ Quản lý và nhân viên + Tài liệu tham khảo - Phạm vi nghiên cứu:

+ Website này có thể được ứng dụng cho các cửa hàng có quy mô và hình thức hoạt động nghiệp vụ nhỏ

+ Đề tài xây dựng website đặt đồ ăn nhanh + Lĩnh vực thiết kế website

+ Hoạt động bán và quản lí đồ ăn

4 Phương pháp nghiên cứu

- Tham khảo các website đặt đồ ăn nhanh trên mạng như now,… - Khảo sát thực tế

- Tìm kiếm tài liệu trên internet có liên quan đến nội dung nghiên cứu - Tìm hiểu về công cụ hỗ trợ lập trình và cách sử dụng

- Thu tập tài liệu liên quan đên nghiệp vụ quản lý website đặt đồ ăn nhanh

5 Ý nghĩa khoa học và thực tiễn

a) Ý nghĩa khoa học của đề tài - Giúp sinh viên bổ sung kiến thức để bắt đầu trên con đường trở thành kỹ sư lập

trình giỏi - Rèn luyện kỹ năng phân tích và thiết kế dự án

b) Ý nghĩa thực tiễn của đề tài Qua việc xây dựng website này, em có thể áp dụng những kiến thức trong quá trình học tập và trao dồi sự hiểu biết về các kiến thức như :

- Kiến thức về ngôn ngữ JAVA

Trang 18

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 3 - Kiến thức về Spring Framework

- Kiến thức thiết kế website với HTML, CSS, Javascript… - Phát huy tính sáng tạo và cách làm việc độc lập cho mình

6 Giải pháp công nghệ

- Thiết kế cơ sở dữ liệu, sơ đồ usecase, sơ đồ hoạt động: StarUML - Hỗ trợ soạn thảo mã nguồn: Interlij

- Ngôn ngữ lập trình: + Backend: JAVA (Spring Framework) + Frontend: HTML, CSS, JavaScript - Thư viện: Spring Framework, Bootstrap 4 - Hệ quản trị CSDL: MySQL

7 Cấu trúc của đồ án tốt nghiệp

Bài báo cáo ngoài các nội dung gồm phần mở đầu và phần kết thúc thì bố cục gồm có 3 chương:

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

Nêu các cơ sở lý thuyết sẽ áp dụng trong hệ thống: ngôn ngữ HTML, CSS, JavaScript, ngôn ngữ lập trình JAVA, hệ quản trị cơ sở dữ liệu MySQL, thư viện Thymeleaf,

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Trình bày các sơ đồ use case, kịch bản cho các use case, sơ đồ ERD, sơ đồ hoạt động của các chức năng trong hệ thống Từ những phân tích ở trên, tiến hành thiết kế cơ sở dữ liệu cho hệ thống sẽ triển khai

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH

Từ những phân tích và thiết kế về hệ thống ở trên, áp dụng xây dựng các chức năng hệ thống Trình bày giao diện của phần mềm triển khai

Trang 19

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 4

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về ngôn ngữ lập trình 1.1.1 HTML

HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẫu thông tin được trình bày trên World Wide Web Cùng với CSS và Javascript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web

HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản chính thức mới nhất của HTML và HTML 4.01 (1999) Sau đó, các nhà phát triển đã thay thế nó bằng XHTML Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho trang Web

CSS được sử dụng trong Website là công nghệ được phát triển bởi W3C, được dùng để phát triển Front-end

Trang 20

Xây dựng website đặt đồ ăn nhanh

Hình 1.3 Hình ảnh Java

Trang 21

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 6

1.2 Hệ quản trị cơ sở dữ liệu MySQL

MySQL là một hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS) hoạt động theo mô hình client-server RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên internet

Hình 1.4 Icon MySQL

Trang 22

Xây dựng website đặt đồ ăn nhanh

Một trong những đặc điểm nổi bật của Spring Boot là khả năng tự cấu hình tự động (auto-configuration), giúp giảm bớt công việc cấu hình và mở rộng ứng dụng Spring Boot tích hợp sẵn các thư viện và cấu hình mặc định cho các công nghệ phổ biến như Spring MVC, Spring Data, Spring Security, Hibernate, và nhiều hơn nữa Điều này giúp giảm thiểu việc cấu hình thủ công và giúp lập trình viên tập trung vào việc phát triển logic kinh doanh chính của ứng dụng

Spring Boot cũng cung cấp một hệ thống quản lý phụ thuộc (dependency management) thông qua Spring Boot Starter Starter là các module đã được cấu hình trước và chứa tất cả các thư viện cần thiết để sử dụng một công nghệ cụ thể Việc sử dụng Starter giúp giảm bớt công việc phải quản lý các phụ thuộc và đảm bảo rằng các phiên bản thư viện tương thích với nhau

Spring Boot cung cấp các công cụ mạnh mẽ để phát triển và kiểm thử ứng dụng, bao gồm hỗ trợ tích hợp cho các framework kiểm thử như JUnit và Mockito Nó cũng hỗ trợ việc tạo và quản lý các bộ công cụ phát triển như Maven và Gradle

Với Spring Boot, việc xây dựng các ứng dụng Java trở nên dễ dàng và nhanh chóng Nó cho phép lập trình viên tập trung vào việc phát triển chức năng và logic kinh doanh của ứng dụng mà không cần quá nhiều công sức vào việc cấu hình và quản lý phụ thuộc Spring Boot đã trở thành một trong những framework phát triển ứng dụng Java phổ biến và được ưa chuộng trong cộng đồng phát triển phần mềm Java

Hình 1.5 Icon Spring boot

Ưu điểm của Spring:

Trang 23

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 8

- IoC (Inversion of Control): Spring sử dụng nguyên tắc IoC, giúp quản lý các

đối tượng và kiểm soát luồng của chương trình IoC giúp giảm sự phụ thuộc giữa các thành phần, làm cho ứng dụng dễ dàng mở rộng và bảo trì hơn

- Dependency Injection (DI): Spring hỗ trợ DI, cho phép bạn ánh xạ và chuyển

các phụ thuộc giữa các thành phần một cách dễ dàng Điều này làm cho mã nguồn trở nên linh hoạt và dễ đọc, giảm sự rối bời và tăng tính tái sử dụng mã

- AOP (Aspect-Oriented Programming): Spring cung cấp hỗ trợ AOP, giúp

tách rời các quy tắc chung (cross-cutting concerns) như logging, transaction management, security, và nhiều loại khác, từ mã nguồn chính Điều này tạo ra mã nguồn sạch sẽ và dễ bảo trì

- MVC (Model-View-Controller): Spring Framework có một mô hình MVC

linh hoạt, giúp chia nhỏ ứng dụng thành các phần riêng biệt: Model (dữ liệu), View (hiển thị) và Controller (xử lý logic) Điều này tạo ra sự tách biệt giữa giao diện người dùng và logic xử lý, làm cho việc phát triển ứng dụng dễ dàng hơn

- ORM (Object-Relational Mapping): Spring hỗ trợ nhiều cách tiếp cận để

tương tác với cơ sở dữ liệu thông qua ORM Spring Data giúp giảm độ phức tạp của việc làm việc với cơ sở dữ liệu và cung cấp các tiện ích như JPA (Java Persistence API), Hibernate, và MyBatis

- Transaction Management: Spring cung cấp mô hình quản lý giao dịch linh

hoạt, cho phép bạn quản lý giao dịch trong môi trường Java EE hoặc standalone

- Testability: Spring làm cho việc kiểm thử dễ dàng hơn bằng cách hỗ trợ việc

chia nhỏ ứng dụng thành các thành phần độc lập có thể kiểm thử được Nó cũng cung cấp các công cụ hỗ trợ kiểm thử như Spring Test và JUnit

- Đa dạng các module: Spring cung cấp nhiều module khác nhau cho các nhu

cầu khác nhau như Spring Security cho bảo mật, Spring Batch cho xử lý hàng loạt, Spring Integration cho tích hợp, và nhiều module khác nữa

1.3.2 Thư viện Thymeleaf

Thymeleaf là một template engine (máy mẫu) cho phát triển ứng dụng web Java Nó cung cấp cú pháp đơn giản và mạnh mẽ để tạo ra các giao diện người dùng động và tương tác trên máy chủ

Một trong những đặc điểm nổi bật của Thymeleaf là khả năng tích hợp tốt với Spring Framework Nó được thiết kế để làm việc tốt với Spring và hỗ trợ đầy đủ các

Trang 24

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 9 tính năng của Spring như Dependency Injection và Spring Security Thymeleaf có thể sử dụng như một phần của cấu trúc Spring MVC để tạo ra các trang web động

Thymeleaf sử dụng cú pháp dựa trên HTML, giúp làm cho các template dễ đọc và dễ hiểu Nó cung cấp các thuộc tính và các thẻ (tags) đặc biệt để tương tác với dữ liệu và logic trong ứng dụng Với Thymeleaf, bạn có thể thực hiện các tác vụ như hiển thị dữ liệu từ mô hình Java, điều hướng, điều kiện, lặp lại các phần tử, xử lý biểu mẫu, và nhiều hơn nữa

Một điểm mạnh khác của Thymeleaf là khả năng xem trước (preview) template Điều này cho phép bạn xem trước cách dữ liệu sẽ được hiển thị trong template mà không cần triển khai ứng dụng hoàn chỉnh Điều này rất hữu ích trong quá trình phát triển và kiểm tra

Thymeleaf cũng hỗ trợ nhiều tính năng bảo mật như tránh XSS (Cross-Site Scripting) và CSRF (Cross-Site Request Forgery) Nó giúp bảo vệ ứng dụng khỏi các cuộc tấn công thông qua việc xác thực và kiểm tra dữ liệu đầu vào

Với tính năng linh hoạt và tích hợp tốt với Spring Framework, Thymeleaf đã trở thành một lựa chọn phổ biến cho việc phát triển giao diện người dùng trong các ứng dụng web Java Nó giúp đơn giản hóa việc tạo ra giao diện động và tạo điểm giao tiếp mạnh mẽ giữa lập trình viên và nhà thiết kế giao diện

Hình 1.6 Icon Thymeleaf

1.3.3 Thư viện Bootstrap

Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễ dàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bị cầm tay như mobile, ipad, tablet,

Trang 25

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 10

Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo ra một mẫu webiste hoàn chỉnh Với các thuộc tính về giao diện được quy định sẵn như kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩm mới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá trình thiết kế giao diện website

Hình 1.7 Icon Bootstrap

Trang 26

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 11

1.4 Công cụ hỗ trợ xây dựng hệ thống 1.4.1 Interlij

IntelliJ IDEA là một môi trường phát triển tích hợp (IDE) mạnh mẽ và phổ biến dành cho phát triển phần mềm Được phát triển bởi JetBrains, IntelliJ IDEA cung cấp nhiều tính năng và công cụ hỗ trợ cho việc phát triển ứng dụng Java, Kotlin, Groovy, Scala và nhiều ngôn ngữ lập trình khác

IntelliJ IDEA có một giao diện người dùng thân thiện và tùy chỉnh, giúp lập trình viên tập trung vào công việc phát triển Nó cung cấp một loạt các tính năng như gợi ý mã thông minh, tự động hoàn thành mã, kiểm tra lỗi cú pháp và lỗi logic, và tạo ra mã đồng thời Nó cũng hỗ trợ tích hợp với các công cụ quản lý phiên bản như Git và SVN, và có khả năng tích hợp với hệ thống build phổ biến như Maven và Gradle

IntelliJ IDEA cung cấp một loạt các công cụ hỗ trợ cho việc kiểm thử và gỡ lỗi ứng dụng Nó cung cấp khả năng chạy và gỡ lỗi ứng dụng trực tiếp từ IDE, cho phép kiểm tra các đoạn mã theo từng bước và giải quyết các lỗi một cách hiệu quả Ngoài ra, IntelliJ IDEA còn cung cấp tính năng kiểm tra và tối ưu hóa mã, giúp tăng hiệu suất và chất lượng của ứng dụng

Một trong những ưu điểm của IntelliJ IDEA là khả năng tích hợp với một số framework phổ biến như Spring, Hibernate, và Android Nó cung cấp các công cụ và tính năng đặc biệt để hỗ trợ phát triển ứng dụng sử dụng các công nghệ này

IntelliJ IDEA có một phiên bản cộng đồng miễn phí (IntelliJ IDEA Community Edition) và một phiên bản trả phí (IntelliJ IDEA Ultimate Edition) với nhiều tính năng mở rộng hơn Dù là phiên bản miễn phí hay phiên bản trả phí, IntelliJ IDEA đều là một lựa chọn phổ biến và mạnh mẽ cho lập trình viên Java và các ngôn ngữ lập trình khác

Trang 27

Xây dựng website đặt đồ ăn nhanh

SVTH: Đỗ Huỳnh Ngọc Thế Trang 12

Hình 1.8 Ảnh minh họa Interlij

1.5 Lý thuyết xây dựng website

Mô hình hoạt động MVC (Server Side Rendering): • Người dùng gửi yêu cầu (HTTP Request) qua một trình duyệt web bất kỳ Yêu cầu

này có thể kèm theo những dữ liệu tới Controller xử lý Bộ Routing điều hướng sẽ xác định Controller xử lý

• Khi Controller nhận được yêu cầu, nó sẽ kiểm tra yêu cầu đó có cần dữ liệu từ Model hay không Nếu có sẽ dùng các class/function trong Model sau đó trả ra kết quả Khi đó, Controller cũng sẽ xử lý các giá trị đó và trả ra view để hiển thị Controller sẽ xác định các View tương ứng và hiển thị đúng theo yêu cầu

• Khi View nhận được giá trị từ Controller, chúng sẽ xây dựng các thành phần hiển thị như hình ảnh, thông tin dữ liệu, … rồi trả về GUI content để Controller đưa ra kết quả và hiển thị lên màn hình Browser

• Browser sẽ nhận được giá trị trả về và hiển thị với người dùng và kết thúc quá trình hoạt động

Ngày đăng: 17/09/2024, 14:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w