Tên đề tài: Xây dựng website quản lý chăm sóc thú cưng tại Đà NẵngSinh viên thực hiện: Nguyễn Quốc Vũ Mã SV: 1911505310270 Lớp: 19T2 Nội dung tóm tắt: Đề tài xây dựng website quản lý chă
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 4Đà Nẵng, ngày tháng năm 2023
Giảng viên hướng dẫn
Trang 5Đà Nẵng, ngày tháng năm 2023
Người phản biện
Trang 6Tên đề tài: Xây dựng website quản lý chăm sóc thú cưng tại Đà Nẵng
Sinh viên thực hiện: Nguyễn Quốc Vũ
Mã SV: 1911505310270 Lớp: 19T2
Nội dung tóm tắt:
Đề tài xây dựng website quản lý chăm sóc thú cưng tại Đà Nẵng với mục đíchtạo sự thuận tiện cho người dùng đặt các dịch vụ thú cưng được xây dựng phía back-end sử dụng ngôn ngữ lập trình PHP-Laravel framework và thư viện jQuery, phíafront-end sử dụng Boostrap framework, lưu trữ và xử lý cơ sở dữ liệu trên MySQLDatabase
Tình yêu và sự quan tâm đối với thú cưng đã trở thành một phần không thểthiếu trong cuộc sống của nhiều người Với vai trò là thành viên thân thiết trong giađình, thú cưng không chỉ mang lại niềm vui và sự đồng cảm, mà còn đòi hỏi sự chămsóc tận tâm Để đáp ứng nhu cầu ngày càng tăng về chăm sóc thú cưng, việc tạo ra mộtnền tảng trực tuyến cung cấp các dịch vụ chuyên nghiệp và tiện lợi là cực kỳ quantrọng Chính vì lý do đó, đề tài xây dựng một trang web đặt dịch vụ chăm sóc thúcưng, nhằm cung cấp một nền tảng thuận tiện cho người dùng tìm kiếm và đặt các dịch
vụ liên quan đến chăm sóc thú cưng Người dùng có thể dễ dàng tìm kiếm và chọn lựadịch vụ phù hợp với nhu cầu của thú cưng của mình và đặt lịch hẹn một cách thuậntiện thông qua trang web
Website với các chức năng chính như sau:
Trang 7KHOA CÔNG NGHỆ SỐ Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: TS Hoàng Thị Mỹ Lệ
Sinh viên thực hiện: Nguyễn Quốc Vũ Mã SV: 1911505310270
1 Tên đề tài
- Xây dựng website quản lý chăm sóc thú cưng tại Đà Nẵng
2 Các số liệu, tài liệu ban đầu
- Dựa trên thông tin của PetMark
- Quy trình tìm kiếm dịch vụ thú cưng
- Ngôn ngữ PHP
- Công nghệ HTML,Boostrap,Js
3 Nội dung chính của đồ án
- Chương 1: Cơ sở lý thuyết
- Chương 2: Phân tích thiết kế hệ thống
- Chương 3: Xây dựng chương trình
4 Các sản phẩm dự kiến
- Xây dựng website quản lý chăm sóc thú cưng tại Đà Nẵng
- File báo cáo hoàn chỉnh
Trang 8Lời đầu tiên, em xin chân thành cảm ơn Trường Đại học Sư phạm Kỹ thuật đã tạođiều kiện để em có được môi trường học tập và phát triển bản thân tốt nhất
Đặc biệt em xin gửi lời cảm ơn chân thành và sâu sắc tới cô Hoàng Thị Mỹ Lệ đãhướng dẫn, giúp đỡ em trong suốt thời gian thực hiện đề tài này
Em xin chân thành cảm ơn thầy cô bộ môn đã tận tình giảng dạy, truyền đạtkiến thức cho chúng em trong các kỳ học vừa qua
Xin chân thành cảm ơn tất cả bạn bè đã động viên, giúp đỡ chúng em trongthời gian học tập và hoàn thành đồ án
Mặc dù đã cố gắng nhiều nhưng sẽ không thể tránh khỏi những thiếu sót vìthời gian hạn chế và kiến thức trong đề tài làm đồ án Em kính mong nhận được sựgóp ý của quý Thầy giáo và các bạn để hoàn thành tốt hơn nữa
Em xin chân thành cảm ơn!
Đà Nẵng, ngày 01 tháng 06 năm 2023
Sinh viên thực hiện
Nguyễn Quốc Vũ
Trang 9Em xin cam đoan đồ án tốt nghiệp này là công trình nghiên cứu của riêng bảnthân mình dưới sự hướng dẫn của Cô T.S Hoàng Thị Mỹ Lệ Những nhận định đượcnêu ra trong đồ án cũng là kết quả từ sự nghiên cứu trực tiếp, nghiêm túc, độc lập củabản thân em dựa vào các cơ sở tìm kiếm, hiểu biết và nghiên cứu tài liệu về ngôn ngữlập trình và các Framework đã được công bố Đồ án vẫn sẽ giúp đảm bảo được tínhkhách quan, trung thực và khoa học Em xin cam đoan rằng số liệu và kết quả nghiêncứu trong đồ án là hoàn toàn trung thực và không xuất hiện bất kỳ sự sao chép hay sửdụng của một cá nhân nào để bảo vệ Tất cả những sự giúp đỡ đối với việc xây dựng
về cơ sở lý thuyết và tính thực tế của đồ án đều đã được trích dẫn một cách đầy đủnhất và đồng thời đã ghi rõ ràng về nguồn gốc và được phép công bố
Đà Nẵng, ngày 01 tháng 06 năm 2023
Sinh viên thực hiện
Nguyễn Quốc Vũ
Trang 10MỤC LỤC i
DANH MỤC BẢNG BIỂU v
DANH MỤC HÌNH VẼ vi
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH ix
MỞ ĐẦU 1
1 Mục tiêu đề tài 1
2 Đối tượng nghiên cứu và phạm vi nghiên cứu 1
a Đối tượng nghiên cứu 1
b Phạm vi nghiên cứu 1
3 Phương pháp nghiên cứu 1
4 Giải pháp công nghệ 1
5 Cấu trúc đồ án 2
Chương 1 CƠ SỞ LÝ THUYẾT 3
1.1 Giới thiệu HTML 3
1.1.2 HTML là gì 3
1.1.3 Ưu điểm của HTML 3
1.1.4 Nhược điểm của HTML 4
1.2 Giới thiệu CSS 4
1.2.2 CSS là gì 4
1.2.3 Ưu điểm của CSS 5
1.2.4 Nhược điểm của CSS 5
1.3 Giới thiệu JavaScript 5
1.3.2 JavaScript là gì 5
1.3.3 Ưu điểm của JavaScript 6
Trang 111.4 Giới thiệu MySQL 7
1.4.2 Đặc điểm của MySQL 8
1.4.3 Các lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL 8
1.5 Giới thiệu ngôn ngữ lập trình PHP 11
1.5.2 Ưu điểm 11
1.5.3 Nhược điểm 12
1.6 Laravel Framework 13
1.6.2 Laravel có 3 đặc tính nổi trội 13
1.6.3 Điều khiến laravel trở nên khác biệt: 13
1.7 Giới thiệu về Visual Studio Code 14
1.7.2 Một số tính năng nổi bật 14
1.8 Boostrap 15
1.8.2 Đôi nét về lịch sử 15
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16
2.1 Khảo sát hệ thống 16
2.2 Đặc tả chức năng 16
2.2.1 Xác định các tác nhân 16
2.2.2 Các yêu cầu chức năng 16
2.3 Sơ đồ Usecase 17
2.4 Kịch bản use-case 18
2.4.1 Actor chủ Shop, khách thành viên, quản trị viên 18
2.4.2 Actor chủ Shop 19
2.4.3 Actor khách thành viên 21
2.4.4 Actor nhân viên 22
Trang 122.5 Sơ đồ hoạt động (Activity Diagram) 23
2.5.1 Actor quản trị viên, khách thành viên đăng nhập 23
2.5.2 Actor chủ Shop 24
2.5.3 Actor khách thành viên 29
2.5.4 Actor nhân viên 31
2.5.5 Actor quản trị viên 32
2.6 Sơ đồ ERD 34
2.7 Diagram trong MySQL 34
2.8 Các bảng dữ liệu 35
2.8.1 Bảng TaiKhoan 35
2.8.2 Bảng Shop 35
2.8.3 Bảng Danhmuc 35
2.8.4 Bảng DichVuDat 36
2.8.5 Bảng Dichvu 36
2.8.6 Bảng Dichvu_Dichvudat 36
2.8.7 Bảng Phithu 36
Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 38
3.1 Công cụ xây dựng chương trình 38
3.2 Giao diện chương trình 38
3.2.1 Đăng nhập 38
3.2.2 Đăng ký thành viên 38
3.2.3 Đăng ký chủ Shop 39
3.2.4 Quên mật khẩu 39
3.2.5 Đổi mật khẩu 40
Trang 133.2.7 Khách thành viên 43
3.2.8 Chủ Shop 47
3.2.9 Nhân viên 54
3.2.10 Quản trị viên 56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
1.1 Về công nghệ: 63
1.2 Về ứng dụng 63
1.3 Hướng phát triển 63
TÀI LIỆU THAM KHẢO 64
Trang 14Bảng 2.1: Kịch bản usecase Đăng nhập 18
Bảng 2.2: Kịch bản usercase Đăng dịch vụ 19
Bảng 2.3: Kịch bản usecase Duyệt dịch vụ đặt 19
Bảng 2.4: Kịch bản usecase Cập nhập dịch vụ 20
Bảng 2.5: Kịch bản usecase quản lý tài khoản nhân viên 20
Bảng 2.6: Kịch bản usecase đặt dịch vụ 21
Bảng 2.7: Kịch bản usecase Cập nhật dịch vụ đặt 21
Bảng 2.8: Kịch bản usecase xác nhận hoàn thành 22
Bảng 2.9: Kịch bản usecase duyệt đơn đăng ký 22
Bảng 2.10: Kịch bản usecase Quản lý tài khoản 23
Bảng 2.11: Bảng TaiKhoan 35
Bảng 2.12: Bảng Shop 35
Bảng 2.13: Bảng DanhMuc 36
Bảng 2.14: Bảng DichVuDat 36
Bảng 2.15: Bảng Dichvu 36
Bảng 2.16: Bảng Dichvu_Dichvudat 36
Bảng 2.17: Bảng PhiThu 37
Trang 15Hình 1.1: Giới thiệu HTML 3
Hình 1.2: Giới thiệu CSS 4
Hình 1.3: Giới thiệu JavaScript 5
Hình 1.4: Giới thiệu My Sql 7
Hình 1.5: Giới thiệu PHP 11
Hình 1.6: Giới thiệu Laravel Framework 13
Hình 1.7: Giới thiệu Visual Studio Code 14
Hình 1.8: Giới thiệu về Boostrap 15
Hình 2.1: Sơ đồ Usecase 18
Hình 2.2: Sơ đồ hoạt động đăng nhập 24
Hình 2.3: Sơ đồ hoạt động đăng dịch vụ 25
Hình 2.4: Sơ đồ hoạt động cập nhật dịch vụ 26
Hình 2.5: Sơ đồ hoạt động duyệt dịch vụ đặt 27
Hình 2.6: Sơ đồ hoạt động cập nhật tài khoản nhân viên 28
Hình 2.7: Sơ đồ hoạt động đặt dịch vụ 29
Hình 2.8: Sơ đồ hoạt động cập nhật dịch vụ đặt 30
Hình 2.9: Sơ đồ hoạt động xác nhận hoàn thành công việc 31
Hình 2.10: Sơ đồ hoạt động duyệt đơn đăng ký 32
Hình 2.11: Sơ đồ hoạt động cập nhật tài khoản 33
Hình 2.12: Sơ đồ ERD 34
Hình 2.13: Diagram trong MySQL 35
Hình 3.1: Giao diện đăng nhập 38
Hình 3.2: Giao diện đăng ký thành viên 38
Hình 3.3: Giao diện đăng ký chủ Shop 39
Hình 3.4: Giao diện quên mật khẩu 39
Hình 3.5: Giao diện đổi mật khẩu 40
Hình 3.6: Giao diện trang chủ khách vãng lai 40
Hình 3.7: Giao diện xem các Sho 41
Hình 3.8: Giao diện xem chi tiết dịch vụ 42
Trang 16Hình 3.10: Giao xem trang cá nhân khách thành viên 44
Hình 3.11: Giao diện chỉnh sửa trang cá nhận khách 44
Hình 3.12: Giao diên đặt dịch vụ 45
Hình 3.13: Giao diện xem dịch vụ đặt 45
Hình 3.14: Giao diện xem chi tiết dịch vụ đặt 46
Hình 3.15: Giao diện cập nhật dịch vụ đặt 46
Hình 3.16: Giao diện trang chủ Shop 47
Hình 3.17: Giao diện quản lý dịch vụ đặt 47
Hình 3.18: Giao diện duyệt dịch vụ đặt 48
Hình 3.19: Giao diện xuất báo cáo 48
Hình 3.20: Giao diện quản lý dịch vụ 49
Hình 3.21: Giao diện thêm dịch vụ 49
Hình 3.22: Giao diện cập nhật dịch vụ 50
Hình 3.23: Giao diện quản lý nhân viên 50
Hình 3.24: Giao diện thêm nhân viên 51
Hình 3.25: Giao diện cập nhật nhân viên 51
Hình 3.26: Giao diện xem danh mục 52
Hình 3.27: Giao diện yêu cầu thêm dịch vụ 52
Hình 3.28: Giao diện trang cá nhân Shop 53
Hình 3.29: Giao diện chỉnh sửa trang cá nhân 53
Hình 3.30: Giao diện trang chủ nhân viên 54
Hình 3.31: Giao diện trang cá nhân nhân viên 54
Hình 3.32: Giao diện xem công việc 55
Hình 3.33: Giao diện xác nhận hoàn thành 55
Hình 3.34: Giao diện trang chủ Quản trị viên 56
Hình 3.35: Giao diện quản lý danh mục 56
Hình 3.36: Giao diện cập nhật danh mục 57
Hình 3.37: Giao diện xem yêu cầu thêm dịch vụ từ các Shop 57
Hình 3.38: Giao diện quản lý slide 58
Hình 3.39: Giao diện cập nhật slide 58
Trang 17Hình 3.41: Giao diện duyệt đơn đăng ký 59
Hình 3.42: Giao diện thêm tài khoản 60
Hình 3.43: Giao diện quản lý tài khoản 60
Hình 3.44: Giao diện cập nhật tài khoản 61
Hình 3.45: Giao diện thêm phí thu 61
Hình 3.46: Giao diện xem phí thu 62
Trang 18Stt Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
1 HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bản
3 XHTML Extensible Hypertext Markup
Language
Ngôn ngữ đánh dấu siêu văn bản
mở rộng
4 PHP Hypertext Preprocessor Bộ tiền xử lý siêu văn bản
5 MVC Model – View – Controller Mô hình Dữ liệu – Giao diện –
Điều chỉnh
6 Http HyperText Transfer Protocol Giao thức truyền tải siêu văn
bản
Trang 19MỞ ĐẦU
Ngày nay, nhiều người chủ rất quan tâm đến việc chăm sóc cho những chú thúcưng của mình Tuy nhiên, do quá bận rộn với công việc, hoặc do không có đủ kĩ năngchăm sóc, họ thường tìm đến những trung tâm chăm sóc thú cưng
Do đó, em đã chọn đề tài “Xây dựng Website chăm sóc thú cưng tại Đà Nẵng”làm nội dung nghiên cứu cho Đồ Án Tốt nghiệp lần này
1 Mục tiêu đề tài
Mục tiêu đề tài đặt ra là xây dựng một website với giao diện trực quan, dễ dàng
sử dụng, giúp cho chủ thú cưng dễ dàng tìm kiếm và lựa chọn các trung tâm chăm sócthú cưng chất lượng Website đạt được những mục tiêu sau:
• Giúp khách hàng xem thông tin và đặt dịch vụ
• Giúp nhân viên xem công việc và xác nhận hoàn thành
• Giúp các chủ shop đăng, cập nhật thông tin dịch vụ
• Giúp quản trị viên phê duyệt đơn đăng ký của các chủ shop
• Giúp quản trị viên quản lý tài khoản
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a Đối tượng nghiên cứu
Người có nhu cầu sinh sống và làm việc tại Đà Nẵng
b Phạm vi nghiên cứu
Đề tài được nghiên cứu tại khu vực Đà Nẵng
3 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết thu nhập thông tin qua sách, các tài liệu trangweb để tìm được các cơ sở lý thuyết mà mình nghiên cứu
Phương pháp triển khai thực nghiệp: xây dựng website
4 Giải pháp công nghệ
- Ngôn ngữ giao diện: HTML, CSS
- Ngôn ngữ lập trình : JavaScript, PHP – Laravel Framework
- Hệ quản trị cơ sở dữ liệu : MySQL
Trang 20- Công cụ hỗ trợ : StartUML, VisualCode, Github
5 Cấu trúc đồ án
Cấu trúc đồ án bao gồm những phần sau:
Mở đầu: Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vinghiên cứu của đề tài Giới thiệu tóm tắt nội dung sẽ được trình bày trongcác chương trình tiếp theo Nghiên cứu, tìm hiểu và đưa ra lý do chọn đềtài, mục tiêu và mục đích khi xây dựng và phát triển đề tài Xác định rỏphạm vi và đối tượng hướng đến, giải pháp công nghệ để triển khai, xâydựng đề tài, đồng thời phân tích đặc tả yêu cầu nghiệp vụ
Chương 1: Tìm hiểu, giới thiệu tổng quát các kiến thức về ngôn ngữ lậptrình PHP – Laravel Framework, Boostrap, và hệ quản trị cơ sở dữ liệuMySQL
Chương 2: Phân tích các tác nhân và chức năng của từng tác nhân của hệthống Thiết kế sơ đồ use-case, sơ đồ hoạt động, sơ đồ ERD Thiết kế cơ
sở dữ liệu Xây dựng kịch bảng cho từng use-case hệ thống
Chương 3: Xây dựng giao diện và chức năng của hệ thống
Kết luận: Kết luận chung cho các chương trong đồ án
Trang 21Chương 1
CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu HTML
Hình 1.1.1.1.1.1: Giới thiệu HTML
1.1.2 HTML là gì
HTML[1] (viết tắt của từ Hypertext Markup Language) hay là Ngôn ngữ Đánhdấu Siêu văn bản Sử dụng HTML để xây dựng và cấu trúc lại các thành phần trongwebsite hoặc ứng dụng HTML có thể được hỗ trợ bởi các công nghệ như CSS và cácngôn ngữ kịch bản giống như JavaScript
HTML khi kết hợp với CSS[2] và JavaScript sẽ trở thành một nền tảng vững chắccho thế giới mạng Các phần tử HTML được phân định bằng các tags, được viết bằngdấu ngoặc nhọn Ví dụ <p>Xin chào các bạn đến với Vietnix </p>
HTML được tạo ra bởi Tim Berners-Lee là nhà vật lý học của trung tâm nghiên
cứu CERN ở Thụy Sĩ Ông đã nghĩ ra và viết siêu văn bản và hypertext trên Internet.Hypertext được hiểu là văn bản chứa link, có thể giúp người xem truy cập ngay lậptức
Hiện nay, HTML đã trở thành một chuẩn Internet được vận hành và phát triển bởi
tổ chức W3C (World Wide Web Consortium) Bạn có thể tự tìm kiếm cập nhật mớinhất của HTML tại bất kỳ thời điểm nào trên Website của W3C
1.1.3 Ưu điểm của HTML
HTML có một số ưu điểm dưới đây:
- Cộng đồng với nhiều tài nguyên lớn
- Hoạt động mượt mà trên tất cả các trình duyệt
Trang 22- Các markup sử dụng trong HTML ngắn gọn và có độ đồng nhất cao.
- Sử dụng mã nguồn mở và miễn phí
- Tích hợp dễ dàng với các ngôn ngữ backend (PHP, Node.js, )
1.1.4 Nhược điểm của HTML
Nói đển ưu điểm thì không thể bỏ qua các nhược điểm của HTML, cụ thể một sốnhược điểm HTML dưới đây:
- Chủ yếu được áp dụng cho web tĩnh, nếu muốn tạo tính năng động thì các lậptrình viên cần sử dụng thêm JavaScript hoặc ngôn ngữ backend khác
- Mỗi trang HTML cần được tạo riêng biệt ngay khi có nhiều yếu tố trùng lặpnhư header và footer
- Khó để kiểm soát cách đọc và hiển thị file HTML của trình duyệt (một số trìnhduyệt cũ không render được tag mới Vì vậy, dù trong HTML document có sử dụngcác tag thì các browser đó không đọc được)
- Một số trình duyệt còn chậm cập nhật để hỗ trợ tính năng mới của HTML
Nếu như HTML có nhiệm vụ định dạng các phần tử trên website như tạo layouthay các đoạn văn bản thì CSS giúp mình thêm các style vào các phần tử HTML nhưfont chữ, màu sắc, background, bố cục, viền,…
Trang 23Đặc điểm kỹ thuật của CSS được duy trì bởi World Wide Web Consortium(W3C) Thay vì đặt các thẻ định dạng kiểu dáng cho văn bản HTML ngay trong nộidung của nó, thì bạn nên sử dụng CSS để làm điều đó một cách chuyên biệt và dễ quản
lý trong việc thêm và chỉnh sửa được đễ dàng hơn
1.2.3 Ưu điểm của CSS
Một số ưu điểm của CSS có thể được biết đến như:
- Dễ dàng update style CSS
- Tạo ra kiểu dáng riêng biệt, không bị trùng lặp
- Tích hợp file CSS dễ dàng trên HTML
- Tiết kiệm thời gian vì code ngắn
- Hạn chế làm rối các mã HTML của trang web bằng các thẻ (in đậm, in nghiêng,gạch chân, màu chữ,…) Làm cho mã nguồn của trang web gọn gàng
1.2.4 Nhược điểm của CSS
- Hoạt Động Khác Biệt Cho Mỗi Trình Duyệt
- Người Mới Dùng Gặp Nhiều Khó Khăn
- Có Thể Gặp Rủi Ro Cho Định Dạng Web
1.3 Giới thiệu JavaScript
Hình 1.3.1.1.1.1: Giới thiệu JavaScript
1.3.2 JavaScript là gì
JavaScript[3] là ngôn ngữ lập trình phổ biến dùng để tạo ra các trang web tươngtác Được tích hợp và nhúng vào HTML giúp website trở nên sống động hơn.JavaScript đóng vai trò như một phần của trang web, thực thi cho phép Client-SideScript từ phía người dùng cũng như phía máy chủ (Nodejs) tạo ra các trang web động
Trang 24JavaScript được phát tiển bởi Brendan Eich tại hãng truyền thông Netscape với
tên đầu tiên là Mocha Sau đó, đổi tên thành LiveScript và cuối cùng là JavaSript được
sử dụng phổ biến tới thời điểm bây giờ
JavaScript là một ngôn ngữ lập trình thông dịch với khả năng hướng đến đốitượng Là một trong 3 ngôn ngữ chính trong lập trình web và có mối liên hệ lẫn nhau
để xây dựng một website sống động, chuyên nghiệp, bạn có thể nhìn tổng quan nhưsau:
- HTML: Cung cấp cấu trúc cơ bản, hỗ trợ trong việc xây dựng layout, thêm nộidung dễ dàng trên website
- CSS: Được sử dụng để kiểm soát và hỗ trợ việc định dạng thiết kế, bố cục,style, màu sắc,…
- JavaScript: Tạo nên những nội dung “động” trên website
1.3.3 Ưu điểm của JavaScript
JavaScript có các ưu điểm được xem là vượt trội so với các đối thủ khác trong cáctrường hợp thực tế như:
- Chương trình JavaScript rất dễ học
- Lỗi JavaScript dễ phát hiện và sẽ giúp bạn sửa lỗi nhanh hơn
- Các trình duyệt web có thể dịch nó bằng HTML mà không cần một compiler
- JavaScript hoạt động trên rất nhiều nền tảng và trình duyệt khác nhau
- Được đánh giá là ngôn ngữ lập trình nhẹ, nhanh so với các ngôn ngữ khác
- JavaScript có thể được gắn trên một số element hoặc các events của trang web
- Khi website có sử dụng JavaScript thì sẽ giúp cho trang web đó tương tác vàtăng trải nghiệm người dùng khi truy cập
- Bạn có thể tận dụng JavaScript để kiểm tra các input thay vì kiểm tra thủ côngthông qua việc truy xuất database
- Giao diện phong phú gồm các thành phần Drag and Drop, Slider để cung cấpmột Rich Interface (Giao diện giàu tính năng)
1.3.4 Nhược điểm của JavaScript
Mặt khác, ngoài những ưu điểm nhưng mọi ngôn ngữ lập trình khác đều có nhữngnhược điểm riêng của nó như:
Trang 25- Dễ bị khai thác từ những hacker và scammer.
- Có thể được dụng để thực thi mã độc trên máy tính của người dùng
- JavaScript code snippet lớn
- Các thiết bị khác nhau có thể thực hiện JS khác nhau dẫn đến không đồng nhất
- Vì tính bảo mật nên client-side JavaScript không cho phép đọc và ghi các file
- JavaScript không được hỗ trợ khi sử dụng trong kết nối mạng
- JavaScript không có khả năng đa luồng hoặc đa xử lý
1.4 Giới thiệu MySQL
Hình 1.4.1.1.1.1: Giới thiệu My Sql
Hệ quản trị cơ sở dữ liệu MySQL[4] là chương trình dùng để quản lý hệ thống cơ
sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõràng, phân lớp ngăn nắp Nó có thể truy cập dữ liệu một cách thuận lợi và nhanh chóngnhất Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữliệu tự do nguồn mở phổ biến nhất trên thế giới Hiện MySQL đang được các nhà pháttriển rất ưa chuộng trong quá trình phát triển ứng dụng
MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành,cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Đặc biệt, hệ quản trị cơ sở dữ
liệu MySQL hoàn toàn miễn phí nên người dùng có thể thoải mái tải về từ trang chủ.
Nó có rất nhiều những phiên bản cho các hệ điều hành khác nhau MySQL được sửdụng cho việc bỗ trợ PHP, Perl và nhiều ngôn ngữ khác Là nơi lưu trữ những thôngtin trên các trang web viết bằng framework PHP hay Perl
Trang 261.4.2 Đặc điểm của MySQL
Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trịCSDL dạng server based, hệ gần giống với SQL server of Microsoft
MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều cóbảng quan hệ chứa dữ liệu riêng biệt
MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thểquản lý cùng lúc một hay nhiều CSDL khác nhau Và mỗi người dùng đều có 1username và password để truy nhập và truy xuất đến CSDL Khi truy vấn đến CSDLcủa MySQL, chúng ta phải cung cấp tài khoản và mật khẩu có quyền sử dụng cơ sở dữliệu đó MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnhmẽ
1.4.3 Các lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL
Ra mắt người dùng hoàn toàn miễn phí, hệ quản trị cơ sở dữ liệu MySQL mang
đến rất nhiều những lợi ích thiết thực, được ứng dụng trong nhiều dự án của các công
ty công nghệ, một trong số đó có thể kể đến những công ty chuyên lập trìnhnhư MonaMedia, Misa,… cùng chúng tôi tìm hiểu những lợi ích thiết thực củamySQL ngay dưới đây:
1.4.3.1 Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang được các nhà phát triển rất ưa
chuộng trong quá trình phát triển ứng dụng Và họ đánh giá rất cao ở hiệu năng sửdụng của MySQL Với kiến trúc storage-engine, MySQL đặc trưng cho các ứng dụngchuyên biệt, đặc biệt là đối với những trang web có dung lượng lớn, phục vụ hàngtriệu khách hàng Hoặc đối với những hệ thống xử lý giao dịch tốc độ cao thì MySQLđều cùng có thể đáp ứng được những khả năng xử lý khắt khe của mọi hệ thống Đặcbiệt, với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao cùng bộ nhớ cache.MySQL đưa ra tất cả những tính năng cần có, đây là giải pháp hoàn hảo nhất ngay cảđối với những hệ thống doanh nghiệp khó tính nhất hiện nay
1.4.3.2 MySQL hỗ trợ giao dịch mạnh mẽ
Hệ quản trị cơ sở dữ liệu MySQL không những mang lại hiệu năng sử dụng cao.
Mà nó còn đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốt nhất trên thị
Trang 27trường hiện nay Tính năng này bao gồm: Khóa mức dòng không hạn chế; hỗ trợ giaodịch ACID hoàn thiện; khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng
mà người đọc không cản trở cho người viết và ngược lại Với MySQL, dữ liệu sẽđược đảm bảo trong suốt quá trình server có hiệu lực Các mức giao dịch độc lập sẽđược chuyên môn hóa, nếu phát hiện có lỗi khóa chết ngay tức thì
1.4.3.3 Tốc độ xử lý nhanh
Đánh giá chung của các nhà phát triển, tất cả họ đều cho rằng hệ quản trị cơ sở
dữ liệu MySQL là cơ sở dữ liệu nhanh nhất Đây là nơi để cho các website có thể
trao đổi thường xuyên các dữ liệu bởi nó có engine xử lý tốc độ cao Khả năng chèn
dữ liệu cực nhanh và hỗ trợ mạnh mẽ các chức năng chuyên dụng cho trang web Cáctính năng này cũng được sử dụng cho môi trường lưu trữ dữ liệu mà hệ quản trị nàytăng cường đến hàng terabyte cho các server đơn Ngoài ra còn có những tính năngkhác như: chỉ số băm, bảng nhớ chính, bảng lưu trữ và cây B được gói lại để giúpgiảm các yêu cầu lưu trữ tối đa đến 80% Với tốc độ nhanh, thật không thể phủ
nhận hệ quản trị cơ sở dữ liệu MySQL là sự lựa chọn tốt nhất cho cả ứng dụng web
cũng như các ứng dụng của doanh nghiệp ngày nay
1.4.3.4 Dễ dàng sử dụng
MySQL ngoài được biết đến với tốc độ khá cao, ổn định thì nó thực sự là một hệthống cơ sở dữ liệu rất đơn giản, rất dễ sử dụng Ít phức tạp khi cài đặt và quản trị hơncác hệ thống lớn Đặc biệt nó có thể hoạt động trên tất cả các hệ điều hành
1.4.3.5 Hỗ trợ ngôn ngữ truy vấn
MySQL hệ quản trị cơ sở dữ liệu là ngôn ngữ của sự lựa chọn cho tất cả các hệ
thống cơ sở dữ liệu hiện đại Người dùng hoàn toàn có thể truy cập MySQL bằng cách
sử dụng các ứng dụng mà hỗ trợ ODBC (một giao thức giao tiếp cơ sở dữ liệu đượcphát triển bởi Microsoft) Nhiều client có thể truy cập đến server trong cùng một thờigian Đặc biệt các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạncũng có thể truy cập MySQL tương tác với khi sử dụng một vài giao diện để đưa vàocác truy vấn và xem kết quả như: các dòng yêu cầu của khách hàng, các trình duyệtweb
Trang 281.4.3.6 Tính kết nối và bảo mật cao
Điều quan Shopng nhất của mỗi một doanh nghiệp chính là việc bảo mật dữ liệu
tuyệt đối Và hệ quản trị cơ sở dữ liệu MySQL tích hợp các tính năng bảo mật an
toàn tuyệt đối MySQL được nối mạng một cách đầy đủ Các cơ sở dữ liệu có thể đượctruy cập từ bất cứ nơi nào trên internet Bạn có thể chia sẻ dữ liệu của bạn với bất kì ai,bất cứ lúc nào và bất cứ nơi đâu bạn muốn Nhưng MySQL kiểm soát quyền truy cậpnên người không nên nhìn thấy dữ liệu của bạn sẽ không thể nào nhìn được Với việcxác nhận truy cập cơ sở dữ liệu, MySQL trang bị các kĩ thuật mạnh Chỉ có nhữngngười sử dụng đã được xác nhận mới truy cập được vào cơ sở dữ liệu Ngoài ra, SSH
và SSL cũng được hỗ trợ nhằm đảm bảo kết nối an toàn và bảo mật Tiện ích backup
và recovery cung cấp bởi MySQL hệ quản trị cơ sở dữ liệu và các hãng phần mềm
thứ 3 cho phép backup logic và vật lý cũng như recovery toàn bộ ngay tại một thờiđiểm
1.4.3.7 Tính linh động cao
MySQL có thể hoạt động trên tất cả các hệ điều hành, chạy được với mọi phần cứng từ các máy PC ở nhà cho đến các máy server Máy chủ hệ quản trị cơ sở dữ liệu MySQL đáp ứng nhiều tính năng linh hoạt Nó có sức chứa để xử lý các ứng dụng
được nhúng sâu với 1MB dung lượng để chạy kho dữ liệu khổng lồ lên đến hàngterabytes thông tin Tính chất mã nguồn mở của MySQL cho phép tùy biến theo ýmuốn để thêm các yêu cầu phù hợp cho database server
1.4.3.8 Mã nguồn mở tự do và hỗ trợ 24/7
Băn khoăn của rất nhiều doanh nghiệp khi họ gặp khó khăn trong việc giao toàn bộphần mềm cho một mã nguồn mở Bởi khó có thể tìm được hỗ trợ hay bảo mật an toànphục vụ một cách chuyên nghiệp Nhưng vấn đề khó khăn này sẽ không còn nữa nếu
sử dụng hệ quản trị cơ sở dữ liệu MySQL Với MySQL, mọi sự cam kết đều rất rõ
ràng, mọi sự cố đều được MySQL bồi thường Bạn có thể tìm thấy các tài nguyên cósẵn mà hệ quản trị này hỗ trợ Cộng đồng MySQL rất có trách nhiệm Họ thường trảlời các câu hỏi trên mailing list chỉ trong vài phút Nếu lỗi xảy ra, các nhà phát triển sẽđưa ra cách khắc phục nhanh nhất cho bạn Và cách khắc phục đó sẽ ngay lập tức cósẵn trên internet
Trang 291.4.3.9 Chi phí sở hữu thấp nhất
Hệ quản trị cơ sở dữ liệu MySQL cung cấp miễn phí cho hầu hết các việc sử
dụng trong một tổ chức Chính vì vậy, sử dụng MySQL cho các dự án, các doanhnghiệp đầu nhận thấy được sự tiết kiệm cho phí rất đáng kể Người dùng của MySQLcũng không phải mất nhiều thời gian để sửa chữa hoặc vấn đề thời gian chết
1.5 Giới thiệu ngôn ngữ lập trình PHP
Hình 1.5.1.1.1.1: Giới thiệu PHPPHP[5] (viết tắt của cụm từ Personal Home Page) là ngôn ngữ lập trình kịch bản(scripting language) mã nguồn mở được dùng phổ biến để ra tạo các ứng dụng webchạy trên máy chủ Mã lệnh PHP có thể được nhúng vào trong trang HTML nhờ sửdụng cặp thẻ PHP
PHP rất thích hợp với việc viết cho web, bên cạnh đó khi sử dụng chúng cũng cóthể nhúng được vào trang HTML một cách dễ dàng Hiện nay, PHP đang là một ngônngữ lập trình – ngon ngu lap trinh cho web được sử dụng và biết đến vô cùng phổ biếntrên thế giới Lý do là bởi việc tối ưu hóa các ứng dụng của web, việc có tốc độ nhanh
và nhỏ gọn Bên cạnh đó, các cú pháp của nó cũng giống với là C và Java nên các lậptrình viên có thể học và xây dựng được một sản phẩm là tương đối nhanh so với cácngôn ngữ khác
Nhằm tạo ra được một môi trường làm việc chuyên nghiệp, có thể đưa được PHPvào quy mô phát triển của doanh nghiệp thì các công ty do nhà phát triển PHP tính cốtlõi đã vô cùng quan tâm, cũng như đầu tư nguồn nhân lực cho công việc này
1.5.2 Ưu điểm
Ưu điểm của PHP có rất nhiều, trong đó có 5 nội dung chính bao gồm:
Trang 30 Việc PHP được sử dụng miễn phí, vì thế nó là yếu tố vô cùng tuyệt vời chonhững ai muốn học về ngôn ngữ lập trình Có thể tự học được PHP theo dạng online,
mà không cần phải lo đến việc sẽ bỏ ra một khoản tiền lớn để chi trả cho học
Cấu trúc của cực đơn giản, thế nên đối với lập trình viên khi tìm hiểu và theo
họ nó sẽ không bị mất quá nhiều thời gian mới có thể học được Đây chính là một ưuđiểm, khiến cho PHP luôn đón nhận được sự quan tâm hàng đầu từ những người yêuthích về công nghệ thông tin
Thư viện mà PHP tạo ra thì có sự phong phú, cũng như được cộng đồng hỗ trợmột cách mạnh mẽ Vậy nên, nếu như có nhu cầu tìm nguồn tài liệu thì có thể dễ dàng,cũng như gặp khó khăn thì được hỗ trợ một cách đắc lực nhất
Khi học về sẽ có được cơ hội về việc làm là rất lớn, mức lương của nó cũngkhá cao Bên cạnh đó, ưu điểm này còn giúp làm được lượng công việc lớn khác nhau,cũng như tại nhiều công ty và thu nhập từ đó sẽ được tăng lên đáng kể
PHP không chỉ dừng lại ở những tính năng hiện tại, trong tương lai thì nó còn pháttriển mạnh mẽ hơn nữa để khẳng định được vị trí của mình luôn là cao ở trong bảngdanh sách thực hiện điều tra, khảo sát mỗi năm về ngôn ngữ lập trình trong công nghệthông tin
Trang 311.6 Laravel Framework
Hình 1.6.1.1.1.1: Giới thiệu Laravel
FrameworkLaravel[6] là một framework rõ ràng và ưu việt cho việc phát triển web PHP Giảithoát bạn khỏi mã spaghetti, nó giúp bạn tạo ra những ứng dụng tuyệt vời, sử dụngsyntax đơn giản Phát triển là thích thú những trải nghiệm sáng tạo chứ không phải là
sự khó chịu
Laravel là một framework PHP 5.3 được miêu tả như ‘một framework cho webartisan’ Theo tác giả Taylor Otwell, Laravel mang lại niềm vui cho việc lập trình bởi
nó đơn giản, súc tích và đặc biệt là trình bày hợp lý
1.6.2 Laravel có 3 đặc tính nổi trội
Đơn giản: các chức năng của Laravel rất dễ hiểu và thực hiện
Ngắn gọn: hầu hết các chức năng của Laravel hoạt động liên tục với cấu hìnhrất nhỏ, dựa vào các quy tắc chuẩn để giảm bớt code-bloat
Trình bày hợp lý: hướng dẫn sử dụng Laravel rất đầy đủ và luôn cập nhật Nhàlập trình, người tạo ra framework luôn cập nhật tài liệu trước khi cho ra mộtphiên bản mới, đảm bảo những người học lập trình luôn luôn có những tài liệumới nhất
1.6.3 Điều khiến laravel trở nên khác biệt:
Bundles:_ là dành cho Laravel cũng như PEAR là cho PHP Ngoài ra laravel đi
kèm với công cụ command-line gọi là Artisan, giúp việc cài đặt các gói dễdàng
Eloquent ORM: là file thực thi PHP Active Record tiên tiến nhất hiện có.
Migrations:_ trog laravel, migrations được xây dựng trong framework, chúng
Trang 32có thể thực hiện thông quan Artisan command-line.
Unit-testing: laravel là 1 framework tuyệt vời để tích hợp PHP Unit.
Redis: Laravel hỗ trợ Redis rất ngắn gọn.
1.7 Giới thiệu về Visual Studio Code
Hình 1.7.1.1.1.1: Giới thiệu Visual Studio
CodeVisual Studio Code[7] là một trình biên tập lập trình code miễn phí dành choWindows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nóđược xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntaxhighlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tínhnăng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phímtắt, và các tùy chọn khác
- Cung cấp kho tiện ích mở rộng
- Kho lưu trữ an toàn
- Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trìnhsoạn thảo và thiết kế website
- Lưu trữ dữ liệu dạng phân cấp
- Hỗ trợ viết Code
Trang 33- Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phảichuyển đổi giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các thaotác
- Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục –mặc dù chúng không hề liên quan với nhau
- Intellisense: có thể phát hiện nếu bất kỳ đoạn mã nào không đầy đủ Thậm chí,khi lập trình viên quên không khai báo biến, Intellisense sẽ tự động giúp họ bổsung các cú pháp còn thiếu
- Hỗ trợ Git.
1.8 Boostrap
Hình 1.8.1.1.1.1: Giới thiệu về BoostrapHiểu đơn giản, Bootstrap[8] là những đoạn code viết sẵn để giúp developer dễdàng tạo ra những giao diện website tương thích với màn hình điện thoại Bootstrap làmột framework bao gồm các HTML template, CSS template và JavaScript templatedùng để phát triển website chuẩn responsive
1.8.2 Đôi nét về lịch sử
19/8/2011 trên GitHub, Bootstrap được “ra mắt” như một mã nguồn mở với têngọi ban đầu là Twitter Blueprint Đây là một món đồ sáng tạo của Mark Otto và JacobThornton tại Twitter
31/1/2012, Bootstrap phiên bản 2 được phát hành Phiên bản này được bổ sung bốcục lưới 12 cột, thiết kế tùy chỉnh có thể tương thích linh hoạt với kích thước nhiềumàn hình
19/8/2013, Bootstrap 3 ra đời với giao diện tương thích với smartphone, trở thànhNo.1 project trên GitHub
Tháng 10/2014, Mark Otto công bố phiên bản Bootstrap 4 đang được phát triển.Phiên bản alpha đầu tiên của Bootstrap 4 đã được triển khai vào tháng 8/2015
Phiên bản mới nhất là Bootstrap 4.5
Trang 34Đến nay, Bootstrap vẫn là một trong những framework thiết kế website đượcnhiều developer đánh giá cao.
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hệ thống
Hiện nay, chăm sóc thú cưng đang trở thành một phần không thể thiếu trongcuộc sống của nhiều người Tuy nhiên, việc tìm kiếm và sử dụng dịch vụ chăm sóc thúcưng trực tuyến còn gặp nhiều khó khăn và thách thức Từ đó, đề tài “Xây dựngwebsite chăm sóc thú cưng” đặt ra nhằm tạo điều kiện thuận lợi để người dùng có thể
dễ dàng tìm kiếm và chọn lựa dịch vụ phù hợp với nhu cầu của thú cưng của mình vàđặt lịch hẹn một cách thuận tiện
Trang 352.2.2.2 Khách thành viên
- Đăng nhập / đăng xuất / đổi mật khẩu
- Cập nhập thông tin cá nhân
- Xem dịch vụ
- Đặt dịch vụ
- Cập nhật đặt dịch vụ
2.2.2.3 Chủ Shop
- Đăng nhập / đăng xuất / đổi mật khẩu
- Cập nhật thông tin cá nhân
- Đăng nhập / đăng xuất / đổi mật khẩu
- Cập nhật thông tin cá nhân
- Xem công việc
- Xác nhận hoàn thành công việc
2.2.2.5 Quản trị viên
- Đăng nhập / đăng xuất
- Duyệt đơn đăng ký
- Quản lý danh mục
Trang 36Mô tả Người dùng muốn thực hiện những chức năng cần phải đăng
nhập vào hệ thống
Actors Khách thành viên, chủ Shop, quản trị viên
Trang 372.4.2 Actor chủ Shop
2.4.2.1 Kịch bản usecase Đăng dịch vụ
Tên usecase Đăng dịch vụ
1 Chủ Shop (Actor) nhấn vào mục thêm dịch vụ
2 Actor nhập vào nội dung
Trang 382.4.2.2 Kịch bản usecase Duyệt dịch vụ đặt
Tên usecase Duyệt dịch vụ đặt
Đầu ra Thông tin được lưu vào cơ sở dữ liệu
Các bước thực
hiện
1 Actor vào mục Lịch đặt dịch vụ
2 Chọn dịch vụ đặt
3 Chọn nhân viên( nếu đồng ý duyệt)
4 Chọn đồng ý hoặc từ chối– kết thúc Usecase
Trang 392.4.2.4 Kịch bản usecase quản lý tài khoản nhân viên
Tên usecase Quản lý tài khoản nhân viên
1 Actor vào mục Tài khoản
2 Chọn thêm tài khoản hoặc cập nhật tài khoản
Đầu vào Tên, Ngày, Giờ, Các dịch vụ
Đầu ra Thông tin được lưu vào cơ sở dữ liệu
Trang 402.4.3.2 Kịch bản usecase Cập nhật dịch vụ đặt
Tên usecase Cập nhật dịch vụ đặt
Mô tả Khách thành viên muốn cập nhật dịch vụ đặt
Đầu vào Tên, Ngày, Giờ, Các dịch vụ
Đầu ra Thông tin được lưu vào cơ sở dữ liệu
Tên usecase Xác nhận hoàn thành
Mô tả Nhân viên xác nhận hoàn thành công việc
Đầu vào Tên, Ngày, Giờ, Các dịch vụ
Đầu ra Thông tin được lưu vào cơ sở dữ liệu