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

Tìm hiểu công nghệ laravel và xây dựng website bán mỹ phẩm

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

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

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

TÌM HIỂU CƠNG NGHỆ LARAVEL VÀ XÂY
DỰNG WEBSITE BÁN MỸ PHẨM

GVHD: NGUYỄN TRẦN THI VĂN
SVTH: PHẠM THỊ QUÀ
MSSV: 15110293
SVTH: NGUYỄN THỊ THANH THẢO
MSSV: 15110314

SKL 0 0 5 7 6 9

Tp. Hồ Chí Minh, tháng 6/2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CƠNG NGHỆ THƠNG TIN
--------------------

PHẠM THỊ QUÀ – 15110293
NGUYỄN THỊ THANH THẢO – 15110314
Đề tài:

TÌM HIỂU CÔNG NGHỆ LARAVEL VÀ


XÂY DỰNG WEBSITE BÁN MỸ PHẨM
KHÓA LUẬN TỚT NGHIỆP
GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN TRẦN THI VĂN

Khóa 2015 - 2019


Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM

Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam

Khoa Công Nghệ Thông Tin

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

-----***----

----***---Tp. Hồ Chí Minh, ngày… tháng … năm 2019

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Phạm Thị Quà

MSSV 1: 15110293

Họ và tên Sinh viên 2: Nguyễn Thị Thanh Thảo

MSSV 2: 15110314

Ngành: Công nghệ Thông tin

Tên đề tài: Tìm hiểu về Laravel PHP Framework và xây dựng website bán mỹ phẩm.
Họ và tên Giáo viên hướng dẫn: ThS. Nguyễn Trần Thi Văn
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
2. Ưu điểm:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
3. Khuyết điểm:
………………………………………………………………………………………
………………………………………………………………………………………
4. Đề nghị cho bảo vệ hay khơng?
5. Đánh giá loại:
6. Điểm:
Tp. Hồ Chí Minh, ngày … tháng … năm 2019
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

i


Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM

Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam

Khoa Công Nghệ Thông Tin


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

-----***----

----***---Tp. Hồ Chí Minh, ngày … tháng … năm 2019

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Phạm Thị Quà

MSSV 1: 15110293

Họ và tên Sinh viên 2: Nguyễn Thị Thanh Thảo

MSSV 2: 15110314

Ngành: Công nghệ Thông tin
Tên đề tài: Tìm hiểu về Laravel PHP Framework và xây dựng website bán mỹ phẩm.
Họ và tên Giáo viên phản biện: ………………………………………………………...
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
2. Ưu điểm:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
3. Khuyết điểm:
………………………………………………………………………………………
………………………………………………………………………………………

Đề nghị cho bảo vệ hay không?
4. Đánh giá loại:
5. Điểm:
Tp. Hồ Chí Minh, ngày … tháng … năm 2019
Giáo viên phản biện
(Ký & ghi rõ họ tên)

ii


LỜI CẢM ƠN

LỜI CẢM ƠN
Nhóm em xin chân thành cám ơn khoa Công Nghệ Thông Tin trường Đại học Sư
Phạm Kỹ Thuật Tp.HCM đã tạo điều kiện thuận lợi cho chúng em thực hiện đề tài này
trong kì học vừa qua.
Chúng em cũng xin được gửi lời cảm ơn chân thành đến thầy Nguyễn Trần Thi
Văn, thầy đã tận tình chỉ bảo và hướng dẫn nhóm em thực hiện đề tài này. Mặc dù nhóm
em vẫn chưa làm tớt những gì thầy đề ra, nhưng chúng em vô cùng cảm ơn thầy đã
hướng dẫn cụ thể và rất nhiệt tình cho nhóm em.
Bên cạnh đó, chúng em xin gửi lời cảm ơn đến các thầy cô giảng viên của trường
Đại Học Sư Phạm Kỹ Thuật Tp.HCM nói chung cũng như các thầy cơ, giảng viên khoa
Cơng Nghệ Thơng Tin nói riêng, những người đã giảng dạy, tạo điều kiện cho chúng
em tích lũy được những kiến thức quý báu trong những năm học qua để có thể hồn
thành khóa luận tớt nghiệp.
Dù đã cớ gắng hồn thành đề tài khóa luận đúng yêu cầu, nhưng do thời gian hạn
hẹp và khả năng cịn hạn chế nên có những u cầu nhóm em vẫn chưa hồn thành tớt
cịn nhiều thiếu sót. Chúng em mong nhận được sự thông cảm và tận tình chỉ bảo của
các thầy cơ.
TP. Hồ Chí Minh, ngày … tháng … năm 2019

Nhóm sinh viên thực hiện
Phạm Thị Quà
Nguyễn Thị Thanh Thảo

iii


Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM

Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam

Khoa Công Nghệ Thông Tin

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

-----***----

----***----

ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
Họ tên SV thực hiện 1: Phạm Thị Quà

MSSV: 15110293

Họ tên SV thực hiện 2: Nguyễn Thị Thanh Thảo

MSSV: 15110314

Thời gian làm luận văn: từ: 18/03/2019 Đến: 30/06/2019
Chuyên ngành: Công nghệ phần mềm

Tên luận văn: Tìm hiểu công nghệ Laravel và xây dựng Website bán mỹ phẩm
GV hướng dẫn ThS. Nguyễn Trần Thi Văn
Nhiệm vụ luận văn:
Lý thuyết:
- Tổng quan về Laravel
- CSS, HTML, Jquery, Javacript, Bootstrap
- Tìm hiểu về Socket.io
Thực hành:
- Thiết kế giao diện Website bán mỹ phẩm.
- Viết code xử lý các các năng cho trang Web.
Đề cương luận văn
MỤC LỤC
1. Phần MỞ ĐẦU
1.1. Tính cấp thiết của đề tài
1.2. Mục tiêu nghiên cứu
1.3. Cách tiếp cận và phương pháp nghiên cứu
1.4. Phân tích các website có liên quan
1.5. Dự kiến kết quả đạt được
1.6. Ý nghĩa khoa học và thực tiễn
2. Phần NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Tìm hiểu về laravel
1.2. Tìm hiểu về socket.io
iv


CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU
2.1. Khảo sát hiện trạng
2.2. Xác định yêu cầu
CHƯƠNG 3: PHÂN TÍCH, MƠ HÌNH HÓA U CẦU

3.1. Lập danh sách yêu cầu
3.2. Lược đồ Use Case
3.3. Đặc tả Use Case
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG VÀ LUỒNG XỬ LÝ
4.1. Thiết kế dữ liệu
4.2. Thiết kế giao diện
4.2. Lược đồ Sequence
CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ.
5.1. Cài đặt
5.2. Kiểm thử
3. Phần KẾT LUẬN
3.1. Kết quả đạt được
3.2. Ưu, nhược điểm
3.3. Hướng phát triển
4. Tài liệu tham khảo
KẾ HOẠCH THỰC HIỆN

Tuần
1

Ngày

Nhiệm vụ
(Công việc dự kiến)

Sản phẩm

18/03 – 24/03 Tìm hiểu về PHP Laravel Framework
- Tìm hiểu về HTML
- Tìm hiểu về CSS


2 +3

25/03 – 07/04 - Tìm hiểu về Javascript.
- Tìm hiểu về thư viện

Xây dựng được giao
diện cho trang web

JQuery của Javascript
4+5

08/04 – 21/04 Thiết kế cơ sở dữ liệu

v

Load được cơ sở dữ
liệu lên trang web


6+7

8+9

06/05 – 19/05

11 +

định trên local


Hoàn thiện các chức năng cơ bản của
trang web

năng cơ bản của trang
Ứng dụng đã kiểm và
sửa lỡi

Bổ sung thêm các tính năng cho trang
27/05 – 09/06 web: comment, discount, chatbox,

10/06 – 16/06 Kiểm thử trang web

14

17/06 – 23/06 Hoàn thành báo cáo

Trang web hoàn thành
và chạy ổn định
Báo cáo đã hoàn thành

Kiểm tra lại tổng thể trang web và báo
cáo.

Hoàn thành các chức
năng

chat Zalo, Facebook.

24/06 – 30/06


Hoàn thành các chức

web

13

15

Trang web chạy ổn

20/05 – 26/05 Kiểm thử lại trang web và sửa lỗi.

10

12

Chỉnh sửa giao diện khách hàng và
22/04 – 05/05 giao diện admin hoàn chỉnh

Trang web chạy ổn
định.
Báo cáo đã chỉnh sửa.

Ngày… tháng ... năm 2019
Người viết đề cương
Ý kiến của giáo viên hướng dẫn
(ký và ghi rõ họ tên)

vi



MỤC LỤC

MỤC LỤC
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN.................................................i
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN .................................................. ii
LỜI CẢM ƠN ................................................................................................................ iii
ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP .....................................................................iv
KẾ HOẠCH THỰC HIỆN .............................................................................................. v
MỤC LỤC .................................................................................................................... vii
DANH MỤC BẢNG BIỂU .......................................................................................... xii
DANH MỤC HÌNH ẢNH ............................................................................................xiv
PHẦN MỞ ĐẦU .............................................................................................................1
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI ...........................................................................2
2. MỤC TIÊU NGHIÊN CỨU ....................................................................................2
3. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU .....................................3
3.1. Đối tượng nghiên cứu .......................................................................................3
3.2. Phạm vi nghiên cứu ...........................................................................................3
3.3. Phương pháp nghiên cứu...................................................................................3
4. PHÂN TÍCH CÁC WEBSITE CÓ LIÊN QUAN ...................................................4
5. DỰ KIẾN KẾT QUẢ ĐẠT ĐƯỢC.........................................................................4
6. Ý NGHĨA KHOA HỌC THỰC TIỄN ....................................................................4
PHẦN NỘI DUNG ..........................................................................................................5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ............................................................................6
1.1. TÌM HIỂU VỀ LARAVEL ...............................................................................6
1.1.1. Giới thiệu về laravel ...................................................................................6
1.1.2. Ưu điểm của Laravel PHP Framework ......................................................6
1.1.3. Cấu trúc thư mục và luồng xử lý trong laravel...........................................6
1.1.4. Thành phần cơ bản trong laravel ................................................................ 7
vii



MỤC LỤC

1.1.4.1. Route trong Laravel .............................................................................7
1.1.4.2. Laravel Model ......................................................................................9
1.1.4.3. Laravel Controller .............................................................................10
1.1.4.4. Laravel View (Master Template) .......................................................11
1.2. TÌM HIỂU VỀ SOCKET.IO ...........................................................................13
1.2.1. Socket.io là gì? ........................................................................................13
1.2.2. Cách sử dụng socket.io .............................................................................13
1.2.3. Cơ chế hoạt động của socket.io ............................................................... 14
1.2.3.1. Khai báo sử dụng Socket.io .............................................................. 14
1.2.3.2. Cơ chế lắng nghe, truyền dữ liệu của socketio .................................15
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU .................17
2.1. KHẢO SÁT HIỆN TRẠNG ...........................................................................17
2.1.1. Hasaki ( .......................................................................17
2.1.2. Skinfood ( ..................................................18
2.1.3. Epomi ( ............................................................. 19
2.1.4. Kết luận ....................................................................................................20
2.2. XÁC ĐỊNH YÊU CẦU...................................................................................21
2.2.1. Yêu cầu chức năng ...................................................................................21
2.2.1.1. Yêu cầu chức năng nghiệp vụ ............................................................ 21
2.2.1.2. Yêu cầu chức năng hệ thống .............................................................. 21
2.2.2. Yêu cầu phi chức năng .............................................................................22
CHƯƠNG 3: PHÂN TÍCH, MƠ HÌNH HÓA U CẦU ........................................23
3.1. LẬP DANH SÁCH U CẦU ......................................................................23
3.1.1. Khách (Guest) ...........................................................................................23
3.1.2. Quản trị (Admin) ......................................................................................24
3.2. LƯỢC ĐỒ USE CASE ...................................................................................26

viii


MỤC LỤC

3.3. ĐẶC TẢ USE CASE ......................................................................................28
3.3.1. Đăng nhập/ đăng xuất ...............................................................................28
3.3.2. Đăng kí tài khoản .....................................................................................29
3.3.3. Xóa tài khoản............................................................................................ 29
3.3.4. Phân quyền người dùng ............................................................................30
3.3.5. Thêm sản phẩm ........................................................................................30
3.3.6. Xóa sản phẩm ...........................................................................................31
3.3.7. Sửa giá sản phẩm ......................................................................................31
3.3.8. Duyệt đơn hàng ........................................................................................32
3.3.9. Hủy đơn hàng ...........................................................................................32
3.3.10. Mua hàng ................................................................................................ 33
3.3.11. Gửi thắc mắc...........................................................................................33
3.3.12. Bình luận sản phẩm ................................................................................34
3.3.13. Tìm kiếm sản phẩm ................................................................................35
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG VÀ LUỒNG XỬ LÝ ..................................36
4.1. THIẾT KẾ DỮ LIỆU ......................................................................................36
4.1.1. Bảng thuộc tính ........................................................................................36
4.1.2. Lược đờ quan hệ .......................................................................................40
4.2. THIẾT KẾ GIAO DIỆN .................................................................................41
4.2.1. Danh sách các màn hình và sơ đồ chuyển đổi ..........................................41
4.2.2. Giao diện khách ........................................................................................41
4.2.2.1. Giao diện trang chủ ...........................................................................41
4.2.2.2. Giao diện đăng nhập .........................................................................42
4.2.2.3. Giao diện đăng ký ..............................................................................43
4.2.2.4. Giao diện danh sách tất cả sản phẩm................................................44

4.2.2.5. Giao diện danh sách sản phẩm mới ..................................................44
ix


MỤC LỤC

4.2.2.6. Giao diện danh sách các phẩm khuyến mãi .....................................45
4.2.2.7. Giao diện danh sách sản phẩm lọc theo tiêu chí ............................... 46
4.2.2.8. Giao diện về chúng tơi .......................................................................47
4.2.2.9. Giao diện trang tin tức ......................................................................47
4.2.2.10. Giao diện trang liên hệ ....................................................................48
4.2.2.11. Giao diện chi tiết sản phẩm ............................................................. 49
4.2.2.12. Giao diện Giỏ hàng .........................................................................50
4.2.2.13. Giao diện Chatbox ...........................................................................50
4.2.2.14. Giao diện bình luận .........................................................................51
4.2.3. Giao diện admin .......................................................................................52
4.2.3.1. Trang đăng nhập admin.....................................................................52
4.2.3.2. Trang chủ admin ................................................................................53
4.2.3.3. Trang danh sách đơn hàng ................................................................ 54
4.2.3.4. Trang chi tiết đơn hàng .....................................................................54
4.2.3.5. Trang quản lý người dùng .................................................................55
4.2.3.6. Trang danh sách sản phẩm ................................................................ 56
4.2.3.7. Trang chi tiết sản phẩm .....................................................................57
4.2.3.8. Trang thêm sản phẩm ........................................................................58
4.2.3.9. Trang sửa giá sản phẩm ....................................................................58
4.3. LƯỢC ĐỒ SEQUENCE .................................................................................59
4.3.1. Sequence Diagram tổng quát ....................................................................59
4.3.2. Sequence Diagram cho Use Case đăng nhập ...........................................60
4.3.3. Sequence Diagram cho Use Case đăng kí ................................................60
4.3.4. Sequence Diagram cho Use Case thêm sản phẩm....................................60

4.3.5. Sequence Diagram cho Use Case sửa giá sản phẩm ................................ 61
4.3.6. Sequence Diagram cho Use Case duyệt đơn hàng ...................................62
x


MỤC LỤC

4.3.7. Sequence Diagram cho Use Case mua hàng ............................................62
4.3.8. Sequence Diagram cho Use Case chỉnh sửa sản phẩm ............................ 63
CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ .................................................................64
5.1. CÀI ĐẶT .........................................................................................................64
5.1.1. Ngôn ngữ lập trình....................................................................................64
5.1.1.1. Thiết kế giao diện...............................................................................64
5.1.1.2. Ngôn ngữ xử lý ...................................................................................65
5.1.2. Thư viện, công cụ hỗ trợ ..........................................................................67
5.1.3. Hệ quản trị cơ sở dữ liệu MySQL ............................................................ 67
5.1.4. Sơ đồ lớp...................................................................................................69
5.1.5. Mô hình code ............................................................................................ 69
5.1.3.1. Mô hình MVC và cấu trúc thư mục ...................................................69
5.1.3.2. Chi tiết các thư mục ...........................................................................71
5.2. KIỂM THỬ .....................................................................................................72
PHẦN KẾT LUẬN .......................................................................................................77
1. KẾT QUẢ ĐẠT ĐƯỢC ........................................................................................78
2. ƯU, NHƯỢC ĐIỂM .............................................................................................. 78
2.1. Ưu điểm .......................................................................................................78
2.2. Nhược điểm .................................................................................................78
3. HƯỚNG PHÁT TRIỂN.........................................................................................79
TÀI LIỆU THAM KHẢO ............................................................................................. 80

xi



DANH MỤC BẢNG BIỂU

DANH MỤC BẢNG BIỂU
Bảng 1. Bảng yêu cầu chức năng hệ thống ..................................................................21
Bảng 2. Bảng yêu cầu phi chức năng ...........................................................................22
Bảng 3. Danh sách nghiệp vụ của Guest ......................................................................23
Bảng 4. Danh sách quy định liên quan của Guest ........................................................23
Bảng 5. Danh sách nghiệp vụ của admin .....................................................................24
Bảng 6. Danh sách quy định liên quan của admin .......................................................25
Bảng 7. Mô tả Use Case đăng nhập, đăng xuất tài khoản ............................................28
Bảng 8. Mơ tả Use Case đăng kí tài khoản ..................................................................29
Bảng 9. Mô tả Use Case Xóa tài khoản ........................................................................30
Bảng 10. Mô tả Use Case Phân quyền người dùng ......................................................30
Bảng 11. Mô tả Use Case Thêm sản phẩm...................................................................30
Bảng 12. Mô tả Use Case Xóa sản phẩm .....................................................................31
Bảng 13. Mô tả Use Case Sửa giá sản phẩm ................................................................ 31
Bảng 14. Mô tả Use Case Duyệt đơn hàng ..................................................................32
Bảng 15. Mô tả Use Case Hủy đơn hàng .....................................................................32
Bảng 16. Mô tả Use Case Mua hàng ............................................................................33
Bảng 17. Mô tả Use Case Gửi thắc mắc .......................................................................34
Bảng 18. Mô tả Use Case Bình luận sản phẩm ............................................................ 34
Bảng 19. Mô tả Use Case Tìm kiếm sản phẩm ............................................................ 35
Bảng 20. Bảng thuộc tính role ......................................................................................36
Bảng 21. Bảng thuộc tính users ....................................................................................36
Bảng 22. Bảng thuộc tính user_details .........................................................................36
Bảng 23. Bảng thuộc tính type_products .....................................................................36
Bảng 24. Bảng thuộc tính products ..............................................................................37
Bảng 25. Bảng thuộc tính customer .............................................................................37

Bảng 26. Bảng thuộc tính color ....................................................................................37
Bảng 27. Bảng thuộc tính edition .................................................................................37
Bảng 28. Bảng thuộc tính contact.................................................................................38
Bảng 29. Bảng thuộc tính bills .....................................................................................38
Bảng 30. Bảng thuộc tính bill_detail ............................................................................38
Bảng 31. Bảng thuộc tính collections ...........................................................................38
xii


DANH MỤC BẢNG BIỂU

Bảng 32. Bảng thuộc tính messages .............................................................................39
Bảng 33. Bảng thuộc tính news ....................................................................................39
Bảng 34. Bảng thuộc tính comments ............................................................................39
Bảng 35. Bảng thuộc tính replies .................................................................................39
Bảng 36. Chi tiết xử lý màn hình trang chủ .................................................................42
Bảng 37. Chi tiết xử lý màn hình đăng nhập của khách ...............................................43
Bảng 38. Chi tiết xử lý màn hình đăng kí của khách ...................................................44
Bảng 39. Chi tiết xử lý màn tất cả sản phẩm của khách...............................................44
Bảng 40. Chi tiết xử lý màn hình danh sách sản phẩm mới của khách ........................45
Bảng 41. Chi tiết xử lý màn hình danh sách sản phẩm khuyến mãi ............................ 45
Bảng 42. Chi tiết xử lý màn hình sản phẩm lọc theo tiêu chí giá từ thấp đến cao .......46
Bảng 43. Chi tiết xử lý màn hình Xem thông tin về chúng tôi ....................................47
Bảng 44. Xử lý chi tiết màn hình tin tức ......................................................................48
Bảng 45. Xử lý chi tiết màn hình thơng tin liên hệ ......................................................49
Bảng 46. Xử lý chi tiết màn hình chi tiết sản phẩm của khách ....................................49
Bảng 47. Chi tiết xử lý màn hình giỏ hàng của khách .................................................50
Bảng 48. Chi tiết xử lý màn hình chatbox của khách hàng ..........................................51
Bảng 49. Chi tiết xử lý màn hình comments của khách hàng và admin ......................52
Bảng 50. Chi tiết xử lý màn hình đăng nhập của admin ..............................................52

Bảng 51. Chi tiết xử lý màn hình trang chủ của admin ................................................53
Bảng 52. Chi tiết xử lý màn hình quản lý đơn hàng của admin ...................................54
Bảng 53. Chi tiết xử lý màn hình chi tiết đơn hàng của admin ....................................55
Bảng 54. Chi tiết xử lý màn hình quản lí tài khoản của admin ....................................55
Bảng 55. Chi tiết xử lý màn hình danh sách sản phẩm của admin ............................... 56
Bảng 56. Chi tiết xử lý màn hình chi tiết – chỉnh sửa sản phẩm của admin ................57
Bảng 57. Chi tiết xử lý màn hình thêm sản phẩm của admin.......................................58
Bảng 58. Chi tiết xử lý màn hình sửa giá sản phẩm của admin ...................................59
Bảng 59. Bảng kiểm thử trang web ..............................................................................72

xiii


DANH MỤC HÌNH ẢNH

DANH MỤC HÌNH ẢNH
Hình 1. Mơ hình tương tác Model và Cơ sở dữ liệu .......................................................9
Hình 2. Liên kết Route, Controller và View trong Laravel ...........................................12
Hình 3. Hoạt động của Master Template trong Laravel ................................................13
Hình 4. Cấu trúc server_client trong Socketio .............................................................. 14
Hình 5. Giao diện trang chủ Hasaki ..............................................................................17
Hình 6. Giao diện trang sản phẩm Hasaki .....................................................................17
Hình 7. Giao diện trang chủ Skinfood ...........................................................................18
Hình 8. Giao diện trang sản phẩm Skinfood .................................................................18
Hình 9. Giao diện trang chủ Epomi ...............................................................................19
Hình 10. Giao diện trang sản phẩm Epomi ...................................................................20
Hình 11. Mơ hình sự hài lịng của khách hàng .............................................................. 20
Hình 12. Lược đồ Use Case tổng quát...........................................................................26
Hình 13. Use Case quản lý sản phẩm ............................................................................27
Hình 14. Use Case quản lý người dùng .........................................................................27

Hình 15. Use Case quản lý đơn hàng ............................................................................28
Hình 16. Use Case quản lý thông tin tài khoản ............................................................. 28
Hình 17. Lược đồ quan hệ ............................................................................................. 40
Hình 18. Danh sách các màn hình và sơ đồ chuyển đổi ................................................41
Hình 19. Giao diện trang chủ và các chức năng sử dụng của khách ............................. 41
Hình 20. Giao diện đăng nhập của khách ......................................................................43
Hình 21. Giao diện đăng ký của khách..........................................................................43
Hình 22. Giao diện màn hình tất cả sản phẩm............................................................... 44
Hình 23. Giao diện danh sách sản phẩm mới ................................................................ 45
Hình 24. Giao diện danh sách sản phẩm khuyến mãi ...................................................45
Hình 25. Giao diện sản phẩm lọc theo tiêu chí từ thấp đến cao ....................................46
Hình 26. Giao diện xem thông tin trang về chúng tôi ...................................................47
Hình 27. Giao diện trang tin tức ....................................................................................48
Hình 28. Giao diện trang liên hệ ...................................................................................48
Hình 29. Giao diện trang chi tiết sản phẩm ...................................................................49
Hình 30. Giao diện trang chi tiết sản phẩm ...................................................................49
Hình 31. Giao diện giỏ hàng của khách ........................................................................50
xiv


DANH MỤC HÌNH ẢNH

Hình 32. Giao diện chatbox của khách hàng .................................................................51
Hình 33. Giao diện gửi bình luận của khách hàng ........................................................51
Hình 34. Màn hình đăng nhập của admin......................................................................52
Hình 35. Màn hình trang chủ của admin .......................................................................53
Hình 36. Màn hình quản lý đơn hàng của admin ..........................................................54
Hình 37. Màn hình chi tiết đơn hàng của admin ...........................................................54
Hình 38. Màn hình quản lý người dùng của admin .......................................................55
Hình 39. Màn hình danh sách sản phẩm........................................................................56

Hình 40. Màn hình chi tiết – chỉnh sửa sản phẩm .........................................................57
Hình 41. Màn hình thêm sản phẩm của admin .............................................................. 58
Hình 42. Màn hình sửa giá sản phẩm của admin ..........................................................58
Hình 43. Sơ đồ tuần tự tổng quát...................................................................................59
Hình 44. Sơ đồ tuần tự Đăng nhập ................................................................................60
Hình 45. Sơ đồ tuần tự Đăng ký ....................................................................................60
Hình 46. Sơ đồ tuần tự Thêm sản phẩm ........................................................................61
Hình 47. Sơ đồ tuần tự Sửa giá sản phẩm .....................................................................61
Hình 48. Sơ đồ tuần tự Duyệt đơn hàng ........................................................................62
Hình 49. Sơ đồ tuần tự Thanh tốn ...............................................................................62
Hình 50. Sơ đờ t̀n tự Chỉnh sửa sản phẩm .................................................................63
Hình 51. Sơ đồ lớp.........................................................................................................69

xv


PHẦN MỞ ĐẦU

PHẦN MỞ ĐẦU

1


PHẦN MỞ ĐẦU

1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Ngày nay, nhu cầu của con người trong xã hội luôn là động cơ chính thúc đẩy sản
xuất. Như ta đã biết việc thiếu thông tin làm cho việc đưa sản phẩm đến tay người tiêu
dùng trở nên khó khăn. Bên cạnh đó việc phổ biến sử dụng Internet đã tạo ra một bước
ngoặt mới trong định hướng phát triển ngành Công nghệ Thông tin của nước ta, cùng

với nhu cầu sử dụng máy tính để trao đổi và cập nhật thơng tin ngày càng tăng. Từ thực
tế đó việc đưa thông tin đáp ứng nhu cầu của mọi người và hỗ trợ cho việc mua bán diễn
ra một cách nhanh chóng, tiết kiệm đã trở nên vô cùng cấp thiết. Song song với việc bán
hàng qua mạng xã hội như Facebook, Zalo, … thì bán hàng qua website cũng là một
giải pháp tối ưu trong việc phân phối thông tin vào mục đích thương mại.
Việc bạn chỉ cần ở nhà hoặc nơi làm việc hay bất cứ nơi đâu với một chiếc
smartphone hoặc máy tính có kết nối Internet, bạn có thể mua cho mình tất cả các mặt
hàng được bán ở một cửa hàng nào đó trên mạng từ một bó hoa tươi, một chiếc điện
thoại, hay một chiếc máy tính, …. Đặc biệt trong xã hội ngày càng phát triển, không chỉ
nhu cầu ăn ngon, mặc đẹp mà nhu cầu làm đẹp của con người cũng rất quan trọng. Do
đó, xây dựng “Website Mỹ phẩm” là một vấn đề thực tế, ứng dụng được và có tiềm
năng phát triển trong tương lai.
Sự ra đời của ngôn ngữ lập trình cho phép chúng ta có thể thiết kế và xây dựng các
ứng dụng giao dịch điện tử dưới nhiều hình thức khác nhau. Với sự hỗ trợ của các loại
cơ sở dữ liệu quan hệ, ta có thể kết hợp chúng trên trình chủ như PHP, ASP, JSP, … để
có thể xây dựng và triển khai ứng dụng với nhiều mục đích khác nhau. PHP và MySQL
cũng là một trong những sự hỗ trợ để xây dựng một trang web bán hàng tuyệt vời. Với
lý do đó, được sự hướng dẫn tận tình của thầy Nguyễn Trần Thi Văn, chúng em đã
chọn đề tài “Website Mỹ phẩm” sử dụng công nghệ Laravel PHP Framework và hệ
quản trị cơ sở dữ liệu MySQL làm đề tài tiểu luận chuyên ngành của mình.
2. MỤC TIÊU NGHIÊN CỨU
Tìm hiểu về công nghệ Laravel PHP Framework: khái niệm, cấu trúc, thành phần
và hiểu được vì sao laravel là một trong những framework tốt nhất để phát triển.
Xây dựng một website bán mỹ phẩm với giao diện thân thiện dễ dàng sử dụng
nhằm giúp người dùng dễ xem thông tin và mua hàng tại webstie, tiết kiệm thời gian
phải đến tận cửa hàng để mua sản phẩm trực tiếp, với một số chức năng cơ bản như sau:
2


PHẦN MỞ ĐẦU


- Đăng nhập, đăng kí, đăng xuất tài khoản.
- Tìm kiếm sản phẩm.
- Phân loại các sản phẩm theo loại, theo giá (từ cao đến thấp hoặc ngược lại).
- Đặt hàng online.
- Gửi bình luận về sản phẩm.
- Gửi thắc mắc cho cửa hàng.
- Xem thông tin cá nhân, thay đổi thông tin tài khoản.
- Xem danh sách sản phẩm, sản phẩm khuyến mãi, sản phẩm mới.
- Xem tin tức, các thơng tin liên hệ, chính sách kinh doanh của cửa hàng.
- Chat online với cửa hàng thông qua chatbox hoặc Zalo hoặc Facebook.
- Có thể chia sẻ sản phẩm qua Facebook.
- Quản lý sản phẩm: thêm sản phẩm, xóa sản phẩm, sửa giá sản phẩm.
- Quản lý tài khoản: phân quyền người dùng, xóa tài khoản, xem thông tin tài
khoản.
- Quản lý đơn hàng: xem danh sách đơn hàng, duyệt đơn hàng, hủy đơn hàng.
3. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1. Đối tượng nghiên cứu
Công nghệ laravel, xây dựng website bán mỹ phẩm sử dụng ngôn ngữ PHP
3.2. Phạm vi nghiên cứu
Tổng quan về công nghệ laravel php framework, kiến trúc, các tính năng và các
trang web cơ bản được xây dựng từ laravel php framework.
Xây dựng webstie bán mỹ phẩm từ laravel php framework với những kiến thức đã
tìm hiểu.
3.3. Phương pháp nghiên cứu
-

Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu lý thuyết,
các trang web có liên quan đến các công nghệ đang tìm hiểu.


-

Phương pháp chuyên gia: Tham khảo ý kiến của Thầy hướng dẫn cùng các anh,
chị khóa trước và các bạn bè đang cùng thực hiện khóa luận có sử dụng cùng
ngôn ngữ.

-

Phương pháp mô hình hóa: Hồn thành website bán mỹ phẩm từ việc xác định
các yêu cầu.
3


PHẦN MỞ ĐẦU

4. PHÂN TÍCH CÁC WEBSITE CÓ LIÊN QUAN
Hầu hết các trang web bán hàng nói chung hiện nay bán đa dạng sản phẩm từ văn
phòng phẩm, quần áo, đồ nội thất, đồ nhà bếp, mỹ phẩm, đồ chơi cho bé,… đến các
trang web chỉ bán một loại sản phẩm duy nhất là mỹ phẩm với giao diện đẹp thu hút
người dùng, tốc độ xử lý nhanh, thao tác đơn giản ai cũng có thể sử dụng được. Tuy
nhiên vẫn cịn tờn tại một số trang web bán hàng đặc biệt là bán mỹ phẩm còn nhiều
nhược điểm:
-

Màu sắc khơng hài hịa gây nhứt mắt cho người dùng.

-

Bố cục các phần của trang web chưa hợp lý


-

Tốc độ xử lý chậm, cập nhật sản phẩm mới chậm.

-

Thông tin về sản phẩm chưa rõ rãng.

-

Hình ảnh sản phẩm trên trang web không rõ nét hoặc khác xa với sản phẩm
thực tế.

5. DỰ KIẾN KẾT QUẢ ĐẠT ĐƯỢC
Hoàn thành website bán mỹ phẩm với:
-

Giao diện đẹp mắt, thao tác đơn giản, dễ dàng sử dụng.

-

Tốc độ xử lý nhanh và ổn định.

-

Xây dựng đầy đủ các chức năng của một website bán hàng dễ dàng cho việc
bán hàng và quản lý các thông tin có liên quan: thông tin sản phẩm, người dùng,
đơn hàng, …

6. Ý NGHĨA KHOA HỌC THỰC TIỄN

Đề tài hướng đến là tạo ra một website giúp mọi người có thể mua các sản phẩm
làm đẹp cho phái nữ một cách thuận tiện dễ dàng và tiết kiệm thời gian hơn.
Giúp sinh viên hiểu thêm về công nghệ, bổ sung kiến thức để phát triển hơn.
Rèn luyện kỹ năng phân tích và thiết kế dự án.
Phát huy tính sáng tạo và khả năng làm việc nhóm.

4


PHẦN NỘI DUNG

PHẦN NỘI DUNG

5


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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. TÌM HIỂU VỀ LARAVEL
1.1.1. Giới thiệu về laravel
Laravel là một PHP framework mã ng̀n mở miễn phí, được phát triển bởi
Taylor Otwell vào năm 2011 và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web
theo kiến trúc model-view-controller (MVC). Những tính năng nổi bật của Laravel bao
gồm cú pháp dễ hiểu – rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc,
nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác
nhau hỡ trợ việc triển khai vào bảo trì ứng dụng.
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 Symfony2, Nette, CodeIgniter, Yii2 và một số

khác. Trước đó, tháng 8 2014, Laravel đã trở thành dự án 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ữ tại Githz.
1.1.2. Ưu điểm của Laravel PHP Framework
• Tốc độ xử lý nhanh
• Mã ng̀n mở
• Tổ chức tập tin và cấu trúc mã lệnh rõ ràng.
• Hệ thống thư viện và cơng cụ phong phú.
• Xác nhận biểu mẫu (Form Validation).
• Mã lệnh ít hơn, nhưng làm được nhiều việc hơn.
• Mơ hình MVC rõ ràng, dễ bảo trì.
• Thích hợp làm việc nhóm và phân chia cơng việc.
• Chức năng hỡ trợ bảo mật, xác thực dữ liệu, SQL Injection, ...
• Hệ thống giao diện phong phú, thư viện form helper giúp xây dựng biểu
mẫu nhanh chóng và bảo mật.
• Hỡ trợ đường dẫn thân thiện (Friendly Url).
• Bảo mật session, cookie, …
• Cộng đờng người dùng rộng lớn
1.1.3. Cấu trúc thư mục và luồng xử lý trong laravel
6


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

• Thư mục chính:
-

App: chứa mã cốt lỗi của ứng dụng, ta dùng nhiều tới thư mục này.

-


Boostrap: chứa các tiệp tin khởi động và cấu hình tự động chạy.

-

Config: chứa tất cả các tệp cấu hình của hệ thống.

-

Database: nơi chúng ta cấu hình các bộ dữ liệu mẫu: migrate, seed.

-

Public: nơi lưu trữ thư viện CSS, Javascript, các hình ảnh. Chứa tệp
index.php.

-

Resources: chứa views, các tệp ngôn ngữ.

-

Routes: chứa tất cả các route của hệ thống.

• L̀ng xử lý:
Đầu tiên người dùng u cầu 1 đường dẫn sang phía route, route trả về controller,
controller sẽ xử lý các yêu cầu đó, nếu yêu cầu dữ liệu thì sẽ phải thông qua Model để
truy xuất đến cơ sở dữ liệu, sau khi truy xuất dữ liệu model trả về cho controller,
controller đưa dữ liệu về cho view, view xuất dữ liệu ra màn hình cho người dùng xem.
1.1.4. Thành phần cơ bản trong laravel

1.1.4.1. Route trong Laravel
Mục đích chính của route là định tuyến đến những controller cụ thể nào đó từ
phía yêu cầu của người sử dụng. Đối với những Framework khác thì khi muốn thực hiện
một công việc nào đó thường sẽ cần xây dựng một controller để xử lý, nhưng trong
Laravel thì hoàn toàn có thể xử lý dữ liệu ngay trong phần Route. Đây chính là điểm
mạnh cũng như điểm khác biệt lớn của Laravel đối với các Framwork khác.
• Cấu trúc Route:
-

Các định tuyến trong Laravel đều được viết trong routes/web.php.

-

Cú pháp: Route: method (‘URI’,’function call back’)
Trong đó:
o URI là dạng link trên url.
o Function call back: hàm sẽ gọi tới link URI phía trên.
o Method: các dạng phương thức cơ bản post, get, put, delete, any.
o Các method:
o POST Route: các thao tác lấy từ biểu mẫu (form) như thêm dữ
liệu.
7


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

-

GET Route: dành cho các thao tác truy cập thông thường tương đương
với yêu cầu cơ bản trong PHP. Ví dụ chạy 1 đường dẫn trên URL.


-

PUT Route: dành cho các thao tác lấy từ biểu mẫu nhưng là cập nhật dữ
liệu.

-

DELETE Route: dành cho thao tác xóa dữ liệu

-

ANY Route: là sự tổng hợp các thao tác ở trên.

-

Trong đó POST và GET được sử dụng nhiều nhất.

• Truyền tham số trên Route:

Trong đó, {ten} là giá trị do người dùng nhập trên liên kết của URL hoặc do
nhà phát triển định sẵn.
Đặt điều kiện cho tham số với phương thức where ():

• Định danh cho Route:
-

Cách 1: Khai báo ‘as’=>’tên route’ trong tham số như sau:

-


Cách 2: cách này khá ngắn gọn và dễ dùng: thêm name (‘tên route’) ở
cuối.

• Muốn gọi route bằng tên đã đặt, sử dụng route (‘tên route’):
8


×