1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp

90 4 0

Đ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 đề Xây Dựng Sàn Thương Mại Điện Tử Đa Nền Tảng (Website + Mobile)
Tác giả Hồ Đại Huynh
Người hướng dẫn Trần Hữu Duật
Trường học Đại Học Bình Dươ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 2023
Thành phố Bình Dương
Định dạng
Số trang 90
Dung lượng 5,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong khuôn khổ của bài tiểu luận này, với những giới hạn về mặt kiến thức và thời gian thực hiện, cũng như chuyên môn và những khó khăn trong việc sử dụng phương pháp phân tích thiế

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN, ROBOT VÀ TRÍ TUỆ NHÂN TẠO



ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI:

Xây dựng sàn thương mại điện tử đa nền

tảng (Website + Mobile)

Giảng viên hướng dẫn: Trần Hữu Duật Sinh viên thực hiện: Hồ Đại Huynh

Bình Dương, Tháng 01/2023

Trang 2

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

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

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

Trang 3

NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN

CÁN BỘ PHẢN BIỆN

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

Trang 4

LỜI CÁM ƠN

Xin chân thành cảm ơn các giảng viên đã truyền đạt kiến thức chuyên môn, luôn luôn giúp đỡ, định hướng nghề nghiệp, những kỹ năng tốt nhất trong suốt quá trình học tập để chúng em có thể hoàn thành bài báo cáo này

Em xin dành chương này để bày tỏ những điều sâu sắc nhất lòng biết ơn đến tất cả những thầy đã hướng dẫn cho em sự hỗ trợ quý báu trong suốt thời gian thực hiện dự

án này

Trước hết chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của giản viên hướng dẫn Thầy Trần Hữu Duật và thầy Huỳnh Quang Đức, dành lời khuyên và khuyến khích của các thầy đã giúp chúng em vượt qua không chỉ những thách thức

về công nghệ mà còn cả những căng thẳng về tâm lý

Thứ hai, em cảm ơn Nhà trường đã tạo điều kiện cho chúng em đến văn phòng khoa Công Nghệ Thông Tin để được các anh chị trao đổi hướng dẫn em trong suốt quá trình thực hiện đồ án Em học được những kinh nghiệm từ dự án này sẽ tạo điều kiện thuận lợi cho sự nghiệp tương lai của chúng em Ngoài ra, Em cũng xin gửi lời cảm

ơn đến toàn thể cán bộ nhân viên của văn phòng khoa những người không chỉ cho em

cơ hội học tập và trao đổi với họ trong dự án này, mà còn cũng đã hỗ trợ và động viên

họ trong suốt quá trình

Cuối cùng, Em muốn bày tỏ lời cảm ơn cá nhân của em đến tất cả những người thân yêu của em các bạn cùng khóa và các anh chị khóa k19 và khóa k20, những người luôn sẵn sàng hỗ trợ em một cách cởi mở và nhiệt tình

SINH VIÊN THỰC HIỆN

Trang 5

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÌNH DƯƠNG

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

ĐỀ CƯƠNG CHI TIẾT Tên đề tài: Xây dựng sàn thương mại điện tử đa nền tảng

Giảng viên hướng dẫn: Trần Hữu Duật

Thời gian thực hiện: Từ ngày 22 tháng 10 năm 2022 đến ngày 18 tháng 01 năm

2023

Sinh viên thực hiện: Hồ Đại Huynh - Mssv: 18050124

Nội dung đề tài:

Lý do chọn đề tài: Hiện nay thị trường trong nước về việc cạnh tranh về kinh

doanh ngày càng trở lên quyết liệt và hầu hết những nhà kinh doanh, những công

ty lớn đều rất chú tâm đến việc làm thỏa mãn khách hàng một cách tốt nhất So

với việc kinh doanh truyền thông thì thương mại điện tử chi phí thấp hơn, hiệu

quả đạt cao hơn Với lợi thế của công nghệ Internet nên việc truyền tải thông tin

về sản phẩm nhanh chóng, thuận tiện Kết hợp với hộ phân giao hàng tân nơi,

thanh toán tại chỗ hoặc chuyễn khoản

Biết được những nhu cầu đó nên em muốn làm ra “Một sàn thương mại điện tử đa nền tản trên Website và trên Mobile” được xây dựng trên đa nền tảng nhằm để

đáp ứng cho mọi người tiêu dùng trên tỉnh Bình Dương nói riêng và trên toàn

quốc nói chung và thông qua hệ thống đa nền tản này giúp mọi người có thể:

Tiết kiệm thời gian được giao hàng tận nhà

Không tốn công vận chuyển

Có thời gian nghiên cứu sản phẩm của mình

So sánh giá cả một cách dễ dàng

Trang 6

Có thể tha hồ lựa chọn các sản phẩm đa dạng

Thanh toán tiện lợi và an toàn

Do đó, với sự ra đời của sàn đa nền tảng này thì mọi người có thể mua mọi thứ hàng hóa mọi lúc mọi nơi mà không cần phải tới tận nơi để mua

Tính Mới: Khác với các sàn thương mại điện tử khác đó là em sử dụng Callbot

(để chuyễn giọng nói thành văn bản giúp người dùng có thể tìm kiếm sản phẩm

bất kỳ nào đó nhanh hơn giúp tiếp kiệm thời gian để kéo tìm sản phẩm)

Có thể thanh toán trực tiếp qua ngân hàng hoặc qua ví điện tử momo, ví Paypal

Ý Tưởng: Lập trình theo mô hình MVC trong java:

Model: có chức năng quản lý và xử lý dữ liệu

View: có nhiệm vụ hiển thị dữ liệu cho người dùng

Controller: có chức năng điều khiển tương tác giữa Model và View

Mô hình MVC trong Java giúp lập trình viên dễ dàng tách biệt giữa cách thức dữ liệu nội hàm với dữ liệu hiển thị Sự tương tác qua lại giữa ba thành tố Model,

View, Controller tạo nên hiệu quả tốt nhất cho việc lập trình

Kế hoạch xây dựng website:

Đối với phần quản lý (admin) có 8 tiêu chí:

Làm thế nào để quản trị viên có thể đăng nhập?

Làm thế nào để đăng ký tài khoản?

Làm thế nào để lấy lại mật khẩu đã quên?

Quản trị viên quản lý đơn hàng như thế nào?

Làm cách nào để quản trị viên có thể xuất báo cáo?

Quản trị viên quản lý doanh thu như thế nào?

Quản trị viên quản lý nhân viên như thế nào?

Quản trị viên quản lý tài khoản shipper

Đối với khách hàng của sàn thương mại điện tử:

Giao diện web thân thiện với người dùng

Xem thông tin sản phẩm

Trang 7

Cung cấp nhiều loại sản phẩm phù hợp với nhiều sở thích của khách hàng Mặt hàng bán chạy nhất

Top sản phẩm mới cập nhật

Thông tin cụ thể, chi tiết từng sản phẩm, phân theo chủng loại, nhãn hiệu Tìm kiếm thông tin sản phẩm dễ dàng

Cho phép khách hàng đăng ký, đăng nhập và đảm bảo bảo mật thông tin khách hàng Thêm giỏ hàng, đặt hàng nhanh chóng

Thanh toán mã vận chuyển Thanh toán trực tuyến bằng paypal

Gửi email tương tác với khách hàng (thiếu nại hoặc tài khoản có sự cố)

Đối với phần quản lý các chức năng:

Đầu vào của hệ thống: Cung cấp giá theo kg, mặt hàng

Khách hàng phải cung cấp thông tin tài khoản như Sdt, gmail, họ tên để tạo tài khoản

Khách hàng cung cấp giấy tờ về hàng hóa, nguồn gốc, hoặc giấy kiểm định gì đó Phương pháp thực hiện:

Khách hàng (user) có thể tao tác:

Xem các trang trong ứng dụng

Đăng ký

Nếu khách đã đăng ký : Đăng nhập bằng Gmail hoặc đăng xuất

Chọn đồ để mua rồi đặc hành thanh toán

Xem lịch sử đặt hàng

Phản hồi

Về Mặc công nghệ :

Frontend : sử dụng HTML5, CSS, JQUERY 3.4.1, Javascript 1.5, Bootrap 4 Backend : API, QR CODE, JAVA, SPRINGBOOT, ANRDOI, TOMCAT Kết quả mong đợi:

Đảm bảo hoàn thành các chức năng cơ bản, cần thiết và triển khai ứng dụng chạy thử nghiệm,Thiết kế giao diện thân thiện, dễ sử dụng

Trang 8

Yêu cầu hệ thống (3 ngày)

Từ 14/11/2023

đến 26/11/2023

Vẽ biểu đồ DFD (luồng dữ liệu) (3 ngày)

Vẽ biểu đồ Use case Diagram và trình tự biểu đồ (3 ngày)

Vẽ mô hình thực thể ERD (3 ngày) Thiết kế bảng Database (3 ngày)

Từ 26/11/2023

Đến 3/12/2023

Lên Layout hoàn chỉnh cho Web (4 ngày) Đăng nhập – đăng ký Web (4 ngày) Quên mật khẩu Web (2 ngày)

Kiển tra được Lịch sử giao dịch Web (2 ngày)

Tự tạo code QR-Code cho Sản phẩm (2 ngày) Thay đổi ngôn ngữ Web (2 ngày)

Gửi Gmail Admin (1 ngày)

Từ 22/12/2023

Đến 14/01/2023

Hoàn thiện Layout App Androi (2 ngày) Đăng nhập – đăng ký App Androi (3 ngày) Quên mật khẩu App Androi (3 ngày)

Trang 9

Fix Api App Androi (3 ngày) Tải lên hình ảnh sản phẩm App Androi (1 ngày) Kiểm tra được Lịch Sử giao dịch Androi (2 ngày) Tìm kiếm – Androi (2 ngày)

Chi tiết sản phẩm App Androi (3 ngày) Thay đổi ngôn ngữ App Androi (3 ngày) Hoàn thiện phần liên hệ (1 ngày)

Từ 14/01/2023

Đến 18/01/2023

Kiểm thử phần mềm (3 ngày) Hoàn thiện báo cáo (1 ngày)

TRƯỞNG KHOA

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

Bình Dương, ngày… tháng 1 năm 2022

CB HƯỚNG DẪN (Ký tên và ghi rõ họ tên)

Trang 10

Mục Lục

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

NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 2

LỜI CÁM ƠN 3

ĐỀ CƯƠNG CHI TIẾT 4

MỞ ĐẦU 13

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 15

1.1 TÊN ĐỀ TÀI 15

1.2 LÝ DO CHỌN ĐỀ TÀI 15

1.3 MỤC ĐÍCH, LÝ DO CHỌN ĐỀ TÀI 15

1.4 PHƯƠNG PHÁP NGHIÊN CỨU 16

1.5 PHẠM VI, ĐỐI TƯỢNG ĐỀ TÀI 16

1.6 Ý NGHĨA THỰC TIỂN CỦA ĐỀ TÀI 16

Chương 2 Cơ sở lý thuyết 18

2.1 Xây dựng thiết kế một sàn thương mại điện tử hoàng chỉnh 18

2.2 Các chức năng trong một sàn thương mại điện tử 18

2.3 Công nghệ sử dụng 19

2.3.1 Sử dụng công nghệ Spring boot 19

2.3.1.1 Ưu điểm của Spring boot 19

2.3.2 Thư viện Spring security có những gì? 20

2.3.3 Sử dụng ngôn ngữ lập trình Javascript 21

2.3.4 Sử dụng ngôn ngữ HTML, CSS lập trình 26

2.3.5 SQL Server (Database cơ sở dữ liệu) 27

2.4 Môi trường phát triển 31

2.4.1 Công cụ để phát triển lên dự án 31

2.4.2.1 Phần mềm Android Studio 33

2.4.3 Phần mềm giả lập môi trường server hosting Xampp 36

Chương 3: Phân tích và thiết kế hệ thống 39

3.1 CẤU TRÚC CỦA ĐỀ TÀI 39

3.1.1 Mô hình MVC WEBSITE LÀ GÌ? 39

3.1.2 Mô hình REST API: 42

3.2 Vẽ biểu đồ Use case Diagram và trình tự biểu đồ 44

3.2.1 Khách hàng truy cập 44

Trang 11

3.2.3 Admin (người quản lý toàn bộ hệ thống) 49

3.3 Thiết kế bản database (cở sở dữ liệu) 53

3.3.1 Bảng Orders (đặc hàng) 53

3.3.2 Bảng orders_detail (chi tiết đơn hàng) 54

3.3.3 Bảng user_role (vai trò người dùng) 54

3.3.4 Bảng favorites (yêu thích mặc hàng) 54

3.3.5 Bảng products (Các mặt hàng) 54

3.3.6 Bảng User (Người sử dùng) 55

3.3.7 Bảng role (Vai trò người sử dụng) 55

3.3.8 Bảng categories (Loại sản phẩm) 55

3.3.9 Bảng comments (Bảng bình luận) 56

3.3.10 Bảng Menu Androi (Menu bên App Mobile) 56

Chương 4 Khai triển ứng dụng 57

4.1 Cài đặc 57

4.1.1 Cài đặt công cụ phát triển 57

4.2 Tạo cơ sở dữ liệu 57

4.3 Chạy chương trình 60

4.4 Kiểm thử chương trình Website 64

4.5 Kiểm thử chương trình App Mobile 80

Chương 5 Kết quả đạt được 87

5.1 Ưu điểm 87

5.2 Hạn chế 87

5.3 Hướn phát triển 88

DANH MỤC TÀI LIỆU THAM KHẢO 89

Trang 12

Danh Mục Hình Ảnh

hình 1: Javascrip là gì? 22

hình 2: Jquery là gì? 25

hình 3: Ngôn ngữ lập trình Html và Css 26

hình 4: Phần mềm Intellij Idea 31

hình 5: Phần mềm Androi Studio 34

hình 6: Bộ nhớ Cpu 36

hình 7: Hosting Xampp 37

hình 8: Mô hình tổng quát của đề tài 39

hình 9: Mô hình MVC 40

hình 10: Luồng xử lý MVC 40

hình 11: Luồng xử lý MVC 43

hình 12: Use case khách hàng 44

hình 13: Trình tự khách hàng mua hàng 44

hình 14: Quy trình khách hàng thanh toán 45

hình 15: Trình tự khách hàng tạo đơn hàng 46

hình 16: Quy trình khách hàng thanh toán 47

hình 17: Admin quản lý hệ thống 49

hình 18: Quy trình khi admin đăng nhập 50

hình 19: Quy trình kiểm duyệt đơn hàng 51

hình 20: Quy trình xử lý đơn hàng 51

hình 21: Admin quản lý doanh thu 52

hình 22: Quy trình Admin quản lý doanh thu 52

hình 23: Bảng database tổng quát 53

hình 24: Hosting Xampp 57

hình 25: Localhost:phpmyadmin 58

hình 26: Đưa cơ sở dữ liệu vào Locahost 58

hình 27: Xác nhận đưa file lên 58

hình 28: Sau khi đưa file lên host 59

hình 29: Coppy file database của App Mobile 59

hình 30: Tìm kiếm đến thư mục Htdocs 60

hình 31: Ứng dụng Xampp 60

hình 32: Chạy chương trình Intellij Idea 61

hình 33: Mở thư mục project 61

hình 34: Chỉnh sửa ip 62

hình 35: Chạy Project 63

hình 36: Chạy project thành công 63

hình 37: Trang chủ Website 63

hình 38: Form đăng nhập 64

hình 39: Quản lý tài khoản user 64

hình 40: Quản lý phân quyền cho user 65

hình 41: Quản lý thể loại 66

hình 42: Thêm mới thể loại 66

hình 43: Quản lý giải đáp thắc mắc 67

hình 44: Thêm mới câu trả lời 67

Trang 13

hình 46: Quản lý sản phẩm 69

hình 47: Quản lý thêm mới sản phẩm 69

hình 48: Quản lý xác nhận đơn đơn hàng 70

hình 49: Quản lý khách hàng 71

hình 50: Quản lý thông kê 72

hình 51: Quản lý thông kê thể loại mặc hàng 72

hình 52: Quản lý doanh thu theo tháng 73

hình 53: Quản lý doanh thu theo từng quý 74

hình 54: Quản lý doanh thu theo năm 74

hình 55: Quản lý thông kê doanh thu theo từng khách hàng 75

hình 56: Gợi ý các sản phẩm bán chạy 76

hình 57: Tài khoản nhân viên 77

hình 58: Khách hàng kiểm tra thông tin 78

hình 59: Khách hàng tìm kiếm sản phẩm 78

hình 60: Khách hàng tìm kiểm sản phẩm thành công 78

hình 61: Khách hàng thêm sản phẩm vào giỏ hàng 79

hình 62: Khách hàng điền đầy đủ thông tin để thanh toán 79

hình 63: Khách hàng chờ nhân viên kiểm duyệt gửi hàng 80

hình 64: Banner khi vào App Mobile 81

hình 66: Đăng nhập 81

hình 65: Đăng ký 81

hình 67: Giao diện menu của App 82

hình 68: Giao diện trang chủ App 82

hình 69: Danh mục trái cây 83

hình 70: Danh mục rau 83

hình 71: Giỏ hàng 84

hình 72: Chi tiết sản phẩm 84

hình 73: Lịch sử giao dịch 85

hình 74: Thanh toán đơn hàng 85

hình 75: Thông tin liên hệ góp ý 85

Trang 14

MỞ ĐẦU

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

Trong thời đại công nghệ thông tin và máy tính, con người có thể làm bất cứ thứ gì ở nhà, chỉ cần kết nối internet và sử dụng các dịch vụ trực tuyến Cho nên em đang phát triển một trang sàn thương mại điện tử đã nền tảng

Trong khuôn khổ của bài tiểu luận này, với những giới hạn về mặt kiến thức

và thời gian thực hiện, cũng như chuyên môn và những khó khăn trong việc sử dụng phương pháp phân tích thiết kế, là phương pháp thiết kế còn khá mới mẻ đối với sinh viên chuyên ngành công nghệ thông tin, cùng với việc xây dựng một trang Web trên môi trường lập trình Spring Boot, và lập trình app trên phần mềm Androi studio Do đó mặc dù chúng em đã rất cố gắng tiếp cận những công nghệ mới nhưng có lẽ phần mềm của chúng em cũng không tránh khỏi các thiếu sót Chúng em mong được sự đóng góp ý kiến của quý thầy cô và các bạn để phần mềm của chúng em hoàn chỉnh hơn

Nội dung đề tài được tổ chức thành 5 chương:

Chương 1: Tổng quan về đề tài

Trong chương này chúng em giới thiệu tên đề tài, lý do chọn đề tài, đề

ra mục tiêu và phương thức thực hiện, ý nghĩa thực tiễn khi thực hiện đề tài thành công

Chương 2: Cơ sở lý thuyết

Trong chương này chúng em tiến hành tham khảo thực tế của các sàn thương mại điện tử như Lazada, Tiki, Shoppe, … Xác định yêu cầu của bài toán đặt ra Khảo sát hiện trạng tin học và xem xét khả năng triển khai để xác định môi trường phát triển tối ưu nhất và các công nghệ sẽ áp dụng thực hiện

Trang 15

Từ đó xây dựng yêu cầu chức năng của phần mềm và các yêu cầu phi chức

năng

Chương 3: Phân tích yêu cầu và thiết kế hệ thống

Bước tiếp theo chúng em tiến hành phân tích và xác định các chức năng chính (mục tiêu để xây dựng phần mềm) Cũng trong chương này

chúng em phân tích chi tiết từng chức năng, lên ý tưởng cho phương thức hoạt động của phần mềm, khai thác tất cả các yếu tố liên quan đến thực tại, hướng phát triển tương lai để xây dựng một cơ sở dữ liệu tương đối “lớn” và

“rộng” để dễ dàng hiện thực và phát triển ở tương lai

Chương 4: Khai triển ứng dụng

Chúng em đã có “khung xương” chức năng ở trên, tạm gọi cơ sở dữ liệu là phần cơ thì đây là bước chúng em thiết lập cho “sự sống” là phần mềm Chúng em tiến hành triển khai ý tưởng thiết kế cho giao diện, xây dựng chức năng Và chúng em muốn tạo ra một “cơ thể mới”, một phần mềm mới thoát khỏi “lối mòn phần mềm truyền thống”

Chương 5: Kết luận

Sau một quá trình miệt mài với công việc, dù gặp lắm khó khăn nhưng đây là lúc để chúng em nhìn lại thành quả lao động của mình Dù còn nhiều những ý tưởng nhưng đối với những sinh viên như chúng em khi hiện thực nó

là điều không dễ dàng Đây là lúc chúng em tổng kết lại những mặt đạt được, những mặt chưa đạt được và đề xuất hướng phát triển

Trang 16

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 TÊN ĐỀ TÀI

Xây dựng sàn thương mại điện tử đa nền tảng (Website + Mobile)

1.2 LÝ DO CHỌN ĐỀ TÀI

Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều rất chú tâm đến việc làm thoả mãn khách hàng một cách tốt nhất So với kinh doanh truyền thống thì sàn thương mại điện tử chi phí thấp hơn, hiệu quả đạt 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 về sản phẩm nhanh chóng, thuận tiện Kết hợp với bộ phận giao hàng tận nơi, là thông qua bưu điện và ngân hàng để thanh toán tiền, càng tăng thêm thuận lợi để loại hình này phát triển Biết được những nhu cầu đó chương trình “Xây dựng sàn thương mại điện tử” được xây dựng trên nhiều nền tảng Website và App Mobile nhằm để đáp ứng cho mọi người tiêu dùng trên toàn quốc và thông qua hệ thống này họ có thể đặt mua các mặt hàng hay sản phẩm cần thiết Do đó, với sự ra đời của sàn thương mại điện tử bán hàng qua mạng, mọi người có thể mua mọi thứ hàng hóa mọi lúc mọi nơi mà không cần phải tới tận nơi để mua

Trên thế giới có rất nhiều trang website bán hàng trực tuyến nhưng vẫn chưa được phổ biến rộng rãi Và khái niệm thương mại điện tử còn khá xa lạ Trước thực

tế đó em đã chọn đề tài: “Xây dựng sàn thương mại điện tử đa nền” cho đề tài khóa luận tốt nghiệp của mình

1.3 MỤC ĐÍCH, LÝ DO CHỌN ĐỀ TÀI

Hệ thống thông tin “Sàn Thương Mại Điện Tử” theo yêu cầu của các cá nhân,

cơ quan, công ty…Việc bán hàng đòi hỏi cần phải có tư duy, đầu óc kinh doanh và khả năng nhạy bén nắm bắt thị trường Một cửa hàng bán các mặt hàng không cần nhiều nhân viên, khách hàng không cần trực tiếp đến mua hàng mà có thể tại nhà dùng vài cái click chuột thì có thể có được sản phẩm mình cần Việc tạo ra một website và một app trên điện thoại bán hàng trực tuyến sẽ gặp nhiều khó khăn trong việc bảo mật thông tin, cũng như uy tín đến khách hàng

Trang 17

1.4 PHƯƠNG PHÁP NGHIÊN CỨU

Về Mặt lý thuyết:

- Tìm hiểu lập trình, cách thức hoạt động về spring boot rest API

- Tìm hiểu về Google translate API

1.5 PHẠM VI, ĐỐI TƯỢNG ĐỀ TÀI

Xây dựng Website và App trên điện thoại androi để bán sản phẩm rau củ quả hạt giống Trong thời đại mới thì thương mại điện tử ngày càng phát triển, việc ứng dụng vào hoạt động “sàn thương mại điện tử” đã mang lại nhiều ý nghĩa như:

Đỡ tốn nhiều thời gian cho người mua hàng cũng như nhà quản lý trong việc tham gia hoạt động bán hàng một cách hiệu quả

Giúp người mua hàng có thể so sánh được giá cả và hình ảnh sản phẩm một cách chính sát

Giúp nhà quản lý tiết kiệm được thời gian công sức và dễ dàng hơn trong việc quản lý sản phẩm

Nhà quản lý có thể thống kê các sản phẩm bán chạy một cách nhanh nhất giúp cho các hoạt động kinh doanh đạt doanh thu hiệu quả

1.6 Ý NGHĨA THỰC TIỂN CỦA ĐỀ TÀI

1.6.1 Đối với nhà quản lý

Có thể xem các đánh giá, góp ý của người tiêu dùng trên từng mặt hàng

Có thể quản lý các thể loại và thêm sửa xóa mặt hàng một cách nhanh chóng

Trang 18

Thống kê báo cáo sản phẩm, thông tin khách hàng, chi tiết doanh thu từng khách hàng

Xuất file báo cáo cho cửa hàng hằng tháng, năm, quý giúp quản lý được doanh thu của sàn

1.6.2 Đối với sinh viên

Nhóm đã tự thiết kế mô hình, thiết kế database dựa trên những tài liệu thu thập, những quy trình đã tìm hiểu và sự hướng dẫn của giảng viên hướng dẫn Sau đó thực hiện viết code để thực hiện hóa hệ thống Cho chạy thử ở local và sau đó là trêm server Azure

Trang 19

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Xây dựng thiết kế một sàn thương mại điện tử hoàng chỉnh

Tầm quan trọng việc thiết kế website bán nông sản

Sau khi tìm hiểu thì em rút ra ngày nay, công nghệ thông tin ngày càng phát triển đã thay đổi nhận thức kinh doanh của toàn xã hội Có thể thấy, các sản phẩm, dịch vụ đều được bày bán trên Internet một cách hiệu quả kể cả mặt hàng nông sản

Vì thế em đã suy nghĩ được xem là điều cần thiết bên cạnh các trang mạng xã hội Ngoài ra, giờ đây cuộc sống ngày càng được nâng cao về chất lượng vì thế nhu cầu tìm kiếm nguồn gốc, xuất xứ, chất lượng hàng hóa thực phẩm của người tiêu dùng ngày càng trở nên khắt khe hơn Chính vì thế, bên cạnh nâng cao chất lượng sản phẩm nông sản, truyền thông thương hiệu, khẳng định sự uy tín, chuyên nghiệp thì việc thiết kế lên một “Xây Dựng Sàn Thương Mại Điện Tử” chính là giải pháp tối ưu nhất được em lựa chọn làm đề tài tốt nghiệp Trong bối cảnh đó, em đã nghĩ đến giải pháp thiết kế sàn thương mại bán hàng nông sản nhằm hỗ trợ các thương lái bán rau củ tại địa phương em đưa lên sàn thương mại điện tử một cách nhanh chóng và ít tốn kém chi phí phải thuê các sạp bán

2.2 Các chức năng trong một sàn thương mại điện tử

Thiết kế đồ họa, giao diện: Thiết kế giao diện đẹp, giao diện phù hợp các loại

như: Máy tính bàn, Laptop, Ipad, điện thoại, …

Module giới về sàn: Trình bày thông tin về trang Website, Công khai các thiếu

nại và góp ý trên trang Web, được đánh giá sản phẩm theo 1 đến 5 sao và kèm bình luận

Module giới thiệu về sản phẩm, dịch vụ: Cung cấp cho khách hàng những

thông tin cần thiết về các sản phẩm dịch vụ được chia theo danh mục mỗi danh mục

có nhiều sản phẩm bên trong trình bày dưới dạng list sản phẩm, giá cả Các thành phần này có thể bao gồm hình ảnh, mô tả và giá thành và không giới hạn danh mục sản phẩm

Module khách hàng: Bảo mật thông tin khách mua hàng

Trang 20

Module quản lý sản phẩm: Có thể thêm/xóa/sửa các thể loại sản phẩm, không

giới hạn số lượng, số phần trăm giảm giá

Module giỏ hàng: Bao gồm các chức năng giỏ hàng, đơn hàng, quản lý khách

hàng… Khách hàng có thể chọn hàng và đăng ký đặt mua hàng một cách dễ dàng, thanh toán online qua Paypal hoặc nhận hàng kiểm tra xong mới thanh toán

Module sản phẩm mới: Hiển thị các sản phẩm mới nhất của Sàn các hình ảnh tiêu biểu, khách hàng có thể click vào hình sản phẩm để xem thông tin và hình ảnh mô tả chi tiết về sản phẩm đó

Module sản phẩm bán chạy nhất sàn: Hiển thị các sản phẩm được mua thích

nhiều nhất của sàn thông qua hình ảnh tiêu biểu, khách hàng có thêm xem ở đầu trang chủ và các thông tin mô tả chi tiết về các sản phẩm đó một cách cụ thể

Module tiện ích, thăm dò ý kiến: Giúp bạn thu thập được những phản hồi

của khách hàng một cách hiệu quả nhất

Module tìm kiếm: Cho phép tìm các thông tin trên website bằng các từ khóa

có liên quan

Module quảng cáo: Cho phép đặt các quảng cáo logo, banner trên website Module tuyển dụng: Hiển thị thông tin tuyển dụng, cơ hội việc làm

2.3 Công nghệ sử dụng

2.3.1 Sử dụng công nghệ Spring boot

Spring Boot là một trong số các module của Spring framework, cung cấp tính năng RAD (Rapid Application Development) Spring Boot được sử dụng để tạo ra một ứng dụng độc lập dựa trên Spring mà có thể chạy ngay với rất ít cấu hình cần thêm Spring Boot không cần đến bất kỳ cấu hình xml nào, mà nó sử dụng quy ước

về mô hình thiết kế phần mềm theo cấu hình, có nghĩa là nó giảm tải công việc cho các lập trình viên

2.3.1.1 Ưu điểm của Spring boot

Những ưu điểm đó bao gồm:

Tạo các ứng dụng Spring độc lập có thể được chạy bằng bằng cách sử dụng lệnh java

Trang 21

Được nhúng sẵn Web sever Tomcat, Jetty hoặc Undertow Không cần triển khai bằng các tệp WAR

Cung cấp sẵn các thư viện ‘starter’ để đơn giản hóa cấu hình Maven/Gradle (Maven là một công cụ quản lý dự án phần mềm được sử dụng chủ yếu cho các dự

án dựa trên Java, Gradle là một công cụ tự động hóa xây dựng nguồn mở Đây là công cụ xây dựng chính thức cho Android)

Tự động cấu hình Spring bất cứ khi nào có thể

Nó cung cấp các tính năng “ăn liền” như đo đếm số liệu hay kiểm tra cấu hình của app

Không yêu cầu cấu hình XML

2.3.2 Thư viện Spring security có những gì?

Spring Security là một trong những tính năng cốt lõi quan trọng của Spring Framework, nó giúp chúng ta phân quyền và xác thực người dùng trước khi cho phép

họ truy cập vào trang web quản trị của mình

2.3.2.1 Thuật ngữa thư viện Spring security

Có 9 thuận ngữ được sử dụng trong bài như: Authentication, Authorization, Principle, Gran-ted authority, Role, Encoding, En-crypt và Hashing

2.3.2.2 Thuật ngữ thư viện Authentication

Authentication: quá trình xác minh người dùng, dựa vào thông tin đăng nhập

mà người dùng cung cấp Ví dụ khi đăng nhập vào hệ thống, bạn nhập tài khoản và mật khẩu, nó giúp hệ thống nhận ra bạn là khách hàng nhân viên hay là admin quản

2.3.2.3 Thuật ngữ thư viện Authorization

Authorization: Quá tình xác định xem user có quyền thực hiện những chức

năng nào của hệ thống (thêm/sửa/xóa data), sau khi người dùng đã authenticated thành công

Hiểu nôm na thì authentication là cái công thứ nhất, xem người dùng có thuộc

hệ thống hay không, authorization là cái cổng thứ hai, xem người dùng được phép làm những gì trong hệ thống đó

Trang 22

Ví dụ như: nhân viên thì có thể quản lý phần thêm /sữa/xóa /data phần loại hàng mặt hàng nhập

2.3.2.4 Thuận ngữ thư viện Principle

Chỉ authenticated user hiện tại (user đã đăng nhập thành công và thực hiện action hiện tại)

2.3.2.5 Thuật ngữ thư việnGranted authority

Quyền được sát thực người dùng là ai có thể làm những chức năng gì

2.3.2.6 Thuật ngữ thư viện Role

Phần này là một nhóm quyền được admin cấp cho user (nhân viên)

2.3.2.7 Thuật ngữ thư việnEncoding

Quá trình chuyễn đổi dữ liệu từ dạng này sang dạng khác, không sử dụng mã hóa Trong nhiều trường hợp, encoding dùng để giảm độ dài của dữ liệu (video và audio file) Một số kiểu encoding thường dùng: ASCII, BASE64, UNICODE

2.3.2.8 Thuật ngữ thư viện Encrypt

Quá trình chuyễn đổi dữ liệu mà các dữ liệu này cần được bảo vệ Có 2 kiểu encrypt là symetric (đối xứng) và asymetric (bất đối xứng) Về cơ bản thì mã hóa đối xứng là sử dụng 1 khóa (gọi là khóa bí mất) để mã hóa dữ liệu và giải mã dữ liệu, một số thuật toán mã hóa đối xứng thường gặp là AES-128, AES-192, AES-256

2.3.2.9 Thuật ngữ thư viện Hashin

Quá trình chuyển đổi dữ liệu thành một chuỗi hàm Một số giải thuật chuỗi thường gặp: MD5, SHA256 Dữ liệu chuỗi không thể được chuyển đối theo hướng ngược lại (theo lý thuyết) Do vậy, một trong những ứng dụng quan trọng của hashing

là lưu password

2.3.3 Sử dụng ngôn ngữ lập trình Javascript

Javascript là một ngôn ngữ lập trình website, được tích hợp và nhúng trong HTML và giúp cho website trở nên sống động hơn Đây là dạng ngôn ngữ theo kịch bản, được hình thành dựa trên chính đối tượng phát triển có sẵn hoặc đơn giản là tự định nghĩa ra Javascript cho phép bạn kiểm soát các hành vi của trang web tốt hơn

so với việc chỉ sử dụng mỗi HTML Có thể kể đến một vài ứng dụng thực tiễn cực kỳ

Trang 23

quen thuộc của Javascript như slideshow, pop-up quảng cáo hay tính năng autocomplete của Google, … chúng đều được viết bằng ngôn ngữ Javascript

hình 1: Javascrip là gì?

Ứng dụng của Javascript

Hiện nay, Javascript được ứng dụng trong rất nhiều lĩnh vực phổ biến như: Lập trình website Xây dựng ứng dụng cho website máy chủ Ứng dụng di động, app, trò chơi Cụ thể hơn, khi bạn tải một trang web, trình duyệt sẽ phân tích cú pháp HTML và tiến hành tạo ra một loại dữ liệu gọi là DOM từ nội dung DOM sẽ thể hiện chế độ xem trực tiếp của trang web với mã Javascript Đoạn mã này sẽ thực hiện cập nhật cho DOM và được trình bày ngay lập tức trước mắt người dùng

Ngôn ngữ lập trình thông dụng, phổ biến

Javascript được người dùng đánh giá là ngôn ngữ lập trình đơn giản, dễ dàng tìm hiểu cũng như sử dụng Với những cú pháp tương đối giống với tiếng Anh thì việc bạn có thể thực hiện thao tác với Javascript một cách dễ dàng và nhanh chóng Thông qua mô hình DOM được sử dụng, cung cấp tới nhiều tính năng hữu ích, được viết sẵn và đem lại khả năng đáp ứng tốt với những nhu cầu, đòi hỏi khác nhau từ phía người dùng

Với những tính năng hữu ích mà ngôn ngữ lập trình này mang lại thì việc phát triển kịch bản nhằm giải quyết yêu cầu, mục đích cũng trở nên dễ dàng hơn Nhờ vậy

mà những mục đích tùy chỉnh của con người được đáp ứng hiệu quả với sự hỗ trợ tối

đa từ Javascript

Độ nhanh chóng với người dùng cuối

Việc sử dụng ngôn ngữ Javascript có khả năng đảm bảo khi mã được thực hiện trên thiết bị máy tính của người dùng đồng nghĩa với việc quá trình xử lý lẫn kết quả

Trang 24

đều được hoàn thành ngay lập tức Thời gian cụ thể sẽ phụ thuộc vào từng nhiệm vụ tương ứng thời gian nhất định, tuy nhiên thường thì các vấn đề sẽ được giải quyết nhanh chóng

Ứng dụng đa dạng trên nhiều trình duyệt khác nhau

Nhờ vào khả năng sử dụng thông qua nhiều trình duyệt khác nhau nên ngôn ngữ lập trình Javascript ngày càng trở nên phổ biến, được tin dùng và ứng dụng phong phú hơn Bạn có thể dễ dàng bắt gặp ngôn ngữ lập trình này trên nhiều trình duyệt trên máy tính như Chrome, Firefox, … hay cá trình duyệt khác trên thiết bị di động Đây cũng là ưu điểm nổi bật giúp Javascript được ứng dụng hiệu quả, đầy đủ hơn cũng như đáp ứng được nhu cầu của con người một cách tốt nhất

Dễ dàng trong quá trình sử dụng

Sử dụng Javascript đảm bảo cho các lập trình viên có thể dễ học, dễ dàng phát hiện lỗi khi xuất hiện, đồng thời cũng có khả năng hoạt động nhanh chóng, nhẹ nhàng hơn so với các ngôn ngữ lập trình khác Nhờ vậy, quá trình sử dụng cũng thích hợp với nhiều đối tượng người dùng, mang lại hiệu quả cao và tránh những ảnh hưởng không mong muốn có thể xảy ra

Sở hữu giao diện thân thiện, tính năng đa dạng

Javascript được ưa chuộng hơn cả bởi sở hữu giao diện thân thiện, phù hợp với hầu hết mọi đối tượng người dùng khác nhau Không chỉ vậy, ngôn ngữ lập trình này cũng mang lại tính tương tác cao giúp cho quá trình ứng dụng của mỗi người dùng một kết quả ưng ý nhất Javascript cũng sở hữu nhiều tính năng giúp website bạn tạo ra có được hiệu quả sử dụng lý tưởng Tiêu biểu như việc tiến hành thêm slide, slideshow, thực hiện hiệu ứng cuộn khi chuột di tới, tính năng kéo thả, … tất

cả đều được trang bị đầy đủ và mang lại hiệu quả sử dụng tốt nhất cho người dùng Hạn chế của ngôn ngữ Javascript

2.3.3.1 Hạn chế của ngôn ngữ Javascript

Bên cạnh những ưu điểm nổi bật được nhắc tới phía trên, ngôn ngữ lập trình Javascript của chúng ta vẫn còn tồn tại một số hạn chế cần khắc phục

Trang 25

Ngôn ngữ lập trình Javascript dễ bị khai thác: điều này đồng nghĩa với việc bảo mật cho ngôn ngữ này không được đánh giá cao Bởi vậy, trong quá trình sử dụng người dùng cần lưu ý những nguy cơ để chủ động xử lý khi có vấn đề xảy ra

Với Javascript, chúng ta có thể sử dụng để thực thi mã độc trên máy tính của người dùng nên có thể gây những ảnh hưởng hay thiệt hại không nhỏ tới công việc mà chúng

ta đang thực hiện

Javascript có thể không sử dụng được với một số trình duyệt cụ thể trong một

số trường hợp nhất định Điều này gây bất lợi cho một số người dùng khi không thể

sử dụng ngôn ngữ này khi cần thiết

Javascript sở hữu code snippets khá lớn nên có thể khó khăn trong quá trình

sử dụng

2.3.3.2 Hoạt động của ngôn ngữ Javascript trên một website

Việc sử dụng ngôn ngữ Javascript ngày càng trở nên phổ biến, thông dụng đối với nhiều người dùng Với ngôn ngữ này, việc cần làm chỉ là nhúng trực tiếp vào trang web, hoặc được tiến hành tham chiếu thông qua file.js riêng biệt Bởi đây là ngôn ngữ phía client nên script được tải đầy đủ về máy của khách hàng khi truy cập Đồng thời, nó cũng được xử lý ngay tại đó thay vì được xử lý trên server trước khi đưa kết quả tới khách hàng truy cập

Ngoài ra, việc sử dụng ngôn ngữ lập trình này hỗ trợ đầy đủ cho khách hàng khi họ muốn tắt hay mở trên các trình duyệt web được ứng dụng cơ bản hiện nay Nhờ vậy, việc có thể xác định được website hoạt động như thế nào, tình hình thực tế

ra sao khi không có ngôn ngữ Javascript đang hoạt động Javascript được người dùng đánh giá cao bởi khả năng hoạt động đơn giản nhưng vô cùng hiệu quả Hiện nay, ngôn ngữ lập trình này đang được ứng dụng trên nhiều nền tảng khác nhau để đáp ứng nhu cầu của người dùng như:

Sử dụng Javascript cùng HTML, hay CSS để trở thành ngôn ngữ không thể thay thế đối với một website

Có khá nhiều những framework JavaScript khác nhau ở phía front-end, trong đó tiêu biểu như: ReactJS, Vue.js, Angular.js, Angular2, Meteor.js, …

Ngôn ngữ lập trình JS được sử dụng ở phía các server với framework như Node.js

Trang 26

Có một số database sử dụng ngôn ngữ Javascript dưới dạng kịch bản, đồng thời được coi là ngôn ngữ query như CouchDB, MongoDB, …

Dùng ngôn ngữ Javascript ứng dụng trong việc xây dựng ứng dụng của Desktop với framework là Electron, tiêu biểu là những ứng dụng tiêu biểu, nổi tiếng như WordPress.com, Atom, Visual Studio Code, …

Sử dụng ngôn ngữ JS trong việc xây dựng nên các ứng dụng trên điện thoại, đảm bảo đa nền tảng cho Android, hay iOS, … hiệu quả nhằm đáp ứng tốt cho nhu cầu, đòi hỏi khác nhau của người dùng

2.3.3.3 Thư viện Jquery được sử dụng trong bài

jQuery là một thư viện JavaScript, được sử dụng rộng rãi trong lập trình, thiết

kế website nhằm xây dựng các tính năng bằng JavaScript nhanh chóng, đơn giản hơn

Nó không phải là ngôn ngữ lập trình riêng mà liên kết chặt chẽ với JavaScript Các thuật ngữ khác liên quan Ajax jQuery: Công cụ cho phép tải dữ liệu từ máy chủ, không cần load lại trang

jQuery UI: Loại thư viện xây dựng từ jQuery, cho phép tạo giao diện web có

sẵn trong tab, datepicker, accordion

Prop jQuery: Gán giá trị thuộc tính đã được chỉ định, hỗ trợ thay đổi các

thuộc tính riêng biệt cho thẻ HTML theo DOM

jQuery có ưu điểm gì?

Xử lý code nhanh chóng, tiết kiệm thời gian, công sức trong thiết kế website/ viết ứng dụng

hình 2: Jquery là gì?

Trang 27

Sử dụng cho nhiều nền tảng khác nhau, chạy được trên mọi trình duyệt Phát triển các ứng dụng tương thích với trình duyệt - Giúp cải thiện hiệu suất của lập trình web

Dễ dàng tạo các hiệu ứng khác nhau do được hỗ trợ nhiều thuộc tính/ nhiều hàm

Người dùng có thể dễ dàng viết code với các chức năng liên quan đến UI

Hầu như jQuery đều sử dụng tính năng mới của các trình duyệt

Tính năng của jQuery

Xử lý code nhanh chóng, tiết kiệm thời gian, công sức trong thiết kế website/ viết ứng dụng

Sử dụng cho nhiều nền tảng khác nhau, chạy được trên mọi trình duyệt Phát triển các ứng dụng tương thích với trình duyệt - Giúp cải thiện hiệu suất của lập trình web

Dễ dàng tạo các hiệu ứng khác nhau do được hỗ trợ nhiều thuộc tính/ nhiều hàm

Người dùng có thể dễ dàng viết code với các chức năng liên quan đến UI Hầu như jQuery đều sử dụng tính năng mới của các trình duyệt

2.3.4 Sử dụng ngôn ngữ HTML, CSS lập trình

HTML (HyperText Markup Language): là một ngôn ngữ đánh dấu được thiết

kế ra để tạo nên các trang web, nghĩa là các mẩu thông tin được trình bày trên World Wide Web

hình 3: Ngôn ngữ lập trình Html và Css

Trang 28

CSS (Cascading Style Sheets): định nghĩa về cách hiển thị của một tài liệu

HTML CSS đặc biệt hữu ích trong việc thiết kế Web Nó giúp cho người thiết kế dễ dàng áp đặt các phong cách đã được thiết kế lên bất kì page nào của website một cách nhanh chóng, đồng bộ

2.3.5 SQL Server (Database cơ sở dữ liệu)

SQL Server hay còn gọi là Microsoft SQL Server, viết tắt là MS SQL Server Đây là một phần mềm được phát triển bởi Microsoft dùng để lưu trữ dữ liệu dựa trên chuẩn RDBMS, và nó cũng là một hệ quản trị cơ sở dữ liệu quan hệ đối tượng (ORDBMS) SQL Server cung cấp đầy đủ công cụ để quản lý, từ giao diện GUI cho đến việc sử dụng ngôn ngữ truy vấn SQL Ngoài ra điểm mạnh của nó là Microsoft

có khá nhiền nền tảng kết hợp hoàn hảo với SQL Server như ASP.NET, C# xây dựng Winform, bởi vì nó hoạt động hoàn toàn độc lập

Mục đích của việc sử dụng SQL Server:

Chung quy lại chúng ta sử dụng bất kì một hệ quản trị CSDL nào cũng để lưu trữ dữ liệu và SQL cũng không ngoại lệ Tuy nhiên điều mà ta mong đợi ở nó là các tính năng giúp việc sử dụng hiêu quả hơn như:

Cho phép tạo nhiều cơ sở dữ liệu - Duy trì lưu trữ bền vững

- Bảo mật cao

- Phân tích dữ liệu bằng SSAS

- SQL Server Analysis Services

- Tạo được báo cáo bằng SSRS

- SQL Server Reporting Services

- Thực hiện quá trình ETL (Extract-Transform-Load) bằng SSIS

- SQL Server Integration Services

- Các thành phần của SQL Server

Các thành phần của SQL Server

Do hoạt động theo mô hình Client - Server nên nó được chia làm hai thành phần chính

Workstation: Được cài trên các thiết bị vận hành, nó là các phần mềm tương tác

với máy chủ server Ví dụ: SSMS, SSCM, Profiler, BIDS, SQLEM

Trang 29

Server: Được cài trên máy chủ chính (máy chủ tập trung), đó là các dịch vụ như:

SQL Server, SQL Server Agent, SSIS, SSAS, SSRS, SQL Browser, SQL Full Text Search

Bạn có thể cài nhiều phiên bản của SQL Server trên cùng một máy chủ, điều này giúp tiết kiệm chi phí mua Server nếu hệ thống bạn hoạt động cần nhiều phiên bản khác nhau, bảo mật cũng tách biệt hoàn toàn giúp hệ thống an toán hơn

Các thành phần cơ bản của SQL Server

Database Engine: có khả năng chứa dữ liệu ở quy mô dưới dạng support và table,

có thể tự điều chỉnh

Integration Services: là tập hợp các đối tượng lập trình, các công cụ đồ họa cho

việc sao chéo, di chuyển, chuyển đổi dữ liệu

Analysis Services: là dịch vụ phân tích dữ liệu của Microsoft bằng kỹ thuật khai

thác dữ liệu và khái niệm hình khối nhiều chiều

Notification Services: đây là nền tảng cho sự phát triển và triển khai các ứng

dụng soạn và gửi thông báo, có chức năng gửi thông báo theo dịch thời đến hàng ngàn người đăng ký sử dụng trên nhiều loại thiết bị khác nhau

Reporting Services: là công cụ tạo, quản lý, triển khai báo cáo

Full Text Search Services: là thành phần đặc biệt tròn truy vấn và đánh cỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong các cơ sở dữ liệu của SQL Server

Service Broker: là môi trường lập trình tạo ra các ứng dụng trong việc nhảy

qua các instance

2.3.5.1 Microsoft Azure

Azure là một nền tảng điện toán đám mây và một cổng thông tin trực tuyến, cho phép bạn truy cập và quản lý các dịch vụ, cũng như tài nguyên đám mây do Microsoft cung cấp Các dịch vụ và tài nguyên này bao gồm lưu trữ và chuyển đổi dữ liệu, tùy thuộc vào yêu cầu Để có quyền truy cập vào các tài nguyên và dịch vụ này, tất cả những gì bạn cần là kết nối Internet đang hoạt động và khả năng kết nối với Azure Portal

Những điều bạn nên biết về Azure:

Trang 30

Azure được ra mắt vào ngày 1 tháng 2 năm 2010, muộn hơn đáng kể so với đối thủ cạnh tranh chính của nó, AWS

Miễn phí khi bắt đầu và tuân theo mô hình trả tiền cho mỗi lần sử dụng, có nghĩa là bạn chỉ trả tiền cho các dịch vụ bạn chọn

Điều thú vị là 80% công ty thuộc danh sách Fortune 500 sử dụng dịch vụ Azure cho nhu cầu điện toán đám mây

Azure hỗ trợ nhiều ngôn ngữ lập trình, bao gồm Java, Node Js và C#

Một lợi ích khác của Azure là số lượng trung tâm dữ liệu mà nó có trên khắp thế giới Có 42 trung tâm dữ liệu Azure trải rộng trên toàn cầu, đây là số lượng trung tâm dữ liệu cao nhất cho bất kỳ nền tảng đám mây nào Ngoài ra, Azure cũng đang

có kế hoạch mở thêm 12 trung tâm dữ liệu, điều này sẽ sớm nâng số trung tâm dữ liệu lên 54 trung tâm

Các dịch vụ Azure gồm những gì? Azure hoạt động như thế nào?

Azure cung cấp hơn 200 dịch vụ, được chia thành 18 loại Các danh mục này bao gồm máy tính, mạng, lưu trữ, IoT, di chuyển, di động, phân tích, container, trí tuệ nhân tạo và machine learning, tích hợp, công cụ quản lý, công cụ nhà phát triển, bảo mật, cơ sở dữ liệu, DevOps, nhận dạng media và web service Hãy xem xét một

số dịch vụ Azure chính theo danh mục:

Dịch vụ tính toán

Máy ảo: Dịch vụ này cho phép bạn tạo một máy ảo trong Windows, Linux

hoặc bất kỳ cấu hình nào khác trong vài giây

Dịch vụ điện toán đám mây: Dịch vụ này cho phép bạn tạo các ứng dụng có thể mở rộng trong đám mây Sau khi ứng dụng được triển khai, mọi thứ, bao gồm việc cung cấp, cân bằng tải và theo dõi sức khỏe, đều do Azure đảm nhận

Service Fabric: Với Service Fabric, quá trình phát triển một microservice

được đơn giản hóa rất nhiều Microservice là một ứng dụng có chứa các ứng dụng

nhỏ, được đóng gói khác

Các hàm: Với các hàm, bạn có thể tạo ứng dụng bằng bất kỳ ngôn ngữ lập

trình nào Phần tốt nhất về dịch vụ này là bạn không cần phải lo lắng về các yêu cầu

Trang 31

phần cứng trong khi phát triển ứng dụng, vì Azure sẽ lo điều đó Tất cả những gì bạn cần làm là cung cấp code mà thôi

Kết nối mạng

Azure CDN: Azure CDN (Content Delivery Network) dùng để cung cấp nội

dung cho người dùng Nó sử dụng băng thông cao và nội dung có thể được truyền đến bất kỳ người nào trên toàn cầu Dịch vụ CDN sử dụng một mạng lưới các máy chủ được đặt ở những vị trí chiến lược trên toàn cầu để người dùng có thể truy cập vào dữ liệu càng sớm càng tốt

Express Route: Dịch vụ này cho phép bạn kết nối mạng tại chỗ của mình với

đám mây Microsoft hoặc bất kỳ dịch vụ nào khác mà bạn muốn, thông qua kết nối riêng tư Vì vậy, thông tin liên lạc duy nhất sẽ xảy ra ở đây sẽ là giữa mạng doanh nghiệp và dịch vụ mà bạn muốn

Mạng ảo: Mạng ảo cho phép bạn để bất kỳ dịch vụ Azure nào giao tiếp với

nhau một cách riêng tư và an toàn

Azure DNS: Dịch vụ này cho phép bạn host các DNS domain hoặc domain hệ

thống của mình trên Azure

Lưu trữ

Disk Storage: Dịch vụ này cho phép bạn chọn từ HDD (Hard Disk Drive)

hoặc SSD (Solid State Drive) làm tùy chọn lưu trữ cùng với máy ảo

Blob Storage: Dịch vụ này được tối ưu hóa để lưu trữ một lượng lớn dữ liệu

phi cấu trúc, bao gồm văn bản và thậm chí cả dữ liệu nhị phân

File Storage: Đây là một dịch vụ lưu trữ file được quản lý, có thể được truy

cập thông qua giao thức SMB (Server Message Block)

Queue Storage: Đây là dịch vụ lưu trữ số lượng lớn tin nhắn Dịch vụ này có

thể được truy cập từ bất kỳ đâu trên thế giới này

Tại sao lại sử dụng Azure?

Có nhiều cách sử dụng khác nhau cho Azure, Bây giờ, bạn đã biết thêm về Azure và các dịch vụ mà nó cung cấp, bạn có thể quan tâm đến việc khám phá các cách sử dụng khác nhau cho Azure

Phát triển ứng dụng: Bạn có thể tạo bất kỳ ứng dụng web nào trong Azure

Trang 32

Thử nghiệm: Sau khi phát triển thành công một ứng dụng trên nền tảng, bạn

có thể thử nghiệm nó

Host ứng dụng: Sau khi quá trình thử nghiệm hoàn tất, Azure có thể giúp bạn

host ứng dụng

Tạo máy ảo: Bạn có thể tạo máy ảo ở bất kỳ cấu hình nào bạn muốn với sự

trợ giúp của Azure

Tích hợp và đồng bộ các tính năng: Azure cho phép bạn tích hợp và đồng

bộ các thiết bị và thư mục ảo

Thu thập và lưu trữ số liệu: Azure cho phép bạn thu thập và lưu trữ số liệu,

có thể giúp bạn tìm thấy những gì hoạt động hiệu quả

Ổ cứng ảo: Đây là phần mở rộng của máy ảo Chúng cung cấp một lượng lớn

dung lượng lưu trữ dữ liệu

2.4 Môi trường phát triển

2.4.1 Công cụ để phát triển lên dự án

2.4.1.1 Phần mềm IntelliJ IDEA

IntelliJ IDEA là phần mềm lập trình và phát triển các ngôn ngữ lập trình các ứng dụng cho điện thoại, java, hoặc trên máy tính với việc hỗ trợ nhiều ngôn ngữ lập trình khác nhau phần mềm là một trong những giải pháp, chìa khóa trao tay dành cho những kỹ sư lập trình nhằm tạo ra những chương trình, ứng dụng cho điện thoại hoặc bất kỳ thứ gì khác

IntelliJ IDEA là công cụ nhằm tạo ra những dự án lập trình cho điện thoại hoặc cho với khả năng mã hóa sâu sắc và điều hướng nhanh phần mềm còn cung cấp cho người dùng một danh sách các biểu tượng và ký hiệu phục vụ trong công việc lập trình của người dùng

hình 4: Phần mềm Intellij Idea

Trang 33

IntelliJ IDEA thực hiện phân tích dòng dữ liệu đầu vào của người dùng, phần mềm phân tích lưu lượng dữ liệu để đoán biểu tượng thể loại thời gian phần mềm thực hiện phân tích kịch bản được đưa vào của người dùng với các để xuất khác nhau

tự động thêm các lớp phôi để phù hợp với chương trình mà bạn đang làm việc Cũng có chức năng lập trình tạo ra các chương trình ứng dụng Java cho điện thoại, nhưng phần mềm Mobile BASIC dựa trên ngôn ngữ BASIC quen thuộc, đặc biệt Mobile BASIC có cách lập trình đơn giản và có nhiều công cụ hỗ trợ cho những người mới bắt đầu

Giao diện của IntelliJ IDEA khá đơn giản, với một màn hình đen và các chữ được thể hiện theo từng màu sắc câu lệnh, tính năng tự động được thể hiện ở việc thêm các cú pháp tự động như các dấu ngoặc cho mỗi dòng lệnh, điều này làm người

sử dụng có thể giảm thiểu được nhiều sai sót trong lúc lập trình

JAR Maker là một ứng dụng khác với các tính năng tương tự IntelliJ IDEA với khả năng làm nổi bật cú pháp, tự động tìm và phát hiện lỗi, tải JAR Maker để thử nghiệm Khả năng tìm kiếm và phát hiện các bản sao của IntelliJ IDEA được sử dụng nhiều trong chương trình, người dùng có thể sử dụng một biến hoặc một đoạn mã để so sánh

và tìm kiếm với toàn chương trình để tìm ra các đoạn trùng nhau, tính năng này nhằm làm giảm thời gian làm việc của người dùng, đoạn mã tương tự sẽ được tìm kiếm nhanh chóng và thể hiện cho người dùng

IntelliJ IDEA tìm kiếm và phát hiện ra các đoạn lỗi của dự án, đối với các cú pháp gặp lỗi phần mềm sẽ đánh dấu nó với màu sắc khác cho người dùng dễ dàng theo dõi, kiểm tra và sửa lỗi cho phù hợp

Tính năng tìm kiếm nhanh chóng của IntelliJ IDEA giúp tìm kiếm nhanh chóng bất kỳ câu lệnh hoặc cú pháp, chỉ cần gõ vào bất kỳ danh sách hoặc bật cửa sổ tìm kiếm và nhập văn bản mà người dùng muốnn tìm kiếm để tìm ra những gì mà bạn cần

Ngoài ra, các bạn có thể tham khảo phần mềm ExeJ là công cụ nhỏ gọn nhưng tạo ra các ứng dụng Java cực kỳ nhanh chóng, ExeJ có khả năng tạo ra hàng loạt fie thực thi cùng một lúc

Trang 34

2.4.1.2 Những chức năng chính của IntelliJ IDEA:

Có trên 60 mã kiểm tra với khả năng phân tích mã siêu nhanh

Tính năng sửa lỗi nhanh thông minh

Tạo mã tự động và hỗ trợ Styling Consistent cho ngôn ngữ, công nghệ và ứng dụng server

Cung cấp các phương tiện tuyệt vời cho sự phát triển Java, JavaScript, ActionScript, Flex, HTML, XHTML, CSS, XML, XSL, PHP, Ruby, JRuby, Groovy, SQL, FreeMarker, Velocity, JSP, JSF và JSF 2.0, EJB, AJAX, GWT, GWT 2.0, Google App Engine, Struts, Struts 2, JBoss Seam, Spring, Spring 2.5 and 3.0, Spring Security 2.0, Hibernate/JPA and JPA 2.0, Tapestry, Web Beans, Bean Validation, OSGi, Android, và nhiều hơn thế nữa

Hỗ trợ triển khai và gỡ lỗi từ xa cho WebLogic, WebSphere, Glassfish, Geronimo, Tomcat, JBoss và bất kỳ máy chủ ứng dụng tương thích JSR-45 nào

Tái cấu trúc trên 60 ngôn ngữ chéo

Phân tích phụ thuộc

Phát hiện mã trùng lặp

Được tích hợp mã bao phủ với JUnit vàTestNG

2.4.2.1 Phần mềm Android Studio

Android Studio là môi trường phát triển tích hợp (IDE) chính thức để phát triển ứng dụng Android, dựa trên IntelliJ IDEA Ngoài các trình soạn thảo mã và công cụ phát triển mạnh mẽ của IntelliJ, Android Studio còn cung cấp thêm nhiều tính năng giúp bạn nâng cao năng suất khi xây dựng ứng dụng Android, chẳng hạn như:

- Một hệ thống xây dựng linh hoạt dựa trên Gradle

- Một trình mô phỏng nhanh và nhiều tính năng

- Một môi trường hợp nhất nơi bạn có thể phát triển cho mọi thiết bị Android

Trang 35

Đa dạng khung và công cụ thử nghiệm

Công cụ tìm lỗi mã nguồn (lint) để nắm bắt hiệu suất, khả năng hữu dụng, khả năng tương thích với phiên bản và các vấn đề khác

Mỗi dự án trong Android Studio chứa một hoặc nhiều mô-đun có tệp mã nguồn

và tệp tài nguyên Có các loại mô-đun sau:

- Mô-đun ứng dụng Android

- Mô-đun thư viện

- Mô-đun Google App Engine

Theo mặc định, Android Studio thể hiện các tệp dự án của bạn trong chế độ xem dự án Android, như trong hình 1 Chế độ xem này được sắp xếp theo mô-đun để bạn có thể truy cập nhanh vào các tệp nguồn chính của dự án

Trang 36

Bạn có thể thấy tất cả tệp bản dựng ở cấp cao nhất trong Gradle Scripts (Tập lệnh Gradle) và mỗi mô-đun ứng dụng chứa các thư mục sau:

Manifests: Chứa tệp AndroidManifest.xml

Java: Chứa các tệp mã nguồn Java, bao gồm cả mã kiểm thử JUnit

Res: Chứa mọi tài nguyên không phải mã, chẳng hạn như bố cục XML, chuỗi

giao diện người dùng và hình ảnh bitmap

Cấu trúc dự án Android trên ổ đĩa khác với cách trình bày ở đây Để xem cấu trúc tệp thực tế của dự án, hãy chọn Project (Dự án) trong trình đơn thả xuống Project (Dự án) (trong hình 1, mục này có tên Android)

2.4.2.3 Hệ thống Androi Build

Hệ thống Android Build là bộ công cụ bạn sử dụng để xây dựng, thử nghiệm, chạy và đóng gói ứng dụng của mình Hệ thống xây dựng này thay thế hệ thống Ant được sử dụng với Eclipse ADT Nó có thể chạy như một công cụ tích hợp từ menu Android Studio và độc lập với dòng lệnh Bạn có thể sử dụng các tính năng của build system để:

- Tùy chỉnh, cấu hình và mở rộng quá trình thiết kế, kiến trúc

- Tạo nhiều APK cho ứng dụng của bạn với các tính năng khác nhau bằng cách

sử dụng cùng một dự án và module

- Sử dụng lại mã và tài nguyên trên các tập hợp nguồn

- Tính linh hoạt của hệ thống Android build cho phép bạn đạt được tất cả các yếu tố trên mà không cần sửa đổi các tệp nguồn cốt lõi của ứng dụng

2.4.2.4 Gỡ lỗi và hiệu suất

Android Studio cung cấp một số cải tiến hỗ trợ việc gỡ lỗi và cải thiện hiệu suất code, bao gồm các công cụ được cải tiến như công cụ quản lý thiết bị ảo, inline debug và phân tích hiệu suất

2.4.2.5 Trình quản lý thiết bị ảo của Android (AVD)

AVD Manager đã cập nhật các link lên màn hình để giúp bạn chọn các cấu hình thiết bị phổ biến nhất, lựa chọn kích thước màn hình và độ phân giải trong chế

độ xem trước

Trang 37

Trình quản lý AVD có liên kết với bộ mô phỏng cho các thiết bị Nexus 6 và Nexus

9 AVD cũng hỗ trợ tạo giao diện thiết bị Android tùy chỉnh dựa trên các đặc tính mô phỏng cụ thể và gán các giao diện đó cho cấu hình phần cứng

Android Studio cài đặt Intel® x86 Hardware Accelerated Execution Manager (HAXM) và tạo bộ mô phỏng mặc định để tạo nhanh ứng dụng mẫu

2.4.2.6 Bộ nhớ và màn hình CPU

Android Studio hỗ trợ một chế độ xem bộ nhớ và màn hình CPU để bạn có thể dễ dàng theo dõi hiệu suất và mức sử dụng bộ nhớ của ứng dụng Từ đó, có thể theo dõi mức sử dụng CPU, tìm đối tượng deallocated, xác định vị trí lỗi bộ nhớ, theo dõi dung lượng bộ nhớ đang được thiết bị kết nối sử dụng Với ứng dụng chạy trên thiết

bị hoặc trình mô phỏng, bạn nhấp vào tab Android ở góc dưới bên trái của cửa sổ runtime để khởi động cửa sổ Android runtime Click tab Memory hoặc CPU

hình 6: Bộ nhớ Cpu

2.4.3 Phần mềm giả lập môi trường server hosting Xampp

Phần mềm XAMPP là một loại ứng dụng phần mềm khá phổ biến và thường hay được các lập trình viên sử dụng để xây dựng và phát triển các dựa án website theo ngôn ngữ PHP XAMPP thường được dùng để tạo máy chủ web (web server)được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin

Trang 38

hình 7: Hosting Xampp

Đặc biệt, Xampp có giao diện quản lý khá tiện lợi, cho phép người dùng chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào Phần mềm này cũng được thiết lập và phát triển dựa trên mã nguồn mở

Nhìn chung XAMPP được xem là một bộ công cụ hoàn chỉnh dành cho lập trình viên PHP trong việc thiết lập và phát triển các website, nó tích hợp các thành phần quan trọng và tương thích lẫn nhau như:

- Apache

- PHP (tạo môi trường chạy các tập tin script *.php)

- MySql (hệ quản trị dữ liệu mysql)

2.4.3.1 Ưu và nhược điểm của phần mềm XAMPP

Mã nguồn mở: Xampp có giao diện quản lý tiện dụng Người dùng có thể chủ

động bật tắt hoặc khởi động lại các dịch vụ máy chủ mọi lúc mọi nơi

Nhược điểm:

Trang 39

Không được hỗ trợ cấu hình Module

Dung lượng tương đối nặng, dung lượng file cài đặt là 141 Mb, nặng hơn nhiều

so với WAMP 41 Mb

Không có nhiều phiên bản cho các thành phần của server như PHP, Apache, MySQL như WAMP Lỗi Xampp thường gặp là Apache không start được, gây bất tiện vì người dùng thường phải đi sửa lỗi Xampp không start

Trang 40

Chương 3: Phân tích và thiết kế hệ thống 3.1 CẤU TRÚC CỦA ĐỀ TÀI

Cấu trúc tổng quát của đề tài gồm 2 phần:

Mô hình Spring Boot MVC

Mô hình REST API

hình 8: Mô hình tổng quát của đề tài

3.1.1 Mô hình MVC WEBSITE LÀ GÌ?

Là từ viết tắt bởi 3 từ Model – View – Controller Đây là mô hình thiết kế sử dụng trong kỹ thuật phần mềm Mô hình source code thành 3 phần, tương ứng mỗi

từ Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình:

Model (M): Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng

Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View và Controller Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,

View (V): Đây là phần giao diện (theme) dành cho người sử dụng Nơi mà

người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng thông qua các website Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệ thống, nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chức năng ghi nhận hoạt động của người

Ngày đăng: 08/11/2023, 23:56

HÌNH ẢNH LIÊN QUAN

Hình 3: Ngôn ngữ lập trình Html và Css - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 3 Ngôn ngữ lập trình Html và Css (Trang 27)
Hình 5: Phần mềm Androi Studio - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 5 Phần mềm Androi Studio (Trang 35)
Hình 6: Bộ nhớ Cpu - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 6 Bộ nhớ Cpu (Trang 37)
Hình 13: Trình tự khách hàng mua hàng - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 13 Trình tự khách hàng mua hàng (Trang 45)
Hình 15: Trình tự khách hàng tạo đơn hàng - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 15 Trình tự khách hàng tạo đơn hàng (Trang 47)
Hình 19: Quy trình kiểm duyệt đơn hàng - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 19 Quy trình kiểm duyệt đơn hàng (Trang 52)
Hình 21: Admin quản lý doanh thu - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 21 Admin quản lý doanh thu (Trang 53)
Hình 23: Bảng database tổng quát - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 23 Bảng database tổng quát (Trang 54)
Hình 25: Localhost:phpmyadmin - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 25 Localhost:phpmyadmin (Trang 59)
Hình 28: Sau khi đưa file lên host - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 28 Sau khi đưa file lên host (Trang 60)
Hình 32: Chạy chương trình Intellij Idea - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 32 Chạy chương trình Intellij Idea (Trang 62)
Hình 46: Quản lý sản phẩm - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 46 Quản lý sản phẩm (Trang 70)
Hình 56: Gợi ý các sản phẩm bán chạy - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 56 Gợi ý các sản phẩm bán chạy (Trang 77)
Hình 57: Tài khoản nhân viên - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 57 Tài khoản nhân viên (Trang 78)
Hình 61: Khách hàng thêm sản phẩm vào giỏ hàng - Xây dựng ứng dụng web thương mại điện tử đồ án tốt nghiệp
Hình 61 Khách hàng thêm sản phẩm vào giỏ hàng (Trang 80)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w