Chính vì những lí do đó mà em quyết định chọn đề tài Ứng dụng Laravelxây dựng website bán điện thoại là đề tài đồ án cơ sở 1 của mình Với sự giúp đỡ tận tình của thầy Võ Thành Thiên cũng
Trang 1ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 1
ĐỀ TÀI: ỨNG DỤNG LARAVEL XÂY DỰNG
Đà nẵng, tháng 6 năm 2021
Trang 2ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 1
ĐỀ TÀI: ỨNG DỤNG LARAVEL XÂY DỰNG
WEBSITE BÁN ĐIỆN THOẠI
Đà Nẵng, tháng 6 năm 2021
Trang 3MỞ ĐẦU
Trong nền công nghiệp 4.0 hiện nay công nghệ đóng vai trò vô cùng quantrọng đối với cuộc sống Và chiếc điện thoại thông minh hiện đang là 1 công nghệđược sử dụng vô cùng rộng rãi Với nhu cầu thiết yếu của nó mà người sử dụngcũng yêu cầu để các nhà sản xuất cho ra đời những chiếc điện thoại thông minh
có nhiều tính năng hơn mẫu mã đẹp hơn
Với nên thương mại điện tử nở rộ như thời điểm hiện tại thì việc quảng báthương hiệu cũng rất quan trọng Và việc lập ra một website là sự lựa chọn thôngminh để vừa có thể quảng bá sản phẩm đến người tiêu dùng vừa có thể quản lýđược trang web
Chính vì những lí do đó mà em quyết định chọn đề tài Ứng dụng Laravelxây dựng website bán điện thoại là đề tài đồ án cơ sở 1 của mình
Với sự giúp đỡ tận tình của thầy Võ Thành Thiên cũng như em đã cố gắngtìm tòi học hỏi làm thêm những tính năng riêng ngoài những gì đã được học em
đã hoàn thành xong đồ án cơ sở 1 của mình.Tuy nhiên do thời gian không chophép nên chắc chắn không tránh khỏi thiếu xót mong thầy cô giúp đỡ và chỉ bảothêm để em có thêm kinh nghiệm cho những đồ án tiếp theo
Trang 4
LỜI CẢM ƠN
Em xin được chân thành cảm ơn sự giúp đỡ tận tình của thầy giáo VõThành Thiên - người đã giúp đỡ cũng như định hướng cho em những phươngpháp lập trình và cung cấp tài liệu để em có thể hoàn thành tốt đồ án này
Em cũng xin trân trọng cảm ơn các thầy cô bộ môn Công nghệ web củaKhoa Công Nghệ Thông Tin và Truyền Thông - ĐHĐN đã giúp em hiểu rõ hơn
để có thể tạo ra một giao diện đẹp và có nhiều tính năng.Và các thầy cô giáogiảng viên trong hội đồng sư phạm nhà trường đã giúp đỡ em rất nhiều trong thờigian học tập tại trường
Em cũng xin gửi lời cảm ơn đến gia đình, bạn bè luôn động viên giúp đỡ
em trong suốt thời gian học tập và nghiên cứu, đóng góp những kinh nghiệm quýbáu trong thời gian thực hiện đề tài này
Kính chúc thầy cô mạnh khỏe, công tác tốt, tiếp tục giảng dạy và đào tạothế hệ trẻ thành công Một lần nữa em trân trọng cảm ơn !
Trang 5NHẬN XÉT
(Của giảng viên hướng dẫn)
………
………
………
………
Giảng viên hướng dẫn
ThS.Võ Thành Thiên
Trang 6MỤC LỤC
MỞ ĐẦU 1
LỜI CẢM ƠN 2
NHẬN XÉT 3
DANH MỤC HÌNH 5
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG 7
1.1 ĐẶT VẤN ĐỀ: 7
1.2 MỤC ĐÍCH VÀ NHIỆM VỤ CỦA SẢN PHẨM 8
1.3 NỘI DUNG THỰC HIỆN 8
CHƯƠNG 2 CÔNG CỤ KĨ THUẬT 10
2.1 BOOTSTRAP 10
2.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 10
2.3 TẠI SAO SỬ DỤNG MYSQL 11
2.3 LARAVEL 12
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG 18
3.1 PHÂN TÍCH BIỂU ĐỒ 18
3.2 MÔ TẢ HỆ THỐNG 19
CHƯƠNG 4 THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG 20
4.1 THIẾT KẾ BẢNG CƠ SỞ DỮ LIỆU VÀ GIAO DIỆN 20
KẾT LUẬN 30
DANH MỤC TÀI LIỆU THAM KHẢO 31
Trang 7Danh mục hình
Hình 1 Laravel là một framework PHP với nhiều ưu điểm vượt trội 13
Hình 2 Ưu nhược điểm Laravel 14
Hình 3 Thế giới di động trang chủ 16
Hình 4 Thế giới di động sản phẩm 17
Hình 5 Thế giới di động chi tiết sản phẩm 17
Hình 6 Sơ đồ phân cấp 18
Hình 7 Sơ đồ cơ sở dữ liệu 19
Hình 8 Tổng quan CSDL 20
Hình 9 Giao diện banner trang chủ 20
Hình 10 Giao diện danh sách sản phẩm 21
Hình 11 Giao diện trang giỏ hàng 21
Hình 12 Giao diện chi tiết sản phẩm 22
Hình 13 Giao diện trang thanh toán 22
Hình 14 Form đăng nhập (Admin) 23
Hình 15 Giao diện backend 23
Hình 16 Giao diện quản lý danh mục 24
Hình 17 Giao diện quản lý sản phẩm 24
Hình 18 Giao diện quản lý Slider 25
Hình 19 Giao diện quản lý Setting 25
Hình 20 Giao diện quản lý người dùng 26
Hình 21 Giao diện quản lý quyền 26
Hình 22 Giao diện quản lý các đơn đặt hàng 27
Hình 23 Giao diện thêm, cập nhật category 27
Hình 24 Giao diện thêm, cập nhật sản phẩm 27
Trang 8Hình 25 Giao diện thêm, cập nhật slider 28
Hình 26 Giao diện thêm, cập nhật Setting 28
Hình 27 Giao diện thêm, cập nhật User 28
Hình 28 Giao diện thêm, cập nhật quyền 29
Hình 29 Giao diện thêm, cập nhật đơn hàng 29
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG
1.1 ĐẶT VẤN ĐỀ:
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem làmột trong những yếu tố mang tính quyết định trong hoạt động của các tổ chức vàđối với những công ty nó cũng đóng vai trò mấu chốt có thể tạo ra những bướcđột phá mạnh mẽ
Với nền công nghiệp 4.0 hiện nay mạng Internet là một trong những sảnphẩm có giá trị hết sức lớn lao và ngày càng trở thành một công cụ không thểthiếu , là nền tảng chính cho sự truyền tải trao đổi thông tin trên toàn cầu
Sự phát triển của Internet đã thúc đẩy sự khai sinh và phát triển của nềnthương mại điện tử Trong hoạt động sản suất kinh doanh hiên nay, thương mạiđiện tử đã khẳng định được vai trò xúc tiến và thức đẩy sự phát triển của doanhnghiệp Đối với một công ty hay cửa hàng thì việc quảng bá và giới thiệu sảnphẩm đến người tiêu dùng và điều cần thiết Vậy phải quảng bá thế nào để tất cảnhững sản phẩm mình bán đến người tiêu dùng ? Đó là phải tạo ra một Websitecho cửa hàng của mình để vừa có thể quảng bá sản phẩm vừa giúp khách hàng có
sự lựa chọn tốt nhất cũng như đóng góp ý kiến và chủ cửa hàng cũng có thể dễdàng quản lí được sản phẩm của cửa hàng mình
Với sự phát triển mạnh mẽ của công nghệ mà ngày nay các sản phẩm côngnghệ đem lại cho con người rất nhiều những tiện ích và sảm phẩm công nghệđược con người sử dụng nhiều nhất hiện nay là chiếc điện thoại thông minh Vìyêu cầu của người sử dụng ngày cang cao mà các hãng điện thoại luôn tạo ranhững sản phẩm mới đáp ứng nhu cầu của người sử dụng về mẫu mã và chấtlượng Và dòng điện thoại được ưa chuận nhất nhì hiện nay đó chính là dòng sảnphẩm của Apple
Chính vì những lí do đó em đã quyết định thực hiện đồ án “ Website bánđiện thoại di động” cho cửa hàng bán điện thoại Bảo Nguyễn Store
Người chủ cửa hàng đưa tất cả sản phẩm của cửa hàng lên website và quản
lí website đó Khách hàng có thể xem và đặt mua sản phẩm mà không cần đến
Trang 10cửa hàng Chủ cửa hàng sẽ gửi sản phẩm cho khách hàng và nhận được tiền saukhi khách hàng kiểm tra sản phẩm
1.2 MỤC ĐÍCH VÀ NHIỆM VỤ CỦA SẢN PHẨM
Như đã nêu ở trên thì Website có mục đích và nhiệm vụ quảng bá tất cảsản phẩm của cửa hàng đến người tiêu dùng Người chủ cửa hàng đưa tất cả sảnphẩm của cửa hàng lên website và quản lí website đó Có thể thêm sửa xóa thayđổi sản phẩm để phù hợp với xu hướng cũng như yêu cầu của khách hàng Kháchhàng có thể xem và đặt mua sản phẩm mà không cần đến cửa hàng Chủ cửa hàng
sẽ gửi sản phẩm cho khách hàng và nhận được tiền sau khi khách hàng kiểm trasản phẩm Khách hàng cũng có thể chấm chất lượng của website cũng như gửiphản hồi đóng góp cho sự phát triển của website
1.3 NỘI DUNG THỰC HIỆN
Đọc tài liệu và xem những website mẫu phù hợp với yêu cầu đặt ra củaweb đó thiết kế bản mẫu từ bản nháp đến chi tiết
Thiết kế database phù hợp với giao diện đã đặt ra trên xampp
Chức năng của website
Chức năng đăng sản phẩm , thêm sản phẩm và xóa sản phẩm
- Mô trả : Người admin có thể đăng và cập nhật những sản phẩm mớinhất cho trang web của mình cũng như xóa các sản phẩm đã cũChức năng thêm xóa, cập nhật danh mục của sản phẩm
- Mô tả : Cũng như phần sản phẩm thì phần danh mục của sản phẩmngười admin cũng cần phải quản lý
Chức năng thêm sửa xóa slider
- Mô tả : Admin , Quản lý có thể xem,sửa, xóa, slider
Chức năng phân quyền
- Mô tả : Admin có thể phân quyền cho các tài khoản…
Chức năng quản lý tài khoản (nhân viên)
Trang 11- Mô tả: Admin và Quản lý có thể quản lý các tài khoản như thêmsửa , xóa, cập nhật tài khoản
Chức năng quản lý đơn đặt hàng
- Mô tả: Admin và quản lý có thể quản lý các đơn hàng, kiểm tra tìnhtrạng đơn hàng, cập nhật hoặc xóa đơn hàng
Chức năng mua hàng
- Mô trả :Chức năng này người dùng có thể vào trang chủ hay trangsản phẩm bất kì click vào sản phẩm muốn mua sao đó nhấn vào nútđặt mua thì sản phẩm tự động vào giỏ hàng của người dùng Khinhấn vào nút mua thêm cũng vậy.Giỏ hàng sẽ thay đổi số lượng vàtổng tiền đơn hàng
Chức năng đăng nhập đăng ký
- Mô tả: Admin hoặc nhân viên có thể đăng nhập để quản lý về phíabackend
Chức năng góp ý:
- Mô tả: Người dùng có thể góp ý trang web qua gmail
Trang 12CHƯƠNG 2 CÔNG CỤ KĨ THUẬT 2.1 BOOTSTRAP
và Jacob Thornton tại Twitter Nó được xuất bản như là một mã nguồn mở vàotháng 8 năm 2011 trên GitHub
Tại sao phải dùng Bootstrap ?
Những điểm thuận lợi khi bản sử dụng bootstrap:
Rất dễ để sử dụng: Nó đơn giản vì nó được base trên HTML, CSS vàJavascript chỉ cẩn có kiến thức cơ bản về 3 cái đó là có thể sử dụng bootstrap tốt.Tính năng Responsive: Bootstrap’s xây dựng sẵn reponsive css trên các thiết bịphones, tablets, và desktops Mobile: Trong Bootstrap 3 mobile-first styles là mộtphần của core framework Tương thích với trình duyệt: Nó tương thích với tất cảcác trình duyệt (Chrome, Firefox, Internet Explorer, Safari, and Opera) nhưng lưu
ý vì em IE vẫn rất hãm với IE phiên bản cũ vì thế việc IE9 hay IE8 đổ xuốngkhông support là chuyện bình thường Các bạn có dùng nên luy ý điểm này theonhư mình dùng làm dự án thì nó support tuyệt vời trên IE10 đổ lên nhé, thấp nhất
có lẽ là IE9 thôi còn IE8 thì không nên xài nhé
2.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
MySQL là hệ quản trị cơ sở dữ liệutự 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 VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,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ấtmạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có
Trang 13truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải
về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau:phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, FreeBSD, NetBSD, SGI Irix, Solaris, SunOS,…
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệuquan hệ sử
Dụng ngôn truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,
nó làm nơi
Lưu trữ những thông tin trên các trang web viết bằng PHP hay java,…
2.3 TẠI SAO SỬ DỤNG MYSQL
Nếu bạn đang tìm kiếm một hệ thống quản lý cơ sở dữ liệu miễn phí hay làkhông đắt tiền, một vài thứ có sẵn để bạn chọn như: MySQL, mSQL, Postgres.Khi bạn so sánh MySQL với các hệ thống cơ sở dữ liệu khác, hãy nghĩ về những
gì quan trọng nhất đối với bạn Sự thực thi, sự hỗ trợ, các đặc tính, các điều kiện
và các giới hạn của bản quyền, giá cả của tất cả các nhân tố để có thể thực hiện.Với những lí do đó, MySQL có nhiều đặc điểm cuốn hút:
Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ
sở dữ liệu nhanh nhất mà bạn có thể có
Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống
cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thốnglớn …
Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ
chức
Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn
lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại
Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời
gian Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn cóthể truy cập MySQL tương tác với sử dụng một vài giao diện để bạn có thể đưa
Trang 14vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trìnhduyệt Web…
Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở
dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia
sẽ dữ liệu của bạn với bất kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyềntruy cập cho nên người mà không nên nhìn thấy dữ liệu của bạn thì không thểnhìn được
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không
phải UNIX chẳng hạn như Windows hay OS/2 MySQL chạy được các với mọiphần cứng từ các máy PC ở nhà cho đến các máy server
Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình
duyệt web của bạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò vềthuật toán, bạn có thể lấy mã nguồn và tìm tòi nó Nếu bạn không thích một vàicái, bạn có thể thay đổi nó
Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ.
Cộng đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing listthường chỉ trong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa racách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục
đó sẽ ngay lập tức có sẵn trên Internet
2.3 LARAVEL
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xâydự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ệnnay, Laravel đang là PHP framework phổ biến nhất và tốt nhất Vậy những lý dokhiến Laravel được biết đến rộng rãi là gì?
Trang 15Hình 1 Laravel là một framework PHP với nhiều ưu điểm vượt trội
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ì ứngdụng
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ằng ngôn ngữ PHP trở nên trôi chảy hơn Bằng cách cung cấp 1 cấutrúc cơ bản để xây dựng những ứng dụng đó Hay nói cách khác, PHP frameworkgiúp bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng Giúp bạn tiết kiệm
Trang 16được thời gian, tăng sự ổn định cho ứng dụng Giảm thiểu số lần phải viết lạicode cho lập trình viên.
Mô hình MVC là gì?
MVC (Model-View-Controller) là mẫu kiến trúc phần mềm trên máy
tính nhằm mục đích tạo lập giao diện cho người dùng Theo đó, hệ thống MVCđược chia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyêntắc nghiệp vụ với giao diện người dùng
Ba thánh phần ấy bao gồm:
Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và
gọi đúng những phương thức xử lý chúng
Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý,
truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…
View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi
chứa tất cả các đối tượng GUI như textbox, images…
Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tinxuất hiện trong giao diện người dùng Bảo đảm các nguyên tắc nghề nghiệp củalập trình viên
Ưu điểm và nhược điểm của Laravel
Hình 2 Ưu nhược điểm Laravel
Trang 17Laravel có rất nhiều ưu điểm hữu ích cho người dùng nhưng lại tồn tại ítkhuyết điểm
Ưu điểm của Laravel là gì?
Sử dụng các tính năng mới nhất của PHP
Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mớinhất mà PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading,Anonymous functions và Shorter array syntax
Nguồn tài nguyên vô cùng lớn và sẵn có
Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đadạng tài liệu khác nhau để tham khảo Các phiên bản được phát hành đều cónguồn tài liệu phù hợp với ứng dụng của mình
Tích hợp với dịch vụ mail
Lavarel là framework được trang bị API sạch trên thư viện SwiftMailer,
do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local
Tốc độ xử lý nhanh
Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trongthời gian ngắn Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụngrộng rãi để phát triển các sản phẩm của họ
Dễ sử dụng
Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử dụng.Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiếnthức cơ bản nhất về lập trình với PHP
Tính bảo mật cao
Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ đểngười dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình:
Sử dụng PDO để chống lại tấn công SQL Injection
Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF
Mặc định đều được Laravel escape các biến được đưa ra view mặc định,