LỜI MỞ ĐẦUTrong thời đại mà công nghệ thông tin phát triển mạnh, bên cạnh đó diễn biến phức tạpcủa dịch bệnh COVID-19 gây khó khăn trong việc mua sắm trực tiếp tại cửa hàng thìmua sắm on
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌC
PHẦN MỀM MÃ NGUỒN MỞ
XÂY DỰNG TRANG WEB BÁN ĐỒNG HỒ
Giảng viên giảng dạy : ThS Nguyễn Thị Hồng
Sinh viên thực hiện : Lê Đình Hoàng Thái
Mã số sinh viên : 1900009507
Tp.HCM, tháng 01/2022
Trang 2BM-ChT-TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KỲ THI KẾT THÚC HỌC PHẦN
PHIẾU CHẤM THI TIỂU LUẬN/BÁO CÁO
Môn thi: Phần mềm mã nguồn mở Lớp học phần: 19DTH1A
Sinh viên thực hiện: Lê Đình Hoàng Thái MSSV: 1900009507
Đề tài tiểu luận/báo cáo của sinh viên: Trang web bán đồng hồ
Phần đánh giá của giảng viên (căn cứ trên thang rubrics của môn học):
Trang 4TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH 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
NHIỆM VỤ ĐỒ ÁN MÔN HỌC
(Sinh viên phải đóng tờ này vào cuốn báo cáo)
Họ và tên: LÊ ĐÌNH HOÀNG THÁI MSSV: 1900009507
Chuyên ngành: Kỹ thuật phần mềm Lớp: 19DTH2A
Email: tlee692001@gmail.com SĐT: 0869331145
Tên đề tài: Xây dựng trang web bán đồng hồ
Giảng viên giảng dạy: ThS Nguyễn Thị Hồng
Thời gian thực hiện: 24/12/2021 đến 05/01/2022
Nhiệm vụ: Phân tích tìm hiểu về Phần mềm mã nguồn mở và thiết kế Trang web
bán đồng hồ
Nội dung: Tìm hiểu về Phần mềm mã nguồn mở Tìm hiểu đề tài xây dựng trang web
bán đồng hồ Xây dựng giao diện.Lập trình xử lý các sự kiện
Phương pháp: sử dụng ngôn ngữ PHP và framework Laravel để thực hiện đề tài xây
dựng trang web Quản lý bán đồng hồ
Nội dung và yêu cầu đã được thông qua Bộ môn.
Tp.HCM, ngày tháng năm 2022
Trang 5Em xin gửi lời cám ơn đến anh, chị, bạn bè, đồng nghiệp bằng nhiều hình thức khác nhau
đã giúp đỡ em trong quá trình học tập tại trường cũng như trong thời gian hoàn thành đồ
Trang 6LỜI MỞ ĐẦU
Trong thời đại mà công nghệ thông tin phát triển mạnh, bên cạnh đó diễn biến phức tạpcủa dịch bệnh COVID-19 gây khó khăn trong việc mua sắm trực tiếp tại cửa hàng thìmua sắm online là lựa chọn tối ưu của mọi người.Ngày này đồng hồ online đã không còn
xa lạ tuy nhiên vẫn có nhiều người giữ thói quen mua tại cửa hàng để được nhìn và thửtại chỗ.Áp dụng các kiến thức đã được học cùng với sự yêu thích đồng hồ của bản thân,
em lựa chọn đề tài “Xây dựng website bán đồng hồ online “ ” sử dụng ngôn ngữ PHP vàframework Laravel để hoàn thiện học phần Phần mềm mã nguồn mở với mục tiêu tạo rawebsite cung cấp đa dạng đồng hồ, giúp người mua dễ dàng tìm mua đồng hồ trên trangweb và hệ thống hỗ trợ người quản trị trong việc quản lý website một cách nhanh chóng
và đơn giản nhất
Trong quá trình thực hiện, được sự hướng dẫn và hỗ trợ nhiệt tình của giảng viên tuynhiên bản thân em còn nhiều thiếu sót, mong thầy cô bỏ qua và bổ sung thêm để đề tàiđược hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 7NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
TP Hồ Chí Minh, ngày … tháng … năm 2022
GIẢNG VIÊN HƯỚNG DẪN
(Ký tên)
Trang 8MỤC LỤC
LỜI CẢM ƠN 5
LỜI MỞ ĐẦU 6
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 7
MỤC LỤC 8
DANH MỤC CÁC BẢNG BIỂU 10
DANH MỤC CÁC BẢNG HÌNH 11
DANH MỤC CÁC TỪ VIẾT TẮT 13
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 14
1.1 Giới thiệu đề tài: 14
1.2 Lý do chọn đề tài 14
1.3 Mục tiêu đề tài 14
1.4 Các công cụ hỗ trợ 14
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 15
2.1 TỔNG QUAN VỀ PHẦN MỀM MÃ NGUỒN MỞ 15
2.1.1 Khái niệm: 15
2.2 GIỚI THIỆU VỀ PHP VÀ FRAMEWORK LARAVEL 15
2.2.1 PHP là gì? 15
2.2.2 Ngôn ngữ PHP có thể làm được gì? 16
2.2.3 Ngôn ngữ PHP có khác biệt thế nào so với những ngôn ngữ lập trình khác 18
2.2.4 Lập trình PHP là gì? 19
2.2.5 Thu nhập của lập trình PHP 20
2.2.6 Muốn phát triển nghề lập trình PHP cần gì 20
2.2.7 Framework Laravel là gì? 21
2.2.8 Framework là gì? PHP Framework là gì? 23
2.2.9 Mô hình MVC là gì? 24
2.2.10 Lịch sử phát triển của Laravel 25
Trang 93.3 Phương pháp nghiên cứu 31
CHƯƠNG 4: CÀI ĐẶT WEBSITE BÁN ĐỒNG HỒ ONLINE “MEN WATCH” 32
4.1 Thiết kế chi tiết chức năng và phương thức 32
4.2 Thiết kế giao diện Website 33
4.2.1 Giao diện trang chủ 33
4.2.2 Giao diện các loại sản phẩm 36
4.2.3 Giao diện trang Chi tiết sản phẩm 37
4.2.4 Giao diện đặt hàng 38
4.2.5 Giao diện Admin 39
4.2.6 Giao diện Admin Danh sách đơn hàng 40
4.2.7 Giao diện Admin Danh sách sản phẩm 40
4.2.8 Giao diện Admin Danh sách Loại sản phẩm 42
CHƯƠNG 5: KẾT LUẬN 43
5.1 Kết quả đạt được 43
5.2 Hạn chế của đề tài 43
5.3 Hướng phát triển 43
5.4 Tài liệu tham khảo 43
Trang 10DANH MỤC CÁC BẢNG BIỂU
Trang 11DANH MỤC CÁC BẢNG HÌNH
Hinh 1 PHP 17
Hinh 2 Lập trình PHP 19
Hinh 3 Kĩ Năng PHP 21
Hinh 4 Laravel 22
Hinh 5 Framwork 23
Hinh 6 ASP.NET.MVC 24
Hinh 7 Laravel 25
Hinh 8 Ưu điểm Laravel 26
Hinh 9 Laravel Instal 27
Hinh 10 Giao diện trang chủ Website 31
Hinh 11 Bật xampp và start apeche & MySQL 32
Hinh 12 Giao diện trang chủ 1 33
Hinh 13 Giao diện trang chủ 2 34
Hinh 14 Giao diện trang chủ 3 34
Hinh 15 Điều kiện đặt ribbon 35
Hinh 16 Kết quả đặt banner 35
Hinh 17 Điều kiện hiển thị giá 35
Hinh 18 Kết quả hiển thị giá của sản phẩm 36
Hinh 19 Chọn loại sản phẩm 36
Hinh 20 Giao diện trang Sản phẩm đông hồ cao cấp 37
Hinh 21 Sản phẩm khác 37
Hinh 22 Giao diện chi tiết sản phẩm 38
Hinh 23 Giao diện chi tiết sản phẩm 2 38
Hinh 24 Giao diện đặt hàng 39
Hinh 25 Giao diện admin 39
Hinh 26 Giao diện Admin Danh sách đơn hàng 40
Hinh 27 Giao diện Admin Danh sách sản phẩm 40
Hinh 28 Giao diện thêm, sửa sản phẩm 41
Trang 12Hinh 29 Giao diện Danh sách loại sản phẩm 42
Hinh 30 Giao diện thêm loại sản phẩm 42
Trang 13DANH MỤC CÁC TỪ VIẾT TẮT
Trang 14CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệu đề tài:
Tên đề tài: Website bán đồng hồ
Giới thiệu: Website cho phép chủ doanh nghiệp quản lý các sản phẩm có trong cửa hàng
1.2 Lý do chọn đề tài
Các chủ cửa chưa có một hệ thống website chuyên biệt nào để lưu trữ thông tin và
quản lý các sản phẩm
Thời đại 4.0, công nghệ phát triển nhu cầu ứng dụng công nghệ vào trong quản lý
ngày càng phát triển mạnh và đem lại rất nhiều lợi ích
Website giúp các chủ cửa hàng dễ dàng quản lý và tiết kiệm thời gian hơn so với thủcông
1.3 Mục tiêu đề tài
Xây dựng ứng dụng theo nhu cầu của chủ cửa hàng nhỏ bán lẻ
Giao diện đơn giản dễ sử dung
Website thực hiện được các chức năng: thêm, xóa, sửa các sản phẩm và xuất danh sáchcác sản phẩm có trong cửa hàng với đầy đủ thông tin
Trang 15CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ PHẦN MỀM MÃ NGUỒN MỞ
2.1.1 Khái niệm:
Phần mềm mã nguồn mở là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung quy định trong giấy phép phần mềm mã nguồn mở mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng
Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả một số chi phí vềcác dịch vụ như: bảo hành, huấn luyện, nâng cấp, tư vấn, vv… là những dịch vụ thực sự
để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn mở vì nó là tài sảncủa trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào Ưu điểm củaphần mềm mã nguồn mở: Phần mềm được sao chép hoàn toàn miễn phí, tự do sử dụngchương trình cho mọi mục đích, tự do để nghiên cứu cấu trúc của chương trình, chỉnh sửaphù hợp với nhu cầu, truy cập vào mã nguồn, tự do phân phối lại các phiên bản cho nhiềungười, tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích côngcộng
Nhược điểm của mã nguồn mở:
- Tính bảo mật thấp
- Thiếu sáng tạo
- Tính tự do – tùy biến không cao
Một số mã nguồn mở đang được sử dụng hiện nay là: Joomla, Drupal, PHP, Magento, Zencart, …
2.2 GIỚI THIỆU VỀ PHP VÀ FRAMEWORK LARAVEL
2.2.1 PHP là gì?
PHP là dạng viết tắt của thuật ngữ Personal Home Page Đây là một chuỗi ngôn ngữ kịch bản hoặc một dạng mã lệnh Trong đó, ngôn ngữ PHP chủ yếu được phát triển dành cho các ứng dụng nằm trên máy chủ Khi các lập trình viên PHP viết chương trình, các chuỗi
Trang 16lệnh sẽ được chạy ở trên server nhằm sinh ra mã HTML Nhờ đó, những ứng dụng trêncác website có thể chạy một cách dễ dàng.
Ngôn ngữ PHP thông thường phù hợp với việc lập trình web vì nó có thể dễ dàng kết nối với các website có sử dụng HTML để chạy trên những trình duyệt web Chính vì vậy, ngôn ngữ lập trình này luôn được coi là khá dễ học Và PHP cũng trở thành ngôn ngữ web dev phổ biến nhất mà các lập trình viên sẽ cần phải học khi mới bắt đầu vào nghề
Hình 1 cú pháp php đơn giản “xin chào
PHP” 2.2.2 Ngôn ngữ PHP có thể làm được gì?
Trong hoạt động công nghệ thông tin, ngôn ngữ lập trình PHP hiện thường tập trung vàoxây dựng kịch bản hoạt động từ hệ thống máy chủ Vì vậy, bạn có thể thực hiện được rấtnhiều thao tác khác nhau bên cạnh việc tạo các dữ liệu, nội dung website hoặc nhận dữliệu cookie trong quá trình làm việc Tuy nhiên, công dụng của PHP là gì hiện còn rấtnhiều
Trang 17Hinh 1 PHP
Trong số những ứng dụng của PHP là gì có thể kể đến:
Thiết lập các chương trình cho máy chủ: Ứng dụng chủ đạo của PHP là gì đó
chính là việc xây dựng các chương trình dành cho những server máy chủ Để cóthể viết được các chương trình chạy trên máy chủ, các lập trình viên sẽ cần phảithực hiện những công việc như: phân tích cú pháp ngôn ngữ lập trình PHP, xây dựng máy chủ web, trình duyệt web Các lập trình viên có thể xây dựng output bằng các trình duyệt web phổ biến
Tạo dòng tập lệnh: Các PHP Dev có thể tạo một dòng tập lệnh để có thể chạy
chương trình PHP mà không cần bất cứ máy chủ nào Đây là kiểu lập trình thường được sử dụng trên các hệ điều hành như: Linux, các trình lập tác vụ trênWindows
Xây dựng các ứng dụng làm việc: Với những điểm mạnh vốn có của PHP Có
thể đây chưa phải là phương thức tốt nhất để xây dựng những ứng dụng phầnmềm Nhưng nếu như bạn đang muốn đi sâu hơn vào việc tạo lập những phầnmềm từ PHP là gì Bạn cũng có thể sử dụng PHP – GTK như một ngôn ngữ nềntảng để có thể xây dựng các phần mềm của riêng mình PHP – GTK là một
Trang 18nhánh mở rộng hơn của ngôn ngữ lập trình này và nó không có sẵn trong các phiên bản phân phối chính hiện nay.
Hỗ trợ cho một loại cơ sở dữ liệu khác nhau: Đây chính là ứng dụng mạnh
nhất nếu như được hỏi PHP dùng để làm gì Nếu trang web có hỗ trợ cơ sở dữ liệu tốt sẽ giúp ích rất nhiều cho việc vận hành cũng như backup dữ liệu nếu không may có những tình huống tấn công an ninh mạng xảy ra
Hiện nay, PHP có thể sử dụng trên rất nhiều hệ điều hành phổ biến trên thị trường
như: Linux, Microsoft Windows, macOS… Vì vậy, các DEV có thể tự do lựa chọn một
hệ điều hành để tự lập trình cho mình Vì thế, ngôn ngữ lập trình PHP đã và đang đem lạirất nhiều hữu ích trong hoạt động công nghệ thông tin hiện nay
2.2.3 Ngôn ngữ PHP có khác biệt thế nào so với những ngôn ngữ lập trình
khác
PHP là một ngôn ngữ lập trình Tuy nhiên, ngôn ngữ lập trình này không chạy trênmột trình duyệt mà chủ yếu tương thích với một máy chủ web Khi bạn mở một trang web bất kỳ, máy chủ sẽ chạy tập lệnh PHP được liên kết để trả lại website cho bạn
HTML: Ngôn ngữ này sẽ được dùng để tạo lập một trang web hoàn chỉnh HTML chủ yếu được dùng để lên cấu trúc cơ bản cho một trang web Hiện nay, bất cứ trang web nào cũng cần phải sử dụng ngôn ngữ HTML để xây dựng website
CSS: CSS chủ yếu được sử dụng nhằm trang trí cho website của bạn được đẹp mắthơn CSS có tất cả những hiệu ứng khác nhau để có thể giúp cho website của bạn trở nên bắt mắt và thu hút thêm nhiều lượt người xem hơn
Java Script: Ngôn ngữ lập trình này sẽ cung cấp cho website của bạn sức mạnh
Trang 192.2.4 Lập trình PHP là gì?
Nhân viên lập trình PHP chính là những người kỹ sư trưởng của việc thiết kế phần mềm máy tính Các nhiệm vụ chính của một PHP developer hiện nay có thể kể tới:
Hinh 2 Lập trình PHP
Lập trình website: Các IT thường dùng PHP để có thể thiết kế những website.
Rất nhiều nền tảng khác nhau hiện nay đều được tạo bởi PHP Trong đó có thể
kể đến những mạng xã hội rất nổi tiếng trên thế giới như Facebook, Youtube đều lấy PHP làm nền tảng gốc
Quản trị website: Việc quản trị các website của một PHP dev cũng thường
xuyên phải làm Tuy nhiên, công việc này thường không có thu nhập so với các
dự án thiết kế website khác nhau:
Phát triển ngôn ngữ PHP: Bản chất là một ngôn ngữ với mã nguồn mở PhP
cũng được phát triển bởi một cộng đồng IT với rất nhiều thành viên Tác giả của PHP cũng liên tục update những bản mới nhất trên thị trường để có thể giúp các nhân viên IT hoạt động một cách dễ dàng hơn
Trang 20Và những công việc này nhằm mục đích cuối cùng là nâng cao hiệu quả hoạt động
của phần mềm máy tính Vì thế, nếu muốn phần mềm được vận hành hiệu quả, nhà
tuyển dụng sẽ cần phải rất kỹ càng trong việc tuyển dụng IT
2.2.5 Thu nhập của lập trình PHP
Hiện nay, thu nhập của lập trình PHP thường phụ thuộc vào năng lực của các ứng viên.Cùng với đó là quy mô của các công ty công nghệ thông tin mà ứng viên tham gia tuyểndụng Tuy nhiên, nghề lập trình nói chung và DEV nói riêng luôn có mức lương rất cao.Trung bình trên thế giới, những lập trình viên có kinh nghiệm thường sẽ kiếm được đến100.000 USD/ năm (1.3 – 2.2 tỷ VNĐ)
Và nếu ở Việt Nam, mức thu nhập của một ứng viên cũng rất khá Nếu như bạn mới ratrường, lương dành cho nhân viên thiết kế web PHP cũng đã lên tới con số 16 triệu/tháng Và con số này sẽ không chỉ dừng lại ở 16 triệu nếu như năng lực của bạn đã đượcchứng minh trong thực tế
Khả năng ngoại ngữ
Khả năng ngoại ngữ, đặc biệt là tiếng Anh là điều bắt buộc dành cho mọi IT hiện nay
Trang 21Hinh 3 Kĩ Năng PHP
Kỹ năng giao tiếp
Đối với nhiều nhân viên IT, mặc dù có kiến thức chuyên môn rất tốt nhưng mãi khôngthể thăng tiến tới những vị trí cao hơn Điều này có thể được kết luận bởi vấn đề là: kỹnăng giao tiếp của bạn còn quá kém Ngoài việc giỏi công việc, các nhân viên lập trìnhPHP còn cần có cách thức truyền tải ý tưởng sao cho người khác có thể hiểu rõ đượcmình đang muốn nói cái gì Vì vậy, nếu muốn thăng tiến lên các vị trí cao hơn, khả nănggiao tiếp cũng là điều không thể thiếu được
2.2.7 Framework Laravel là gì?
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗtrợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC Hiện nay, Laravel đang làPHP framework phổ biến nhất và tốt nhất Vậy những lý do khiến Laravel được biết đếnrộng rãi là gì?
Trang 22Hinh 4 Laravel
Những lý do khiến Laravel trở nên rộng rãi:
Cú pháp dễ hiểu – rõ ràng
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
Trang 232.2.8 Framework là gì? PHP Framework là gì?
Hinh 5 Framwork
Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trìnhviên sử dụng thay vì phải tự thiết kế Có Framework, lập trình viên chỉ tìm hiểu và khaithác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình.Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình
để xây dựng nên những phần mềm, ứng dụng thành phẩm
PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết bằngngô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 dựngnhững ứng dụng đó Hay nói cách khác, PHP framework giúp bạn thúc đẩy nhanh chóngquá trình phát triển ứng dụng Giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứngdụng Giảm thiểu số lần phải viết lại code cho lập trình viên