TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG WEBSITE BÁN HÀNG ONLINE
BẰNG LAVAREL FRAMEWORK
TĨM TẮT ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CƠNG NGHỆ THƠNG TIN
NIÊN KHÓA: 2016 - 2019
HSSV
: Liễu Mạnh Tiến
Mã HSSV : CCCT16A020
CBHD
: ThS. Nguyễn Phƣơng Tâm
Đà Nẵng, 06/2019
MỞ ĐẦU
Công nghệ thông tin là ngành đang phát triển mạnh và ngày
càng được ứng dụng rộng rãi trên nhiều lĩnh vực. Cùng với xu hướng
phát triển của các phương tiện truyền thơng như báo, radio … thì
việc sử dụng internet ngày càng phổ biến. Internet mang lại một kho
thông tin khổng lồ phục vụ mọi nhu cầu và mục đích chỉ bằng một cú
nhấp chuột.
Đi kèm theo đó là nhu cầu cập nhật thông tin giải tri,tin tức xã
hội,đời sống… Và để đáp ứng nhu cầu đó thì việc website tin tức ra
đời là nhu cầu tất yếu.
Để xây dựng một website tin tức có thể dùng các ngơn ngữ lập
trình khác nhau như Java, PHP, ASP.Net …
Nhưng phù hợp và dễ tiếp cận nhất là PHP. Framework có mặt
ở mọi ngơn ngữ lập trình và nó được coi như là một tiêu chuẩn mà
khi sử dụng cần tuân thủ quy định của nó tất cả những qui định đó
nhằm giúp tạo ra một bản code sạch. Nhờ tuân thủ qui định, mà khi
làm việc nhóm, người này có thể đọc hiểu code của người kia, có thể
sử dụng lại hàm được viết bởi một người khác. Framework khá nổi
bật trong ngôn ngữ PHP là Laravel Framework đứng top 1 một trong
những framework phổ biến nhất, tiếp sau là Phalcon, Symfony2,
CodeIgniter và các framework khác. Tháng 8 năm 2014, Laravel
Framework được xem như là một dự án PHP phổ biến nhất trên
Github.
1.
Lý do chọn đề tài
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 hoạt động
của các chính phủ, tổ chức, cũng như của các cơng ty, nó đóng vai
trị hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ.
1
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và
mạng điện tử, cơng nghệ thơng tin cũng được những cơng nghệ có
đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao
khác. Mạng Internet là một trong những sản phẩm có giá trị hết sức
lớn lao và ngày càng trở nên 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 tồn cầu.
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng
cho người sử dụng: chỉ cần có một máy tính kết nối internet và một
dịng dữ liệu truy tìm thì gần như lập tức cả thế giới về vấn đề mà
bạn đang quan tâm sẽ hiện ra, có đầy đủ thơng tin, Hìnhảnh và thậm
chí cả âm thanh nếu bạn cần…
Bằng internet, chúng ta đã thực hiện được nhiều công việc với
tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền
thống. Chính điều này, đã thúc đẩy sự khai sinh và phát triển của
thương mại điện tử và chính phủ điện tử trên khắp thế giới , làm biến
đổi đáng kể về mặt văn hóa, nâng cao chất lượng cuộc sống con
người.
Trong hoạt động sản xuất, kinh doanh, giờ đây 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 doanh nghiệp. Đối với một cửa hàng hay shop, việc quảng bá và
giới thiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu
của khách hàng sẽ là cần thiết. Vậy phải quảng bá thế nào, đó là xây
dựng một website cho cửa hàng của mình quảng bá các sản phẩm của
mình bán
Vì vậy, em đã thực hiện đồ án” Xây dựng website bán hàng
bằng Laravel Framework”. Sử dụng Laravel framework và hệ quản
trị MySQL.
2
Với mức độ phức tạp cộng thêm vấn đề thời gian cho nên đề
tài “Xây dựng website bán hàng bằng Laravel Framework” chỉ dừng
ở mức tìm hiểu Laravel Framework, và áp dụng xây dựng ứng dụng
thực nghiệm trang Web bán hàng trên mạng.
2.
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu:
- Xây dựng một trang web bán hàng online.
- Tìm hiểu về laravel framework.
Nhiệm vụ:
- Tìm hiểu Laravel framework, Boostrap và MySQL
- Phân tích thiết kế cơ sở dữ liệu.
- Ứng dụng kiến thức để xây dựng website
3.
Đối tƣợng và phạm vi nghiên cứu
Đối tƣợng:
- Tìm hiểu Laravel framework, Boostrap và MySQL.
- Sau khi tìm hiểu sẽ vận dụng kết quả tìm hiểu được vào việc
xây dựng một website bán hàng online
Phạm vi:
- Ứng dụng dụng tại một cửa hàng bán điện thoại di động.
4.
Phƣơng pháp nghiên cứu
Tìm kiếm và nghiên cứu các tài liệu về Laravel Framework và
các công nghệ có liên quan đến việc phát triển một ứng dụng web
enterprise như JMS, AngularJS, MongoDB, Maven của các tác giả
trong và ngồi nước, các bài báo, thơng tin trên mạng,… sau đó chọn
lọc và sắp xếp lại theo ý tưởng của mình.
5.
Ý nghĩa khoa học và ý nghĩa thực tiễn
- Ý nghĩa khoa học
3
Giúp sinh viên hiểu được Laravel framework, MySQL và
Bootstrap. Cách ứng dụng nó trong việc xây dựng một website cơ
bản.
- Ý nghĩa thực tiễn
Giúp việc việc quảng bá và giới thiệu đế khách hàng cách sản
phẩm mới đáp ứng được nhu cầu của khách hàng.
6.
Nội dung của đồ án tốt nghiệp
Ngoài những nội dung như Phần mở đầu, kết luận, tài liệu
tham khảo thì nội dung chính của đồ án gồm các chương như sau:
Chương 1. Cơ sở lý thuyết.
Chương 2. Phân tích thiết kế.
Chương 3. Demo Website.
4
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT
1.1.
GIỚI THIỆU VỀ LARAVEL PHP FRAMEWORK
1.2.
ƢU ĐIỂM CỦA LARAVEL PHP FRAMEWORK ĐỐI
VỚI PHÁT TRIỂN WEBSITE
1.3.
CẤU TRÚC THƢ MỤC VÀ LUỒNG XỬ LÝ TRONG
LARAVEL
1.4.
THÀNH PHẦN CƠ BẢN TRONG LARAVEL
1.4.1.
Route trong laravel
1.4.2.
Laravel Model
1.4.3.
Laravel Controller
1.4.4.
Laravel View (Master Template)
1.5.
SỬ DỤNG CÁC THƢ VIỆN DÀNH CHO THIẾT KẾ
GIAO DIỆN WEBSITE VỚI LARAVEL
1.5.1.
Sử dụng Boostrap CSS Framework
1.5.2.
Sử dụng Jquery Javascript Framework
1.5.3.
Sử dụng kỹ thuật Jquery Ajax
5
CHƢƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1.
ĐẶT VẤN ĐỀ
2.2.
PHÂN TÍCH THIẾT KẾ
2.2.1.
Yêu cầu phi chức năng
2.2.2.
Yêu cầu chức năng
2.3.
BIỂU ĐỒ TRƢỜNG HỢP SỬ DỤNG
Hình 2.1. Biểu đồ trường hợp sử dụng
2.3.1.
Các chức năng của đối tƣợng Customer
2.3.1.1.
Chức năng tìm kiếm sản phẩm
2.3.1.2.
Chức năng xem thông tin sản phẩm
2.3.1.3.
Chức năng giỏ hàng
2.3.1.4.
Chức năng đặt hàng
2.3.2.
Các chức năng của đối tƣợng Member (thành viên)
2.3.2.1.
Chức năng đăng nhập
2.3.2.2.
Chức năng đăng xuất
6
2.3.2.3.
Chức năng đổi mật khẩu
2.3.2.4.
Chức năng xem hóa đơn đã được lập
Chức năng của Administrator
2.3.3.
2.3.3.1.
Các chức năng quản lý Member
2.3.3.2.
Các chức năng quản lý Sản Phẩm
2.3.3.3.
Các chức năng quản trị người dùng
2.3.3.4.
Các Chức Năng Đối Với Hóa Đơn Đặt Hàng
2.4.
CƠ SỞ DỮ LIỆU QUAN HỆ
Hình 2.2. Cơ sở dữ liệu liên hệ
2.5.
2.6.
2.6.1.
BIỂU ĐỒ LỚP
Hình 2.3. Biểu đồ lớp
THIẾT KẾ CƠ SỞ DỮ LIỆU VẬT LÝ TRÊN HỆ CƠ
SỞ QUẢN TRỊ CSDL MYSQL
Bảng Customer
7
2.6.2.
2.6.3.
2.6.4.
2.6.5.
2.6.6.
Bảng bill
Bảng categories
Bảng products
Bảng accessories
Bảng new
2.6.7.
Bảng comment
2.6.8.
Bảng user
2.7.
2.7.1.
BIỂU ĐỒ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Biểu đồ hoạt động
Đăng nhập
Begin
Hiển thị thông báo
yêu cầu nhập lại
thông tin hoặc tài
khoản chưa kích
hoạt
Nhập
username,
password
Thơng tin đăng nhập
phù hợp với CSDL ?
No
Yes
Hiển thị thơng báo đăng
nhập thành cơng và lưu
thơng tin đăng nhập vào
session
End
Hình 2.3. Biểu đồ hoạt động đăng nhập vào hệ thống
Đăng xuất
Begin
Click vào link
logout
Xóa session lưu thơng tin đăng
nhập
Thơng báo logout
thành cơng
End
Hình 2.4. Biểu đồ hoạt động thốt ra khỏi hệ thống
8
Đăng kí thành viên
Begin
User nhập thơng tin
Cá nhân cần thiết
Hiển thị thông
báo yêu cầu nhập
lại UserName
khác
Kiểm tra trong CSDL
Xem User đó đã tồn tại hay
chưa ?
Yes
No
Cập nhật thơng tin về
Người sử dụng vào
CSDL
Hiển thị thơng báo
thành cơng
End
Hình 2.5. Biểu đồ hoạt động đăng kí thành viên
Xem thơng tin về sản phẩm
Begin
Click chọn vào sản phẩm cần xem
Lấy Mã SP từ biến
session
Lấy thơng tin của SP có mã
đó trong CDSL
Hiển thị thơng tin chi tiết SP đã
có trong CSDL
End
Hình 2.6. Biểu đồ hoạt động xem thông tin về sản phẩm
9
Thêm sản phẩm vào giỏ hàng
Begin
Xem sản phẩm
Click chọn sản phẩm
thêm vào giỏ hàng
Kiểm tra biến
session đã có Mã
SP này chưa ?
No
Lưu Mã SP và số lượng
vào biến session
Tiếp tục thêm sản phẩm
vào giỏ hàng
End
Hình 2.7. Biểu đồ chức năng thêm SP vào giỏ hàng
Đặt hàng
Begin
Member chọn và nhập
số lượng sản phẩm
Cập nhật thông tin sản
phẩm được chọn vào
CSDL
Hiển thị thơng báo
thành cơng
End
Hình 2.8. Biểu đồ chức năng đặt hàng
10
Đổi mật khẩu
Hình 2.9. Biểu đồ chức năng đổi mật khẩu
Xố Member
Hình 2.10. Biểu đồ chức năng xố Member
11
Thêm sản phẩm
Hình 2.11. Biểu đồ chức năng thêm sản phẩm
Sửa thơng tin sản phẩm
Hình 2.12. Biểu đồ chức năng sửa thơng tin sản phẩm
Xố sản phẩm
Hình 2.13. Biểu đồ chức năng xoá sản phẩm
12
Xố User
Begin
Tìm User muốn xố và
chọn biểu tượng xố
Xác nhận lại thơng tin xố?
No
Yes
Xố User đó ra khỏi
CSDL
End
Hình 2.14. Biểu đồ chức năng xố User
2.7.2.
Đặc tả Use-case
Use-case tìm kiếm
Interface
Control
+ Xem chi tiêt() : void
+ Tìm kiếm() : void
+ Tìm kiếm nâng cao() : void
+ Tìm kiếm() : void
+ Tìm kiếm các SP tương tự () : void
Database
User
Hình 2.15. Use case tìm kiếm
Use-case quản lý sản phẩm
Hình 2.18. Use-case quản lý sản phẩm
13
Chức năng sửa thông tin sản phẩm
Control
login
Admin
Process
_
Database
Đăng nhập( user / pass)
Kiểm tra( user/ pass)
Yêu cầu thao tác
Chọn chỉnh sửa SP
Danh sách SP()
Chọn sản phẩm ()
Lấy SP (id)
Lấy SP (id)
Kết quả
Kết quả
Hiển thị()
Chỉnh sửa ()
Chỉnh sửa ()
Sửa()
Kết quả
Kết quả
Kết quả
Hình 2.21. Biểu đồ tuần tự chức năng sửa thông tin sản phẩm
Chức năng xóa sản phẩm:
Control
login
_
Admin
Đăng nhập( user / pass)
Database
_
Kiểm tra
(user /pass)
Yêu cầu chọn thao tác
Chọn xoá SP
Process
_
Danh sách tài liệu ()
Chọn sản phẩm()
Thao tác Xoá ()
Xoá(id)
Xoá(id)
Kết quả
Kết quả
Kết quả
Hình 2.22. Biểu đồ tuần tự chức năng xóa sản phẩm
Chức năng đăng nhập:
14
Member
Interface
Proccess
Control
Database
1:[Chọn chức năng Đăng nhập] Gửi yêu cầu đăng nhập
2:Nhập UserName và Password
3: Kiểm tra User
4: Kiểm tra
5: Xác thực thành công
6: Xác thực thành công
7: Thông báo đăng nhập thành công
8:[Chọn chức năng đổi mật khẩu] Gửi yêu cầu đổi mật khẩu
9: Hiện chức năng đổi mật khẩu
10: Nhập và xác nhận Password mới
11: Thay đổi Password
12: Thay đổi Password
13: Xác nhận thay đổi thành công
14: Xác nhận thay đổi thành cơng
15: Thơng báo đổi Password thành cơng
Hình 2.23. Biểu đồ tuần tự chức năng đăng nhập
Chức năng đăng ký thành viên
Customer
Custome
Interface
Proccess
Control
Database
1:[Chọn chức năng đăng kí thành viên] Gửi yêu cầu
2: Hiển thị form đăng ký
3: Nhập các thơng tin đăng ký
4: Kiểm tra UserName này đã có trong CSDL chưa
5: Kiểm tra
6:(Nếu có) Xác nhận đã tồn tại
7: Xác nhận đã tồn tại
Gọi lại form Đăng ký để nhập lại
{OR}
6: Xác nhận đăng ký thành công
7: Xác nhận thành công
8: Thông báo đăng ký thành viên thành cơng
Hình 2.24. Biểu đồ tuần tự chức năng đăng ký thành viên
15
CHƢƠNG 3. DEMO WEBSITE
3.1.
GIAO DIỆN TRANG BACKEND
Hình 3.1. Trang chủ backend
Hình 3.2. Trang sản phẩm
Hình 3.3. Thêm sản phẩm
16
Hình 3.4. Sửa sản phẩm
Hình 3.5. Trang danh mục
Hình 3.6. Sửa danh mục
17
Hình 3.7. Trang bài viết
Hình 3.8. Sửa bài viết
3.2.
GIAO DIỆN TRANG FRONTEND
Hình 3.9. Trang chủ Frontend
18
Hình 3.10. Chi tiết sản phẩm
Hình 3.11. Giỏ hàng
Hình 3.12. Đặt hàng thành công
19
KẾT LUẬN
Trải qua một tháng xây dựng website bán hàng với Laravel
Framework thì em đã phần nào hồn thiện tương đối các chức năng
cơ bản của một website bán hàng. Người dùng có thể dễ dàng xem
các sản phẩm trên trang web theo các tiêu chí lọc theo chuyên mục,
theo thẻ, theo người đăng bài để tiếp cận với các tin tức cách phù hợp
với mình nhất, với cơng cụ soạn bài viết hỗ trợ tốt được tính hợp từ
CKEditor. Tất cả đều dưới sự quản lý từ quản trị viên, quản trị viên
có thể dễ dàng quản lý thêm, sửa, xóa với danh mục, sản phẩm, đăng
bài, tệp tin… một cách nhanh chóng.
Tuy vậy để hoạt động tốt và tối ưu hơn còn một số mặt hạn
chế cần khắc phục như sau:
Các tệp tin Hìnhảnh, video … đính kèm với bài viết đều lưu
trực tiếp trên máy chủ của website, với số lượng nhỏ thì khơng là vấn
đề nhưng khi quy mơ được mở rộng thì sẽ tốn rất nhiều dung lượng
cho máy chủ. Vì thế để khắc phục vấn đề này cần có cơ chế xử lý các
tệp tin được đính kèm cần chuyển sang một nơi lưu trữ khác uy tín,
an tồn, chi phí thấp… VD: google drive, flick pro, youtube…
Cần nhiều thiết đặt tùy chỉnh hơn trong trang quản trị đối với
người đăng bài và quản trị viên. Vd: Các thiết đặt tùy chỉnh số bài
được hiện trong một trang đối với những nơi dùng phân trang.
Thêm chức năng nhận thông báo qua mail khi người dùng đặt
mua sản phẩm. Để làm được chức năng này cần lưu các thơng tin
liên lạc người dùng sau đó cấu Hìnhmột email để gửi.
20