1. Trang chủ
  2. » Tất cả

Báo cáo môn h c ọ đồ án chuyên ngành xây d n tho ựng website bán điệ ại và đồ công ngh b ng php

101 4 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 đề Báo Cáo Môn Học Đồ Án Chuyên Ngành Xây Dựng Website Bán Điện Thoại Và Đồ Công Nghệ Bằng PHP
Tác giả Phạm Tuyên
Người hướng dẫn Th.S Nguyễn Hữu Vĩnh
Trường học Trường Đại học Thủ Dầu Một
Chuyên ngành Xây Dựng Website Và Đồ Công Nghệ Bằng PHP
Thể loại Báo cáo môn học
Năm xuất bản 2020
Thành phố Thủ Dầu Một
Định dạng
Số trang 101
Dung lượng 6,49 MB

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

Nội dung

Website cần có các chức năng cơ bản của các trang thương mại điện tử như: Người mua có thể đăng k và đăng nhập vào hệ thống để qu n lý tài kho n, gi ả ả ỏhàng, đơn hàng, tương tác với h

Trang 1

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA KỸ THUẬT - CÔNG NGHỆ

BÁO CÁO MÔN H C

L P: D17PM03

Trang 2

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT KHOA K Ỹ THUẬT – CÔNG NGH

BÁO CÁO MÔN H C

ĐỒ ÁN CHUYÊN NGÀNH

XÂY D ỰNG WEBSITE BÁN ĐIỆ N THO ẠI VÀ ĐỒ

CÔNG NGH B NG PHP Ệ Ằ

GVHD: Th.S NGUY ỄN HỮU VĨNH SVTH: PHẠ M TUYÊN

MSSV: 1724801030138

L P: D17PM03

BNH DƯƠNG – 11/2020

Trang 3

tr trợ ực tuyến đểđảm b o hả ệ ống thân thi n nh t vth ệ ấ ới người dùng

Trên đây là các yêu cầu c a h ủ ệ thống trong khuôn kh cổ ủa đồ án này Tuy hệ thống ch ỉđáp ứng được các chức năng của một website thương mại điện t c nh ử ỡ ỏ

- thích h p cho kinh doanh bán l theo cá nhân ho c hợ ẻ ặ ộ gia đình, nhưng trong tương lai em sẽ tiếp tục phát triển hệ thống thành một chu i các c a hàng, xây ỗ ửdựng app mobile cho hệ thống và đặc biệt phát triển các dịch vụ logistics

Bình Dương ngày 20 tháng 11

năm 2019

Sinh viên th c hi n ự ệ

Ph ạm Tuyên

Trang 4

MỤC L C

CHƯƠNG 1 KHẢO SÁT HIỆN TRẠNG 1

1.1 Đặt vấn đề 1

1.2 Thương mại điện tử Việt Nam 1

1.3 Mục tiêu và chức năng chnh c a hủ ệ thố 3ng 1.4 Định hướng giải quyết vấn đề 3

1.5 Tóm tắt cơ sở lý thuy t ế 3

Ngôn ng l p trình PHP ữ ậ 4

Laravel Framework 10

HTML, CSS và JavaScript 12

Môi trường phát triển ứng dụng 13

Thanh toán điện tử Ngân Lượng 14

Kết luận 17

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

2.1 Các yêu cầu đặt ra cho hệ thố 18ng 2.2 Các tác nhân c a hủ ệ thố 18ng 2.3 Biểu đồ UseCase của hệ thống 20

Biểu đồ UseCase tổng quát 20

Biểu đồ UseCase chi tiết với từng tác nhân 21

2.4 Các chức năng chnh của hệ thống 24

Chức năng đăng ký 24

Chức năng đăng nhập 27

Chức năng quên mật khẩu 30

Chức năng thay đổi thông tin tài khoản 32

Chức năng tìm kiếm 34

Chức năng sắp xếp và lọc 36

Chức năng đánh giá và bình luận 39

Chức năng giỏ hàng 41

Chức năng mua hàng và thanh toán 45

Chức năng quản lý tài khoản 48

Chức năng quản lý bài viết 50

Chức năng quản lý sản phẩm 52

Trang 5

Chức năng thống kê 57

Một số chức năng khác 59

2.5 Thiết kế cơ sở ữ liệ 60 d u Các bảng trong cơ sở dữ liệu 60

Lược đồ quan hệ của các bảng 68

2.6 Kết lu n ậ 69

CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRNH 70

3.1 Môi trường triển khai ứng dụng 70

3.2 Giao di n ệ ứng dụng 71

Giao di n m t s trang chính ệ ộ ố 71

Giao di n m t sệ ộ ố chức năng 76

3.3 Kết qu hiả ệu năng thự ế c t 88 3.4 Kết lu n ậ 89

CHƯƠNG 4 KẾT LUẬN 90

4.1 Những kết quả đạt được 90

4.2 Kết quả chưa đạt đượ 90c 4.3 Định hướng phát triển trong tương lai 91

TÀI LI U THAM KH O Ả 92

Trang 6

DANH M C HÌNH V Ụ Ẽ

Hình 1.1 Top 5 website thương mại điện tử ở Việt Nam 2

Hình 1.2 Doanh thu TMDT bán lẻ Việt Nam t 2015 2018 ừ – 2

Hình 1.3 Top các ngôn ng ph bi n 01/2018 ữ ổ ế – chỉ ố PYPL 6 s Hình 1.4 Top các PHP framework ph bi n ổ ế 7

Hình 1.5 Quy trình Checkout tiêu chu n ẩ 15

Hình 1.6 Quy trình Checkout nâng cao 16

Hình 1.7 Quy trình Seamless Checkout 16

Hình 2.1 Các tác nhân c a hủ ệ thố 19ng Hình 2.2 Biều đồ UseCase tổng quát 20

Hình 2.3 Biểu đồ UseCase với tác nhân Guest 21

Hình 2.4 Biểu đồ UseCase với tác nhân User và Online Payment 22

Hình 2.5 Biểu đồ UseCase với tác nhân Admin 23

Hình 2.6 Biểu đồ UseCase đăng ký 25

Hình 2.7 Biểu đồ hoạt động chức năng đăng ký 26

Hình 2.8 Biểu đồ UseCase đăng nhậ 28p Hình 2.9 Biểu đồ hoạt động chức năng đăng nhậ 29p Hình 2.10 Biểu đồ UseCase quên mật kh u ẩ 31

Hình 2.11 Biểu đồ hoạt động chức năng quên mật kh u ẩ 32

Hình 2.12 Biểu đồ UseCase thay đổi thông tin tài kho n ả 33

Hình 2.13 Biểu đồ hoạt động chức năng thay đổi thông tin tài khoản 34

Hình 2.14 Biểu đồ UseCase tìm kiếm 35

Hình 2.15 Biểu đồ hoạt động chức năng tìm kiế 36m Hình 2.16 Biểu đồ UseCase sắp x p và l c ế ọ 37

Hình 2.17 Biểu đồ hoạt động chức năng sắp x p và l c ế ọ 38

Hình 2.18 Biểu đồ UseCase đánh giá và bình luậ 39n Hình 2.19 Biểu đồ hoạt động chức năng đánh giá và bình luậ 41n Hình 2.20 Biểu đồ UseCase giỏ hàng 41

Hình 2.21 Biểu đồ hoạt động chức năng giỏ hàng 43

Hình 2.22 Biểu đồ UseCase mua hàng và thanh toán 46

Hình 2.23 Biểu đồ hoạt động chức năng mua hàng và thanh toán 47

Hình 2.24 Biểu đồ UseCase quản lý tài kho n ả 48

Hình 2.25 Biểu đồ hoạt động chức năng quản lý tài kho n ả 50

Hình 2.26 Biểu đồ UseCase quản lý bài vi t ế 51

Hình 2.27 Biểu đồ hoạt động chức năng quản lý bài vi t ế 52

Hình 2.28 Biểu đồ UseCase quản lý s n ph m ả ẩ 53

Trang 7

Hình 2.30 Biểu đồ UseCase quản lý đơn hàng 56

Hình 2.31 Biểu đồ hoạt động chức năng quản lý đơn hàng 57

Hình 2.32 Biểu đồ UseCase thống kê 58

Hình 2.33 Biểu đồ hoạt động chức năng thống kê 59

Hình 2.34 Biểu đồ quan h các bệ ảng trong cơ sở dữ liệu 68

Hình 3.1 Các thông số môi trường th c t ự ế 70

Hình 3.2 Giao di n trang ch PhoneStore ệ ủ 71

Hình 3.3 Giao di n trang qu n tr PhoneStore ệ ả ị 72

Hình 3.4 Giao di n trang s n ph m ệ ả ẩ 72

Hình 3.5 Giao di n trang chi ti t s n ph m ệ ế ả ẩ 73

Hình 3.6 Giao di n trang tin t c ệ ứ 74

Hình 3.7 Giao di n trang chi ti t tin t c ệ ế ứ 75

Hình 3.8 Giao diện trang đăng nhập hệ thống 76

Hình 3.9 Thông báo đăng nhập thành công cho tài khoản người dùng 76

Hình 3.10 Thông báo đăng nhập thành công cho tài khoản quản trị 76

Hình 3.11 Giao diện trang đăng ký tài khoản 77

Hình 3.12 Email kích ho t tài kho n ạ ả 77

Hình 3.13 Thông báo kích ho t tài kho n thành công ạ ả 77

Hình 3.14 Giao di n trang quên m t kh u ệ ậ ẩ 78

Hình 3.15 Email chức năng quên mật kh u ẩ 78

Hình 3.16 Giao diện trang đặ ạt l i m t kh u ậ ẩ 78

Hình 3.17 Giao di n chệ ức năng tìm kiế 79m Hình 3.18 Giao di n chệ ức năng sắp x p và l c ế ọ 79

Hình 3.19 Giao di n chệ ức năng đánh giá và bình luậ 80n Hình 3.20 Giao di n trang gi hàng ệ ỏ Error! Bookmark not defined. Hình 3.21 Giao di n gi hàng mini ệ ỏ 81

Hình 3.22 Giao di n trang mua hàng ệ 81

Hình 3.23 Giao di n trang thanh toán online ệ 82

Hình 3.24 Giao di n thanh toán online thành côngệ 82

Hình 3.25 Thông báo mua hàng thành công 82

Hình 3.26 Giao di n trang qu n lý tài kho n ệ ả ả 83

Hình 3.27 Giao di n trang chi t tài kho n ệ tiế ả 83

Hình 3.28 Giao di n trang qu n lý bài việ ả ết 83

Hình 3.29 Giao di n trang ch nh s a bài vi t ệ ỉ ử ế 84

Hình 3.30 Giao di n trang qu n lý s n ph m ệ ả ả ẩ 84

Trang 8

Hình 3.33 Giao di n trang chi tiệ ết đơn hàng 86

Hình 3.34 Giao di n chệ ức năng in hóa đơn 86

Hình 3.35 Giao di n chệ ức năng thống kê doanh thu theo các ngày trong m t thángộ 87

Hình 3.36 Giao di n chệ ức năng thống kê doanh thu theo các tháng trong một năm 87

Hình 3.37 Giao di n chệ ức năng in báo cáo 88

Hình 3.38 K t qu hiế ả ệu năng website phonestore 88

Hình 3.39 K t qu hiế ả ệu năng website FPT Shop 88

Hình 3.40 K t qu hiế ả ệu năng website Thế Giới Di Động 89

Trang 9

DANH M C B NG BI U Ụ Ả Ể Bảng 2.1 Bảng đặ ả UseCase đăng ký 25c t Bảng 2.2 Bảng đặ ả UseCase đăng nhậ 28c t p

Bảng 2.3 Bảng đặ ả UseCase quên mậc t t khẩu 31

Bảng 2.4 Bảng đặ ả UseCase thay đổc t i thông tin tài kho n ả 33

Bảng 2.5 Bảng đặ ả UseCase tìm kiế 35c t m Bảng 2.6 Bảng đặ ả UseCase sắc t p x p và l c ế ọ 38

Bảng 2.7 Bảng đặ ả UseCase đánh giá và bình luậ 39c t n Bảng 2.8 Bảng đặ ả UseCase giỏc t hàng 42

Bảng 2.9 Bảng đặ ả UseCase mua hàng và thanh toán 46c t Bảng 2.10 Bảng đặ ả UseCase quảc t n lý tài kho n ả 48

Bảng 2.11 Bảng đặ ả UseCase quảc t n lý bài vi t ế 51

Bảng 2.12 Bảng đặ ả UseCase quảc t n lý s n ph m ả ẩ 53

Bảng 2.13 bảng đặ ả UseCase quản lý đơn hàng 56c t Bảng 2.14 Bảng đặ ả UseCase thốc t ng kê 58

Bảng 2.15 C u trúc dấ ữ liệu b ng users ả 60

Bảng 2.16 C u trúc dấ ữ liệu b ng products ả 61

Bảng 2.17 C u trúc dấ ữ liệu b ng producers ả 61

Bảng 2.18 C u trúc dấ ữ liệu b ng product_details ả 62

Bảng 2.19 C u trúc dấ ữ liệu b ng porduct_images ả 62

Bảng 2.20 C u trúc dấ ữ liệu b ng product_votes ả 63

Bảng 2.21 C u trúc dấ ữ liệu b ng comments ả 63

Bảng 2.22 C u trúc dấ ữ liệu b ng notices ả 63

Bảng 2.23 C u trúc dấ ữ liệu b ng orders ả 64

Bảng 2.24 C u trúc dấ ữ liệu b ng order_details ả 64

Bảng 2.25 C u trúc dấ ữ liệu b ng payment_methods ả 66

Bảng 2.26 C u trúc dấ ữ liệu b ng posts ả 66

Bảng 2.27 C u trúc dấ ữ liệu b ng advertises ả 66

Trang 10

CHƯƠNG 1. KHẢO SÁT HIỆN TRẠNG Nội dung: Trong chương 1, em sẽ tìm hi u vể ề nhu c u, th c tr ng cầ ự ạ ủa thương mại điện tử cũng như xây dựng các kênh giao ti p, bán hàng, quế ản lý… Từ đó đưa

ra m c tiêu và chụ ức năng chnh của hệ thống, đưa ra hướng gi i quy t vả ế ấn đề đặt

ra, định hướng các giải pháp công nghệ và tóm tắt cơ sở lý thuy ết

Với việc thương mại điệ ửn t hóa, m i rào c n vọ ả ề không gian địa lý hay thời gian làm vi c ệ đều được xoá b Các s n phỏ ả ẩm được gi i thi u rõ dàng d nh cho ớ ệ àkhông ch nhỉ ững người mua hàng khu vở ực đó mà trên cả đất nước Vi t Nam, ệthậm ch là người dân trên toàn thế giới Người bán giờ đây không chỉ còn ngồi một chỗ chờ khách hàng tìm đến mà đã tích cực chủ động đứng lên và tìm đến khách hàng Và khi số lượng khách hàng tăng lên thì nó cũng tỉ ệ thuậ l n v i viớ ệc doanh thu sẽ tăng, đó chnh là điều mà m i doanh nghiọ ệp đều hướng t ới

Không ch d ng l i vỉ ừ ạ ậy, thương mại điệ ửn t còn t o ra nhạ ững cơ hội làm ăn cho những ai không đủ vốn bởi: bạn không ph i m t ti n thuê m t b ng nh ng ả ấ ề ặ ằ ở ữnơi đắt đỏ, thuê nhân viên, đầu tư nhiều cho vi c ch y quệ ạ ảng cáo… mà chỉ cần đầu

tư, chăm chút kỹ lưỡng cho một trang web thương mại điện tử với đầy đủ thông tin v doanh nghi p c a bề ệ ủ ạn cũng như các tnh năng hỗ trợ tìm ki m mua hàng, ếđưa hình ảnh, thông tin về sản phẩm Từ đó, khách hàng sẽ có thể tiếp c n thông ậtin chủ động hơn, nhờ tư vấn và mua bán d dàng, chính xác và nhanh gễ ọn hơn Với tình hình c nh tranh c c kạ ự ỳ “khốc liệt” như hiện nay giữa các doanh nghiệp thì rất khó để có thể độc quy n m t s n ph m nào, b i về ộ ả ẩ ở ậy nơi chinh phục được khách hàng chnh là nơi làm họ cảm thấy thoải mái nhất, hài lòng nhất

Bằng việc thương mại điện t hóa, t t c các doanh nghi p t l n, v a và nh ử ấ ả ệ ừ ớ ừ ỏ

đều có th thoả s c sáng t o, c nh tranh công b ng Nhể ứ ạ ạ ằ ững ý tưởng kinh doanh mới táo b o, nhạ ững chiến lược ti p th , khuy n mế ị ế ại… đều có th được áp dụng và ểhướng tr c tiự ếp đến khách hàng nhanh nh t mà không t n quá nhi u chi phí b i tấ ố ề ở ất

cả vẫn được gói g n trong mọ ột trang thương mại điệ ử (website) n t

Trên những cơ sở đó, đồ án t t nghi p c a em th c hiố ệ ủ ự ện đề ài “Xây d ng t 

website thương mại điện tử PhoneStore” nhằm giải quy t c c nhu c u qu ng b ế á ầ ả á

và kinh doanh s n ph m ả ẩ hướng tr c tiự ếp đế khán ch h ng trên m i à ọ miền đất nước, thậm ch l qu c t  à ố ế

1.2 Thương mại điện tử Việt Nam

Thương mại điện tử (E-Commerce) là hình thức kinh doanh tr c tuy n s ự ế ửdụng n n t ng công ngh thông tin v i s h ề ả ệ ớ ự ỗ trợ của Internet để thực hiện các giao dịch mua bán, trao đổi, thanh toán tr c tuy n ự ế Thương mại điện tử là xu hướng của

Trang 11

thời đại toàn cầu hóa, đây là lĩnh vực tiềm năng để các doanh nghiệp vừa và nhỏ sinh l i và phát triợ ển, cơ hội cho nh ng ai mu n kh i nghi p kinh doanh theo mô ữ ố ở ệhình m ới Mô hình kinh doanh Thương mại điện t ử được xem như một trong nh ng ữgiải pháp thúc đẩy sự phát triển của nền kinh tế quốc gia

Theo báo cáo ch s Tỉ ố hương mại điện tử Việt Nam (EBI) 2019: “Năm 2018 thương mại điện t ử Việt Nam tiếp tục phát triển toàn diện với tốc độ tăng trưởng trên 30% V i s ớ  tăng trưở ng cao và liên t c t ụ ừ năm 2015, chúng ta tin tưởng sẽ đạt được m c tiêu 10 t USD lo i hình doanh nghi p vụ ỷ ạ ệ ới người tiêu dùng vào năm

2020 nêu trong K ho ch t ng th phát triế ạ ổ ể ển thương mại điện tử giai đoạn 2016

2020

Hình 1.2 Doanh thu TMDT bán l ẻ Việ t Nam t 2015 2018ừ –

Hình 1.1 Top 5 website thương mại điện tử ở Việt Nam

Trang 12

Dự đoán trong 10 năm sắ ới xu hướp t ng mua sắm trên các nền tảng Thương mại điện tử sẽ phát triển mạnh mẽ thay thế d n các mô hình kinh doanh truyền ầthống

1.3 Mc tiêu v  chc năng ch nh c a hệ thng

Để có một website bán hàng online ch c h n giao di n c a trang web là mắ ẳ ệ ủ ột điều vô cùng quan trọng, giao di n c n ph i thân thi n v i cệ ầ ả ệ ớ ả máy tnh cũng như thiết b ịdi động, dễ s d ng, b t mử ụ ắ ắt và hướng đến thị hiếu cũng như cảm nh n cậ ủa khách hàng Bên cạnh đó, website cần ph i có tả ốc độ ử x lý nhanh, chính xác, hi u ệquả và ti n l cho cệ ợi ả người mua cũng như người bán - chủ website

Website cần có các chức năng cơ bản của các trang thương mại điện tử như: Người mua có thể đăng k và đăng nhập vào hệ thống để qu n lý tài kho n, gi ả ả ỏhàng, đơn hàng, tương tác với hệ thống như đánh giá, bình luận hay gửi tin nh n ắBên c nh s phát tri n c a m ng xã hạ ử ể ủ ạ ội như Google+ hay Facebook thì việc tích hợp vào hệ thống là m t l i th c a website Vi c tích hộ ợ ế ủ ệ ợp thanh toán điệ ửn t là một chức năng không thể thiếu đố ới các trang web thương mại điệi v n tử Về phía của hàng, người quản trị website có thể qu n lý t t c n i dung cả ấ ả ộ ủa trang web như

là t o các áp phích qu ng cáo cho t ng s n ph m, t o bài vi t thu hút khách hàng, ạ ả ừ ả ẩ ạ ếquản lý s n ph m trong kho, quả ẩ ản lý đơn hàng, thông kê doanh số bán hàng Một website thương mại điệ ử luôn luôn phn t ải hướng đến khách hàng, do vậy sử d ng các y u tụ ế ố tương tác trong trang web là một điều quan trọng, cần sử dụng các hình nh mô ph ng s n phả ỏ ả ẩm đẹp và chất lượng hay những đoạn video hoặc các phương tiện truy n thông xã h i là m t trong nh ng y u t ề ộ ộ ữ ế ố tương tác phổ biến nh t c n phấ ầ ải nghĩ đến khi thi t k website bán hàng ế ế

Trên đây là các vấn đề đặt ra để xây dựng một hệ thống bán hàng trực tuyến trên Internet trong khuôn kh cổ ủa đồ án t t nghi p ố ệ

1.4 Định hướng giải quyết vấn đề

Dựa trên cơ sở mục tiêu và chức năng chnh của hệ thống, cùng với thời gian làm vi c tr c tiệ ự ếp cũng ngôn ngữ PHP và s ng ý c a th y TS Tr nh Anh Phúc, ự đồ ủ ầ ị

em đã quyết định sử dụng ngôn ng PHP là ngôn ng chính s lý logic c a h ữ ữ ử ủ ệthống K t h p v i m t s ngôn ngế ợ ớ ộ ố ữ như HTML, CSS, Javascript để thiết k giao ếdiện Về thanh toán điệ ử, em sử dn t ụng API thanh toán điệ ử của Ngân Lượng n t– một kênh thanh toán online phổ bi n nhế ất nước ta với kh ả năng bảo mật và nhiều phương thúc thanh toán tiện lợi cho người dùng Kết hợp với một số tiện ích của mạng xã hôi như Google+ và Facebook h a h n s ứ ẹ ẽ đem đến cho khách hàng s ự tiện lợi và tho i mãi khi sả ử d ng hụ ệ thống

Với vi c s d ng các ngôn ng l p trình ph bi n và các ti n ích mệ ử ụ ữ ậ ổ ế ệ ạng xã hội kèm theo đã được ch ng minh tính hi u qu qua các website l n, em t tin kh ng ứ ệ ả ớ ự ả

định hệ th ng có thể đáp ứng hoàn ố toàn các yêu cầu đặt ra

1.5 Tóm tắt cơ sở lý thuy t ế

Trang 13

Ngôn ng l p trình PHP ữ ậ

1.5.1.1 Giới thi u

PHP là vi t t t c a tế ắ ủ ừ “PHP: Hypertext Preprocessor”, đây là một ngôn ng ữlập trình kịch b n hay m t lo i mã l nh ch yả ộ ạ ệ ủ ếu được dùng để phát tri n các ể ứng dụng vi t cho máy ch , mã ngu n m , m c tiêu chính c a ngôn ng là cho phép ế ủ ồ ở ụ ủ ữcác nhà phát tri n viể ết ra các trang web động m t cách nhanh chóng Nó r t phù ộ ấhợp để phát triển web và có thể dễ dàng nhúng vào các trang HTML Do được tối

ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java,

dễ h c và th i gian xây d ng s n phọ ờ ự ả ẩm tương đối ngắn hơn so với các ngôn ng ữkhác nên PHP đã nhanh chóng trở thành m t ngôn ng l p trình web ph ộ ữ ậ ổ biến nhất

thế giớ i

1.5.1.2 L ịch sử hình thành và phát tri n

PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là mộ ập con đơn giảt t n của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Vào tháng 11 năm 1997, PHP/FI 2.0 được chính thức công bố, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 – phiên bản đầu tiên cho chúng ta th y m t hình nh gấ ộ ả ần gũi với các phiên bản PHP mà chúng ta được biết ngày nay

PHP 3.0 đã chnh thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm PHP 3.0 đã được Andi Gutmans và Zeev Suraski t o ra sau khi vi t lạ ế ại hoàn toàn b mã nguộ ồn trước đó Lý do chính mà h ọ

đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 h t s c y u kém trong viế ứ ế ệc phát tri n các ng dể ứ ụng thương mại điệ ửn t mà họ đang xúc tiến trong m t dộ ự án của trường đại học Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng m nh mạ ẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tnh năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới

Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bản PHP 4.0 chính thức được công b Ngoài tố ốc độ ử x lý được c i thi n r t nhi u, PHP 4.0 ả ệ ấ ềđem đến các tnh năng chủ yếu khác g m có s h ồ ự ỗ trợ nhiều máy ch ủ Web hơn, hỗ trợ phiên làm vi c HTTP, t o bệ ạ ộ đệm thông tin đầu ra, nhiều cách xử lý thông tin ngườ ửi s dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ng ữmới V i PHP 4, s nhà phát tri n dùng PHP ớ ố ể đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet

Sau s thành công cự ủa PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chnh thức ra mắt sau một thời gian khá dài tung ra các b n ki m tra th bao g m Beta, ả ể ử ồ

RC Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số

Trang 14

Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt c a PDO, mủ ột nỗ l c trong vi c t o ra m t hự ệ ạ ộ ệ thống API nh t quán trong viấ ệc truy cập cơ sở ữ liệ d u và th c hi n các câu truy v n Ngoài ra, trong PHP 5.1, các ự ệ ấnhà phát tri n PHP ti p t c có nh ng c i ti n trong nhân Zend Engine 2, nâng cể ế ụ ữ ả ế ấp

mô đun PCRE lên bản PCRE 5.0 cùng những tnh năng và cải tiến mới trong SOAP, streams và SPL

Hiện nay phiên b n ti p theo cả ế ủa PHP đang được phát tri n, Phiên b n PHP ể ả

6 được kỳ vọng s lẽ ấp đầy nh ng khi m khuy t c a PHP phiên b n hi n tữ ế ế ủ ở ả ệ ại, như là: hỗ trợ namespace, hỗ trợ Unicode, s d ng PDO làm API chu n cho vi c truy ử ụ ẩ ệcập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL Phiên bản 6 này chỉ dùng ở việc nghiên c u và th nghi m PHP 7 v i vi c s d ng b nhân Zend ứ ử ệ ớ ệ ử ụ ộEngine m i PHPNG cho tớ ốc độ nhanh g p 2 l n Ngoài rấ ầ a ở phiên b n này còn ảthêm vào r t nhiấ ều cú pháp, tnh năng mới giúp cho PHP tr nên m nh mở ạ ẽ hơn Những tnh năng mới quan tr ng có th k ọ ể ể đến như: khai báo kiểu dữ liệu cho bi n, ếxác định kiểu dữ liệu sẽ ả tr về cho 1 hàm, thêm các toán tử mới

1.5.1.3 Ưu điểm của PHP

PHP là ngôn ng mã ngu n m , có thữ ồ ỡ ể chạy được trên c Apache và IIS do ả

đó so với ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh ch ng b ng s ứ ằ ốlượng các website được thiết kế bằng ngôn ngữ PHP hiện nay Cấu trúc PHP cực

kỳ đơn giản, vậy nên bạn sẽ không mất nhiều thời gian để có thể học được Một khi đã làm chủ được HTML và C, bạn hoàn toàn có thể làm chủ được ngôn ngữ lập trình này

Thư viện của PHP vô cùng phong phú, hệ thống CMS miễn ph dùng tương đối nhiều, cũng như được cộng đồng hỗ trợ ột cách vô cùng mạ m nh m V y nên ẽ ậbạn có th d dàng tìm ngu n tài li u mình cể ễ ồ ệ ần cũng như có thể nhận được s h ự ỗ

trợ m t cách nhanh nhộ ấ t

Trang 15

Do chạy được trên máy ch Apache ủ và thường đi cặp cùng với hệ qu n tr ả ị cơ

sở dữ liệu MySQL nên việc cài đặt môi trường phát triển vô cùng đơn giản, thông qua m t bộ ộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS

1.5.1.4 PHP Framework

Framework là m t b mã nguộ ộ ồn được xây d ng, phát triự ển và đóng gói –phân ph i b i các chuyên gia l p trình ho c b i các công ty l p trình Nó số ở ậ ặ ở ậ ẽ cung cấp m t c u trúc phát tri n chuộ ấ ể ẩn để các developer dựa vào đó xây dựng và phát triển các d ự án Đi kèm theo nó là một kho thư viện gồm nhi u l p/hàm x ề ớ ử lý được đặt trong các packages ho c namespace riêng Các chuyên gia l p trình sặ ậ ử d ng ụnhiều kỹ thuật l p trình và gi i thuậ ả ật/thuật toán để xây d ng các l p x lý m t cách ự ớ ử ộtối ưu nhất, giải quyết các bài toán lập trình nhanh chóng và chính xác Các lớp trong m t framework s làm vi c t t nh t v i c u trúc chuộ ẽ ệ ố ấ ớ ấ ẩn mà framework đó cung c p ấ

Nhắc đến sự hỗ trợ m nh m c a cạ ẽ ủ ộng đồng cho ngôn ng l p trình PHP thì ữ ậchắc ch n ph i k t i sắ ả ể ớ ự đa dạng c a các PHP Framework: Laravel, Symfonyủ , Codeigniter, CakePHP Các PHP Framework đều được xây d ng theo chu n mô ự ẩhình MVC (Model – View – Controller) và cung cấp r t nhi u l p hấ ề ớ ỗ trợ ử x lý v ềbảo m t, phân quyậ ền, captcha, view helper, module manager, database, service… khi đó các l p trình viên s xây d ng, phát tri n website m t cách d dàng và nhanh ậ ẽ ự ể ộ ễchóng

PHP framework làm cho s phát tri n c a nh ng ng d ng web vi t b ng ự ể ủ ữ ứ ụ ế ằngôn ng PHP tr nên trôi chữ ở ảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây

Hình 1.3 Top các ngôn ng ph bi n 01/2018 ữ ổ ế – chỉ ố s PYPL

Trang 16

gian, tăng sự ổn định cho ứng dụng, và gi m thi u s l n ph i vi t l i mã cho lả ể ố ầ ả ế ạ ập trình viên Ngoài ra Framework còn giúp những người m i bớ ắt đầu có th xây d ng ể ựcác ứng d ng ụ ổn định hơn nhờ việc tương tác chnh xác giữa các Database, mã (PHP) và giao di n (HTML) m t cách riêng biệ ộ ệt Điều này cho phép b n dành ạnhiều thời gian để tạo ra các ứng dụng web, hơn là ph thời gian để viết các đoạn

mã l p l i trong m t project ặ ạ ộ

Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được

kể đến là Model View Controller (MVC) MVC là 1 mô hình (ki n trúc) trong lế ập trình, cho phép tách bi t các mã nghi p v ệ ệ ụ (business logic) và giao di n (UI) thành ệcác ph n riêng biầ ệt, điều này đồng nghĩa với việc ta có th ể chỉnh sửa chúng 1 cách riêng l Trong c m tẻ ụ ừ MVC thì: Model (M) có th hi u là ph n x lý các thao tác ể ể ầ ử

về nghi p vệ ụ (business logic), View (V) được hi u là ph n x lý l p giao diể ầ ử ớ ện (presentation layer), và Controller (C) làm nhiệm v lụ ọc các request đc gọi từ user,

có chức năng như 1 route: điều ch nh, phân lu ng các yêu cỉ ồ ầu để ọi đúng Model g

& View thích h p Vợ ề cơ bản, MVC chia nh quá trình x lý c a 1 ng d ng, vì ỏ ử ủ ứ ụthế nên b n có th làm vi c trên t ng thành ph n riêng l , trong khi nh ng thành ạ ể ệ ừ ầ ẻ ữphần khác s không bẽ ị ảnh hưởng tới Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và t phứ ạp hơn.c t

Trong vài năm qua, PHP đã tiến tri n thành 1 ngôn ngể ữ script đượ ực l a ch n ọbời h u h t các nhà phát triầ ế ển website, đã có 1 sự bùng n v các PHP framework, ổ ề

dẫn đến các cuộc tranh luận lớn về đề tài: PHP framework nào là t t nh t, b i vì ố ấ ởthực tế không phải tất c các framework đều được xây dựng trên khuôn khổ dành ảcho nhiều ngườ ử ụng Dưới đây là 3 framework được đánh giá là tối s d t và ph ổbiến nh t hi n nay: ấ ệ

 Laravel

Laravel ra m t vào cu i tháng 04-ắ ố 2011 nhưng đã gây được s chú ý lự ớn đối với cộng đồng PHP framework Laravel được tạo ra bởi Taylor Otwell Nó là 1

Hình 1.4 Top các PHP framework ph bi ổ ến

Trang 17

framework khá m i m ớ ẻ nhưng bù lại nó có “hướng d n s dẫ ử ụng” ( Document ) khá đầy đủ, rõ ràng và d hi u và nhiễ ể ều ưu điểm h p d n ấ ẫ Chnh vì nó ra đời sau, khắc phục được những thiếu xót của các framework đàn anh, nên nó đang nắm giữ vị trí s m t vố ộ ề độ ph bi n hi n nay v i nhiổ ế ệ ớ ều tnh năng mạnh m : ẽ

- Route trong Laravel th t sậ ự khác bi t, mệ ới mẻ và đầy mạnh mẻ Mọi url đều

có th qu n lý trong file route ể ả

- Master layout được tích hợp sẵn cùng Blade template giúp code c a chúng ủ

ta trên nên g n gàng và ti n d ng Các file layout có th d dàng extend c a nhau ọ ệ ụ ể ẽ ủgiúp code ng n g n, d qu n lý ắ ọ ễ ả

- Migration qu n lý database ả thật d dàng khi làm viễ ệc đội nhóm

- Eloquent class đầy m nh m n i b t khi x ạ ẽ ổ ậ ử lý cơ sở dữ liệu quan hệ 1 N và –N–N, tối ưu tấ ảt c các câu truy v n ấ

- Composer qu n lý và tích hả ợp các thư viện khác th t hay và không lo l ng ậ ắkhi thư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện mọi yêu c u cầ ủa chúng ta

- Document d c, d hiễ đọ ễ ểu và có đầy đủ các ví dụ Tuy ra đời muộn hơn các framework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại trang ch , các ví vủ ụ để đọc đễ hiểu, cộng đồng phát tri n r ng l n và luôn luôn ể ộ ớđược update k p thời ị

- Eloquent ORM: đây là một ORM tuy t v i vệ ờ ới khả năng migration data và làm vi c t t vệ ố ới MySQL, Postgres, SQL Server và SQLite, MongoDB Các câu truy v n database d hi u, nhanh chóng ấ ễ ể

- Package-libery phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu cơ bản c a chúng ta ủ

- User authentication được tích hợp sẵn, lập trình viên ch c n g i class là có ỉ ầ ọthể s d ng theo ý mu n ử ụ ố

 Symfony

Ra mắt và năm 2005, là một framework mạnh m , Symfony là s kẽ ự ết hợp giữa tính v ng b n c a PHP, s t do c a Open Soure vữ ề ủ ự ự ủ ới đặc tính d b o trì cễ ả ủa một mã lập trình được thi t k theo mô hình MVC (Model-ế ế View-Controller).Symfony là m t framework Open Source vi t b ng ngôn ng l p trình PHP5 ộ ế ằ ữ ậSymfony giúp phát tri n ng d ng web thi t k theo yêu c u M t cể ứ ụ ế ế ầ ộ ộng đồng r ng ộlớn các lập trình viên đảm b o vả ề khả năng phát triển, tnh linh động, tự do và tiết kiệm chi phí cho các dự án được phát tri n vể ới Symfony, đây cũng là những đặc tính mà Sutunam luôn chú trọng đưa vào các gi i pháp Open Source c a mình ả ủTrên h t, cùng vế ới Drupal, phpBB và ezPublish, Symfony2 hiện đang là một trong những phiên b n h ả ệ thống qu n tr n i dung (CMS) m i nhả ị ộ ớ ất được viết bằng PHP Symfony có những ưu điểm như:

- Dễ cài đặt và cấu hình trên hầu hết các hệ điều hành và được bảo đảm làm việc t t trên các hố ệ điều hành chu n *nix(Linux và Unix) và Windows ẩ

- Độc l p v i hậ ớ ệ cơ sở ữ liệu d

Trang 18

- Dễ dùng trong h u hầ ết các trường hợp nhưng vẫn đủ m m dề ẻo để thích nghi với những trường h p phợ ức t p ạ

- Hoạt động theo cấu hình định trước – l p trình viên ch c n c u hình trong ậ ỉ ầ ấnhững trường hợp riêng biệt không theo quy ước

- Tuân theo nh ng hoữ ạt động và m u thi t k t t nh t ẫ ế ế ố ấ

- Sẵn sàng cho môi trường xí nghi p thích nghi v i nh ng chính sách và ệ – ớ ữkiến trúc công nghệ thông tin và đủ ổn định cho nh ng d án dài h n ữ ự ạ

- Được thi t kế ế theo mô hình Model-View-Controller: Mô hình MVC giúp tách thành ph n hi n th giao di n (presentation) và x lý (business logic) c a mầ ể ị ệ ử ủ ột phần m m thành nh ng thành phề ữ ần độ ậc l p, từ đó giúp cho việc thi t k , x lý và ế ế ửbảo trì mã ngu n dồ ễ dàng, đồng thời tăng khả năng mở rộng của phần mềm CodeIgniter v n d ng mô hình này trong thi t k , giúp tách bi t các t p tin giao ậ ụ ế ế ệ ậdiện v i các t p tin xớ ậ ử lý dữ liệu, nâng cao khả năng quản lý và dễ bảo trì

- Nhỏ gọn: Gói cài đặt ch 404KB (không bao g m ph n User Guide) So vỉ ồ ầ ới các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend Framework (5.66MB)…kch thước c a CodeIgniter giúp gi m thiủ ả ểu đáng kểkhông gian lưu trữ

- Tốc độ nhanh: CodeIgniter được đánh giá là PHP framework có tốc độ nhanh nh t hi n nay Bấ ệ ằng cơ chế lưu nội dung vào bộ đệm (cache), ki m tra b ể ộđệm trước khi tiến hành th c hi n yêu c u, CodeIgniter gi m s l n truy c p và x ự ệ ầ ả ố ầ ậ ử

lý dữ liệu, từ đó tối ưu hóa tốc độ ả t i trang

- Miễn ph: CodeIgniter được phátt hành dưới giấy phép Apache/BSD mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn

- Hỗ trợ Search Engine Optimization: C u trúc URL c a CodeIgniter r t thân ấ ủ ấthiện v i các robot tìm kiớ ếm

- Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ cho nh ng tác vữ ụ thường g p nh t trong l p trình web, ch ng hặ ấ ậ ẳ ạn như truy cập cơ

sở d ữ liệu, g i email, ki m tra d ử ể ữ liệu, qu n lý session, x lý ả ử ảnh…đến nh ng chức ữnăng nâng cao như XML-RPC, mã hóa, bảo mật…

- Bảo m t hậ ệ thống: Cơ chế kiểm tra dữ liệu ch t chặ ẽ, ngăn ngừa XSS và SQL Injection c a CodeIgniter giúp gi m thiủ ả ểu các nguy cơ bảo mật cho hệ thống

Trang 19

 Trên đây liệt kê m t sộ ố tnh năng, đặc điểm n i b t c a 3 php framework ổ ậ ủphổ bi n hi n nay, m i Framework có mế ệ ỗ ột tnh năng và đặc điểm riêng, tùy theo từng đặc điểm của dự án, khách hàng mà ta có thể chọn một framework phù h p ợTrong khuôn khổ đồ án tốt nghiệp này, em đã lựa chọn Laravel để phát triển đồ

Nhưng cũng chnh vì ra đời muộn màng như thế đã buộc nó phải học hỏi cái hay từ các PHP Framework đàn anh đi trước, khắc phục những thiếu xót của các framework khác như symfony (laravel dùng thư viện của symfony) và đặc biệt là

CI Không nh ng h c h i t các PHP Framework, nó còn h c cái hay tữ ọ ỏ ừ ọ ừ Ruby on Rails, ASP.NET MVC, và Sinatra

Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP framework ph bi n nhổ ế ất, Laravel đã giành vị trí quán quân cho PHP framework ph bi n nhổ ế ất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào một số khác Trước đó, Tháng 8 năm 2014, Laravel đã trởthành project PHP ph bi n nhổ ế ất và được theo dõi nhi u nh t trên Github Laravel ề ấđược phát hành theo giấy phép MIT, với source code được lưu trữ ại Github t

1.5.2.2 L ịch sử hình thành và phát tri n

Bản phát hành beta đầu tiên của Laravel được phát hành vào ngày 9 tháng 6 năm 2011, tiếp theo là bản phát hành Laravel 1 sau đó trong cùng một tháng Laravel 1 bao g m h ồ ỗ trợ tích h p cho xác th c, bợ ự ản địa hóa (localisation), models, views, sessions, định tuyến (routing) và các cơ chế khác, nhưng thiếu hỗ trợ cho các b ộ điều khiển (controller) ngăn cản nó tr thành m t MVC framework th c s ở ộ ự ựLaravel 2 được phát hành vào tháng 9 năm 2011, mang lại nhiều c i ti n khác ả ếnhau t tác gi và cừ ả ộng đồng Các tnh năng chnh mới bao g m s hồ ự ỗ trợ cho các

bộ điều khiển (controller), nó đã làm cho Laravel 2 trở thành m t framework tuân ộthủ đầy đủ MVC, hỗ trợ ẵn cho nguyên lý điều khi n (IoC) và m t h s ể ộ ệ thống templating gọi là Blade Nhược điểm, hỗ trợ cho các gói c a bên th ba (third-ủ ứparty packages) đã được gỡ bỏ trong Laravel 2

Laravel 3 được phát hành vào tháng 2 năm 2012 với một loạt các tnh năng

Trang 20

xử lý events và hệ thống đóng gói được g i là Bundles K tọ ể ừ bước nh y vả ọt ởphiên b n này, ta ch ng ki n sả ứ ế ự gia tăng người dùng (developer) và mức độ ph ổbiến của Laravel tăng chóng mặt

Laravel 4, được đặt tên là Illuminate , được phát hành vào tháng 5 năm 2013

Nó được viết thành một khung hoàn ch nh c a Laravel framework, di chuy n b ỉ ủ ể ốcục c a nó thành m t t p các gói riêng biủ ộ ậ ệt được phân ph i thông qua Composer, ốphục vụ như một trình quản lý gói ứng d ng Cách bụ ố tr như vậy đã cải thi n kh ệ ảnăng mở rộng của Laravel 4 Các tnh năng mới khác trong b n phát hành Laravel ả

4 bao g m database seeding, hồ ỗ trợ hàng đợi (queue) tin nh n, hắ ỗ trợ cho vi c gệ ửi các lo i email khác nhau và hạ ỗ trợ xóa các bản ghi cơ sở dữ liệu dạng SoftDelete (không xóa h n kh i database) ẳ ỏ

Laravel 5 được phát hành vào tháng 2 năm 2015 là kết quả của những thay đổi nội bộ đã kết thúc trong việc thay đổ ản phát hành Laravel 4.3 trong tương i blai Các tnh năng mới trong bản phát hành Laravel 5 bao g m hồ ỗ trợ ậ l p kế hoạch (scheduling) các tác vụ được th c hiự ện định k thông qua gói có tên Scheduler, ỳmột l p trớ ừu tượng (abstraction layer) có tên Flysystem cho phép lưu trữ t xa cách ừdùng tương tự như trên local, cải thiện việc xử lý tài sản gói thông qua Elixir (giờ

đổi tên thành Laravel Mix), h tr xác th c bên th 3 đơn giản thông qua gói ỗ ợ ự ứLaravel 5 cũng giới thi u cệ ấu trúc cây thư mục m i cho các ớ ứng dụng đã phát triển Vừa qua, ngày 3 tháng 9 năm 2019 Laravel đã phát hành chnh thức phiên bản 6 với nhiều tnh năng cả ếi ti n so v i phiên b n 5 ớ ả

1.5.2.3 Ưu điểm của Laravel

Tốc độ xử lý nhanh: Sự ra đờ ủa Laravel như mội c t luồng gió mới thổi vào cộng đồng framework PHP N n t ng này có th hề ả ể ỗ trợ ạ t o nên các trang web l n, ớ

dự án l n R t nhi u công ty công nghớ ấ ề ệ đã sử ụ d ng n n tề ảng để phát tri n các s n ể ảphẩm cho công ty c a h ủ ọ

Dễ dàng s d ng: M t trong nh ng lý do khiử ụ ộ ữ ến Laravel nhanh chóng được cộng đồng người dùng đón nhận và s d ng nhi u là do nó r t dử ụ ề ấ ễ để có th s ể ửdụng Ngay c khi b n ch m i ch có nh ng ki n thả ạ ỉ ớ ỉ ữ ế ức cơ bản nh t vấ ề ậ l p trình web v i PHP, thì ch mớ ỉ ất vài gi là b n có th b t tay vào vi c làm m t project ờ ạ ể ắ ệ ộnhỏ v i Laravel ớ

Mã ngu n mồ ở: Laravel framework được xây dựng v i mã ngu n mớ ồ ỡ và hoàn toàn miễn ph Do đó, bạn không c n ph i quaầ ả n tâm đến vi c tr thêm phí khi m ệ ả ởrộng ng d ng hay trang web c a mình M i l n n n tứ ụ ủ ỗ ầ ề ảng này được c p nh t, b n ậ ậ ạlại có cơ hội khám phá thêm nhiều tnh năng độc đáo và ứng d ng vào các sụ ản phẩm công nghệ mà mình đang triển khai

Được xây dựng theo đúng chuẩn WVC: WVC là tiêu chu n thi t kẩ ế ế web, bất

kì website nào được đánh giá theo đúng chuẩn này thì đều sẽ hoạt động tốt và ít nhiều mang l i nhạ ững hi u quệ ả thực sự dành cho công ty, đơn vị sở hữu nó

Mô hình MVC: là m t ki n trúc ph n mộ ế ầ ềm hay mô hình thiết kế được sử dụng trong kỹ thuật ph n m m Nó giúp cho các developer tách ng d ng c a h ầ ề ứ ụ ủ ọ

ra 3 thành ph n khác nhau Model, View và Controller M i thành ph n có mầ ỗ ầ ột

Trang 21

nhiệm v riêng biụ ệt và độ ậc l p v i các thành ph n khác V i tiêu chu n này, các ớ ầ ớ ẩcấu trúc và cách tổ chức code trong d án c a b n sự ủ ạ ẽ được s p x p m t cách hắ ế ộ ợp

lý d dàng cho viễ ệc duy trì cũng như phát triển v lâu dài ề

Tích h p s n nhiợ ẵ ều tnh năng: Bản thân Laravel đã cung cấp cho người dùng rất nhiều các nhóm tnh năng giúp quá trình phát triển trở nên nhanh chóng hơn rất nhiều l n ầ

Module đa dạng: Laravel được xây d ng dự ựa trên hơn 20 thư viện khác nhau Hiểu được cách thiết kế framework khi n các l p trình hoàn toàn có thế ậ ể đóng góp cho framework cũng như mở rộng chúng một cách dễ dàng

Tính b o mả ật cao: Để giúp lập trình viên có th tể ối đa thời gian t p trung vào ậviệc phát triển các tnh năng mình cần, Laravel đã cung cấp sẵn cho người dùng các tnh năng bảo mật cơ bản như: ORM của Laravel sử dụng PDO thay vì mysqli

để ch ng l i t n công SQL Injection, Laravel s d ng m t field token ố ạ ấ ử ụ ộ ẩn để chống lại t n công ki u CSRF, Các biấ ể ến được đưa ra view mặc định đều được Laravel escape để tránh tấn công XSS Do đó, khi thiết kế web với Laravel, b n không cạ ần quá lo l ng vắ ề kh năng bảo mật hay mất nhi u thả ề ời gian để cài đặt hay tối ưu thêm cho tnh năng này Tất cả đã có sẵn với Laravel

Cộng đồng người dùng rộng lớn: Như nhiều nền tảng mã ngu n mồ ở khác, Laravel Framwork cũng có cộng đồng người dùng rộng rãi và sẵn sàng hỗ trợ bạn trong quá trình thi t l p và v n hành dế ậ ậ ự án Đặc biệt việc fix bug hay tìm lỗi trở nên nhanh chóng, d dàng và ti t ki m thễ ế ệ ời gian hơn rất nhiều

HTML, CSS và JavaScript

1.5.3.1 HTML

HTML là ch ữ viế ắt cho “HyperText Markup Language”, hay là "Ngôn ngữ t tĐánh dấu Siêu văn bản" 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ì HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm nghiên c u CERN ứ ở Thụy Sĩ Anh ta đã nghĩ ra được ý tưởng cho hệ thống hypertext trên n n Internet Anh xu t b n phiên bề ấ ả ản đầu tiên của HTML trong năm

1991 bao g m 18 tag HTML Tồ ừ đó, mỗi phiên b n m i cả ớ ủa HTML đều có thêm tag mới và attributes m i Nâng c p m i nh t gớ ấ ớ ấ ần đây là vào năm 2014, khi ra mắt chuẩn HTML5

1.5.3.2 CSS

CSS là chữ viế ắt cho “Cascading Style Sheets”, đượt t c s dử ụng để mô tả giao diện và định d ng c a mạ ủ ột tài liệu vi t b ng ngôn ng ế ằ ữ đánh dấu (markup) Nó cung c p mấ ột tnh năng bổ sung cho HTML Nó thường được s d ng v i HTML ử ụ ớ

Trang 22

để thay đổi style của trang web và giao diện người dùng Nó cũng có thểđược s ửdụng v i b t kớ ấ ỳ loại tài li u XML nào bao g m cệ ồ ả XML đơn giản, SVG và XUL CSS được phát tri n bể ởi W3C (World Wide Web Consortium) vào năm 1996, nhằm mục đch: Hạn chế tối thiểu vi c làm r i mã HTML c a trang Web b ng các ệ ố ủ ằthẻ quy định kiểu dáng khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web và định d ng hi n th , d dàng cho vi c c p nh t n i dung; ạ ể ị ễ ệ ậ ậ ộTạo ra các ki u dáng có th áp d ng cho nhi u trang Web, giúp tránh ph i l p lể ể ụ ề ả ặ ại việc định dạng cho các trang Web giống nhau

Giống như HTML, CSS không thực sự là một ngôn ngữ lập trình mà là một ngôn ng nh ki u ữ đị ể – style Điều này có nghĩa là nó cho phép bạn áp dụng ki u có ểchọn l c cho các ph n t trong tài li u HTML ọ ầ ử ệ

1.5.3.3 JavaScript

JavaScript là m t ngôn ng l p trình k ch bộ ữ ậ ị ản đa nề ản t ng (cross-platform), hướng đối tượng Nó chủ yếu được sử dụng để tăng cường cung cấp trải nghiệm thân thiện hơn với người dùng website như là bao gồm các trang web c p nh t t ậ ậ ựđộng, c i ti n giao diả ế ện người dùng như menu và hộp thoại, hình động, đồ họa 2D

và 3D, bản đồ tương tác, trình phát video JavaScript là một ngôn ng nh và nhữ ỏ ẹ, chạy trong môi trường máy chủ lưu trữ (trình duyệt web) Nó có thể được kết nối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối với chúng

JavaScript được phát tri n b i Brendan Eich t i Hãng truy n thông Netscape ể ở ạ ềvới cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cu i cùng thành ốJavaScript Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java Hiện nay phiên b n mả ới nhất của JavaScript là ECMAScript 7 với nhiều cải tiến vượ ật b c so v i phiên b n ti n nhiớ ả ề ệm

JavaScript là ngôn ng k ch b n phía máy khách (client-side) duy nh t Do ữ ị ả ấ

đó, nó được s d ng trên h u h t các trang web mà b n nhìn th y trên internet Tuy ử ụ ầ ế ạ ấnhiên cú pháp c a nó vô cùng l n x n và khó làm chủ ộ ộ ủ, do đó Jquery – một thư viện của JavaScript ra đời nhằm giúp l p trình viên xây d ng nh ng chậ ự ữ ức năng có sửdụng Javascript tr nên dở ễ dàng hơn như: đơn giản hóa việc duyệt tài liệu HTML,

xử lý sự kiện, hoạt ảnh và tương tác Ajax để phát triển web nhanh chóng jQuery

là m t b công c JavaScript g n nhộ ộ ụ ọ ẹ nhưng đầy m nh mạ ẽ, được ch ng minh qua ứhơn 90% các website trên thế giới sử dụng (trừ các website chạy bằng JavaScript Framework)

Môi trường phát triển ng dng

1.5.4.1 Apache WebServer

Apache là m t ph n m m mã ngu n mộ ầ ề ồ ở miễn ph được cài đặt trên các máy chủ web server (ph n cầ ứng) để xử lý các yêu c u g i t i máy chầ ử ớ ủ dưới giao thức HTTP Tên chính th c cứ ủa Apache là Apache HTTP Server, được điều hành và phát tri n b i Apache Software Foundation Apache là m t trong s nh ng web ể ở ộ ố ữserver lâu đời và đáng tin cậy nhất, phiên bản đầu tiên đã được ra mắt từ hơn 20

Trang 23

Apache WebServer phân tích các yêu c u t trình duyầ ừ ệt, sau đó xử lý yêu cầu với các file ngôn ngữ lập trình như là PHP, Python, Java, thành file HTML và trả về cho người dùng web trên trình duyệt để ể hi n th ị

1.5.4.2 MySQL

MySQL là h qu n trệ ả ị cơ ở ữ liệ ự s d 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, đặc biệt l cà ác ứng d ng website v nụ à ó thường đi kế ợt h p v i ngôn ng l p tr nh PHP ớ ữ ậ ì

để xây d ng các ng dụng ự ứ website MySQL được các hệ thống web ưa chuộng là

vì tốc độ ử ý cao, d s d ng, x l ễ ử ụ ổn định, v à tương thch với các hệ điều h nh thông àdụng hi n ệ nay như Linux, Window, Mac OS X, Unix, FreeBSD…

1.5.4.3 XAMPP

Apache và MySQL là hai y u tế ố c n thi t cầ ế ấu thành nên môi trường phát tri n ểứng dụng web b ng ngôn ng ằ ữ PHP Do đó XAMPP ra đời nhằm mục đch kết hợp tất c các y u tả ế ố c u thành WebServer trong mấ ột chương trình

XAMPP là chương trình 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 XAMPP có chương trình quản lý khá tiện lợi, cho phép 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 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 ậ ể

Thanh toán điện tử Ngân Lượng

NgânLượng.vn là V điện tử và C ng Thanh toán Tr c tuy n (TTTT) tiên ổ ự ếphong và uy tn hàng đầu tại Việt Nam, cả về ả s n ph m d ch vẩ ị ụ, độ ph ủ thị trường

và lưu lượng thanh toán Được phát tri n b i Nexttech Group (ti n thân là ể ở ềPeaceSoft Group) từ năm 2009 Ngân Lượng cho phép các cá nhân và doanh nghiệp gửi và nh n ti n thanh toán trên Internet mậ ề ột cách nhanh chóng, an toàn và

tiện lợ i

Giải pháp tích h p dùng cho các weợ bsite bán hàng online, sàn thương mại điệ ửn t (Wordpress, Joomla, Magento, ) cần tích hợp chức năng thanh toán trực tuyến, cho phép người mua thanh toán trên các kênh Online như ATM, Internet Banking, Thẻ Quố ếc t (visa, maste, JCB, Amex), QRCode, Chuy n kho n ngân ể ảhàng Các phương thức thanh toán hỗ trợ bao gồm:

- Thẻ qu c t ( VISA, Master, JCB, Amex ) ố ế

- Thẻ ATM nội địa

- Internet Banking

- QR-Code Mobile Banking

- V điện tử trong và ngoài nước

- Chuyển kho n ngân hàng ả

- Tiền m t t i qu y ặ ạ ầ

- Thẻ trả trước

Trang 24

Hiện t i Ngân ạ Lượng đang cung câp ba hình thức tích hợp thanh toán trên Website là:

- Checkout Tiêu chu n: là các hình th c nẩ ứ gười dùng ch n thanh toán thì s ọ ẽđược chuyển hướng sang Ngân Lượng để tiến hành thanh toán

- Checkout Nâng cao: là các hình thức thanh toán được hi n th ngay trên ể ịwebsite người bán

Hình 1.5 Quy trình Checkout tiêu chu ẩn

Trang 25

- Seamless Checkout: là các hình thức thanh toán được hi n th ngay trên ể ịwebsite người bán và người mua thực hiện xác thực giao dịch trên hệ thống (web/app) c a merchant ho c ngân hàng ủ ặ

Hình 1.6 Quy trình Checkout nâng cao

Hình 1.7 Quy trình Seamless Checkout

Trang 26

Kết lu n

Qua nội dung của chương 1, em đã trình bày hiểu biết về nhu cầu, th c trự ạng của thương mại điện t ử cũng như xây dựng các kênh giao tiếp, bán hàng… và cũng

đã lựa chọn được giải pháp công nghệ để phát tri n website trên n n t ng Laravel, ể ề ả

hệ qu n trả ị cơ sở ữ liệu MySQL, k t h p cùng v i HTML, CSS, JavaScript T d ế ợ ớ ừ

cơ sở này, ở chương 2 em sẽ tiếp tục đi tìm hiểu khảo sát thực tế các nghiệp vụ, chức năng cần thiết cho hệ thống website bán điện thoại

Trang 27

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

Nội dung: Chương 2 trình bày các yêu cầu đặt ra cho hệ thống, các tác nhân của hệ thống Đồng thời đưa ra các chức năng, ểu đồ bi UseCase và biểu đồ hoạt động cho từng tác nhân đó Trên cơ sở phân tích trên em s ẽ thiế ết k các b ng trong ả

cơ sở dữ liệu và quan hệ của chúng

2.1 Các yêu cầu đặt ra cho h ệ thng

Hệ thống là một website thương mại điệ ửn t nên mọi doanh thu và lợi nhuận đều đến từ pha khách hàng Do đó các yêu cầu đặt ra cho hệ thống cũng phải phù hợp v i nhu c u c a khách hàng ớ ầ ủ

Yêu c u v giao di n website: ph có giao di n thân thi n, b t m t, d s ầ ề ệ ải ệ ệ ắ ắ ễ ửdụng, phù h p vợ ới th yị ếu và nhu c u cầ ủa người dùng Không nên có quá nhiều hiệu ứng, hoa m , lòe lo t, nhi u chi ti t không c n thi t gây mỹ ẹ ề ế ầ ế ỏi mắt Trang chủ phải hi n thể ị bao quat toàn b hộ ệ thống và ph i làm n i b t nh ng s n ph m m i, ả ổ ậ ữ ả ẩ ớsản phẩm ưa chuộng H ệ thống ph i có các trang gi i thiả ớ ệu, trang hướng d n, trang ẫchnh sách để người dùng có thể tìm được thông tin và t o sạ ự tin tưởng cho khách hàng

Về hiệu năng của hệ thống: hệ thống ph i có hiả ệu năng xử lý yêu cầu của khách hàng nhanh nh t có th , ngay l p t c ph i h i lấ ể ậ ứ ả ồ ại khi người dùng click vào một chức năng cụ thể Bên cạnh hiêu năng nhanh còn phải x lý chính xác yêu c u ử ầcủa khách hàng và đảm bảo an toàn bảo mật cho khách hàng

Về các chức năng của hệ thống: đảm bảo hệ thống có đầy đủ chức năng cần thiết c a mủ ột trang thương mại điện tử Khách hàng có thể tạo tài khoản và đăng nhập, tìm ki m, thêm s n ph m vào giế ả ẩ ỏ hàng, mua hàng và thanh toán Người quản trị có th qu n lý t t cể ả ấ ả các người dùng trong hệ thống, qu n lý s n ph m, ả ả ẩquản lý đơn hàng, thống kê doanh số

Trên đây là các yêu cầu cơ bản c a mủ ột trang thương mại điện t trong khuôn ửkhổ của đồ án t t nghi p này ố ệ

hệ thống thanh toán điện tử (Online Payment) do tích hợp thanh toán bên th ba ứ

Guest: là những người truy cập vào website nhưng chưa đăng nhập Mục đch của hệ thống hướng tới những tác nhân này ch nh m qu ng bá cho website, ỉ ằ ả

do đó những tác nhân này chỉ được sử d ng các chụ ức năng cơ bản như: tìm kiếm, xem s n ph m, bài viả ẩ ết, chnh sách, đánh giá – bình lu n c a nhậ ủ ững người dùng

Trang 28

đăng nhập, khuyến mại của cửa hàng và được hỗ trợ trực tuyến từ c a hàng thông ửqua messenger

User: là những người dùng đã đăng nhập vào hệ thống Nh ng tác nhân này ữ

là mục đch chnh mà hệ thống hướng tới do đó ngoài các chức năng cơ bản mà Guest được sử dụng thì còn được sử dụng thêm nhiều chức năng nâng cao khác, như là: quản trị tài khoản, mua s n phả ẩm, đánh giá – bình lu n v 1 bài vi t hay ậ ề ếsản phẩm Hơn nữa nh ng tác nhân này còn có th nhữ ể ận được thông báo t h ừ ệthống v tình trề ạng đơn hàng, chương trình khuyến m i m i nh t, tri ân khách ạ ớ ấhàng

Admin: là tác nhân giữ vai trò chính trong hệ thống website Là người điều

hành, qu n lý và theo dõi m i hoả ọ ạt động c a hủ ệ thống Tác nhân có thể thực hiện được tất c chức năng quản tr trong hệ thống như là: quản lý kho hàng, quản lý ả ịbài vi t, qu n lý các tài kho n thành viên khác, xế ả ả ử lý đơn hàng, thống kê doanh thu, hỗ trợ và ph n h i cho khách hàng ả ồ

Online Payment: là kênh thanh toán điện tử được hệ thống tin tưởng và tích

hợp vào nh m mằ ục đch giúp cho người dùng tiện lợi hơn trong việc thanh toán khi mua hàng, người quản tr ịcũng dễ kiểm soát được doanh s ố cũng như tài chnh của c a hàng Tác nhân này chử ỉ tác động đến hệ thống khi người dùng tiến hành thanh toán khi mua s n ph m bả ẩ ằng phương thức thanh toán online M i xác thọ ực tài kho n và tiả ến hành thanh toán đều được hệ thống y quy n cho tác nhân này ủ ềSau khi thanh toán, tác nhân này sẽ trả ạ l i cho hệ thống m mã thông báo tr ng ột ạthái thanh toán có th là thành công ho c th t b i, hể ặ ấ ạ ệ thống s d a hoàn toàn vào ẽ ự

mã trạng thái này để quyết định tác v nào sụ ẽ được th c hi n ti p theo ự ệ ế

Hình 2.1 Các tác nhân c a hệ thống

Trang 29

2.3 Biểu đồ UseCase ca h ệ thng

Biểu đồ UseCase tổng quát

Hình 2.2 Biều đồ UseCase t ng quát

Trang 30

Biểu đồ UseCase chi tiết với từng tác nhân

2.3.2.1 Biểu đồ UseCase với tác nhân Guest

Hình 2.3 Bi ểu đồ UseCase v i tác nhân Guest

Trang 31

2.3.2.2 Biểu đồ UseCase với tác nhân User và Online Payment

Trang 32

2.3.2.3 Biểu đồ UseCase với tác nhân Admin

Hình 2.5 Bi ểu đồ UseCase v i tác nhân Admin

Trang 34

2.4.1.2 UseCase đăng ký

B ảng 2.1 B ảng đặ ả UseCase đăng ký c t

Tên UseCase Đăng ký

Mô T ả Cho phép khách hàng đăng ký tài khoản

Tác Nhân Người dùng chưa đăng nhập (Guest)

Điều kiện đầu vào Khi người dùng chưa có tài khoản chọn chức năng đăng ký

Điều kiện đầu ra Người dùng đăng ký thành công hoặc hủy đăng ký

- Người dùng chọn đăng ký bằng form đăng ký: sau khi điền đầy đủ thông tin và ấn nút gửi, h ệ thống s gẽ ửi email xác nhân đăng ký

Người dùng ấn vào link trong email và đợi thông báo k t qu t hế ả ừ ệ thống

Dòng sự kiện ph ụ

- Khi tài kho n facebook ho c google không ả ặchính xác hoặc đã đăng ký, hệ thống s hiẽ ển thị thông báo và quay lại trang đăng ký

- Khi người dùng nh p thông tin tài khoậ ản vào form đăng ký không chnh xác hoặc đã tồn t i, hạ ệ thống s hi n th thông báo và ẽ ể ịquay lại trang đăng ký

Hình 2.6 Bi ểu đồ UseCase đăng ký

Trang 35

2.4.1.3 Biểu đồ ạt độ ho ng chức năng đăng ký

Mô t biả ểu đồ hoạt động:

Chức năng đăng ký được kích hoạt khi người dùng truy cập vào trang đăng

ký, hệ thống s hi n th giao diẽ ể ị ện đăng ký Tại đây người dùng có thể chọ đăng n

ký bằng form đăng ký bằng cách điền đầy đủ thông tin trên form hi n th r i click ể ị ồ

Hình 2.7 Biểu đồ hoạt động chức năng đăng ký

Trang 36

trang đăng ký và hiển thị trường không đạt yêu cầu Nếu thông tin đạt yêu cầu, hệ

thống sẽ lưu dữ ệu ngườli i dùng vào database với trạng thái tài khoản chưa được kích ho t và g i email kích ho t vào ạ ử ạ email người dùng vừa đăng ký Người dùng kiểm tra email và click vào đường link kích ho t tài khoạ ản, sau đó hệ thống s ẽchuyển d ữ liệu người dùng sang rạng thái đã kch hoạt và kết thúc chức năng đăng

Trường h p n u không muợ ế ốn đăng ký trược tiếp, người dùng có th click vào ểnút Facebook hoặc Google trên trang đăng ký để đăng ký thông qua tài khoản mạng xã hội Trong trường h p này hợ ệ thống sẽ chuyển hướng đến trang xác thực của mạng xã hội đó, người dùng điền đầy đủ thông tin đăng nhập mạng xã h i, sau ộkhi xác th c thành công, hự ệ thống s l y dẽ ấ ữ liệu tài kho n m ng xã h i cả ạ ộ ủa người dùng lưu vào database sau đó tự động đăng nhập và chuyển hướng đến trang ch ủ

và facebook Chức năng này áp dụng cho tác nhân khách hàng đã có tài khoản nhưng chưa đăng nhập (Guest)

Trang 37

2.4.2.2 UseCase đăng nhập

B ảng 2.2 B ảng đặ ả UseCase đăng nhập c t

Tên UseCase Đăng nhập

Mô T ả Cho phép khách hàng đăng nhập tài khoản

Tác Nhân Người dùng chưa đăng nhập (Guest)

Điều kiện đầu vào Khi người dùng đã có tài khoản và chưa đăng nhập chọn chức năng đăng nhập

Điều kiện đầu ra Người dùng đăng nhập thành công ho c hđăng nhập ặ ủy

- Người dùng chọn đăng nhập bằng form đăng nhậ sau khi điền đầy đủp: thông tin và

ấn nút đăng nhập, hệ thống sẽ kiểm tra, nếu thành công sẽ chuyển hướng đến trang ch ủhoặc trang qu n trả ị tùy thuộc vào lo i tài ạkhoản

Dòng sự kiện ph ụ

- Khi tài kho n facebook hoả ặc google chưa đăng ký, hệ thống sẽ tự động đăng ký và chuyển hướng đến trang chủ

- Khi người dùng nh p thông tin tài khoậ ản vào form đăng nhập không chính xác, hệ thống s hi n th thông báo và quay l i trang ẽ ể ị ạ

Hình 2.8 Bi ểu đồ UseCase đăng nhập

Trang 38

2.4.2.3 Biểu đồ ạt độ ho ng chức năng đăng nhập

Trang 39

bằng form đăng nhập bằng cách điền đầy đủ thông tin trên form hi n th và n nút ể ị ấđăng nhập Hệ thống sẽ kiểm tra thông tin đăng nhập, nếu sai hệ thống sẽ hiển thị lại trang đăng nhập cùng thông báo lỗi, nếu thành công hệ thống sẽ lưu dữ liệu đăng nhập vào session và chuyển hướng đến trang chủ nếu người dùng đăng nhập bằng thông tin tài khoản thường ho c trang qu n tr nặ ả ị ếu người dùng điền thông tin tài kho n qu n tr ả ả ị

Người dùng cũng có thể chọn đăng nhập bằng tài khoản mạng xã hội như Facebook ho c Google nặ ếu click vào nút đăng nhập b ng tài kho n m ng xã h i ằ ả ạ ộKhi đó hệ thống sẽ chuyển hướng đến trang xác thực tương ứng với mạng xã hội

đó Nếu xác thực thành công, hệ thống sẽ lấy thông tin người dùng để đối chiếu với database, nếu người dùng chưa đăng ký bằng tài khoản đó thì hệ thống s t ẽ ựđộng đăng ký, lưu dữ liệu vào database và session sau đó chuyển hướng đến trang chủ và k t thúc chế ức năng đăng nhập

Chc năng quên mật khẩu

2.4.3.1 Mô t ả chức năng

Chức năng này cho phép người dùng đặt lại mật khẩu khi bị quên Sau khi điền chính xác thông tin tài khoản, hệ thống sẽ xác minh và gửi email để người dùng có thể đặ ạt l i m t kh u Chậ ẩ ức năng này áp dụng cho tác nhân người dùng có tài khoản nhưng quên mật kh u (Guest) ẩ

Trang 40

2.4.3.2 UseCase quên mật kh u

B ảng 2.3 Bảng đặ ảc t UseCase quên m t kh u ậ ẩ

Tên UseCase Quên m t kh u ậ ẩ

Mô T ả Cho phép khách hàng đặt lại mật khẩu

Tác Nhân Người dùng chưa đăng nhập (Guest)

Điều kiện đầu vào Khi người dùng đã có tài khoản và quên mật khẩu ch n chọ ức năng đăng nhập

Điều kiện đầu ra Người dùng thay đổi mật khẩu thành công hoặc h y l y l i m t kh u ủ ấ ạ ậ ẩ

Dòng sự kiện chính

Khi người dùng chọn chức năng quên mật khẩu ở trang đăng nhập, sau khi điền thông tin đăng ký và ấn nút lấy lại mật kh u, hệ ẩthống s g i email quên m t kh u kèm link ẽ ử ậ ẩ

có chứa token để truy cập trang đặ ạt l i mật khẩu

Sau khi điền mật khẩu mới và xác nhận, hệ thống s thông báo kẽ ết qu N u thành công, ả ếkết thúc ca sử d ng và quay l i trang ch ụ ạ ủ

Dòng sự kiện ph ụ

Khi người dùng nhập email hoặc số điện thoại chưa được đăng ký tài khoản vào form lấy l i m t kh u, hạ ậ ẩ ệ thống s gẽ ửi thông báo lỗi và quay l i trang quên m t kh u ạ ậ ẩ

Hình 2.10 Bi ểu đồ UseCase quên m t khẩu

Ngày đăng: 21/02/2023, 15:53

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

w