Tải bản đầy đủ (.docx) (68 trang)

xây dựng ứng dụng website quản lý cửa hàng thiết bị điện tử trên nền laravel framework

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 (4.64 MB, 68 trang )

Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

MỤC LỤC

DANH MỤC HÌNH

-1-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

DANH MỤC BẢNG

-2-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

DANH MỤC KÝ HIỆU VÀ VIẾT TẮT
STT

Từ viết tắt

Ý nghĩa

1

CSDL



Cơ sở dữ liệu

2

CSS

Cascading Style Sheets

3

DOM

Document Object Model

4

DV

Dịch vu

5

HTML

HyperText Markup Language

6

HTTP


HyperText Transfer Protocol

7

MVC

Model – View – Controller

8

MySQL

Structured Query Language

9

ORM

Object-relational mapping

10

PHP

Personal Home Page

11

TM


Thương mại

12

TNHH

Trách nhiệm hữu hạn

13

UI

User Interface

14

UX

User Experience

-3-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

TÓM TẮT
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ và đổi mới
không ngừng. Mạng internet đang trở thành mạng truyền thông có sức ảnh hưởng lớn

nhất, gắn liền với đời sống con người trong việc giao tiếp, học tập, giao dịch, truyền tải
và trao đổi dữ liệu. Không như ngày xưa ngày nay mọi việc liên quan đến thông tin
ngày càng dễ dàng hơn cho người sử dung bằng việc kết nối internet và một dòng dữ
liệu truy tìm thì ngay lập tức cả kho tài nguyên không chỉ trong nước mà ngoài nước
hiện ra không chỉ bằng ngôn ngữ mà cả bằng hình ảnh, âm thanh.
Chính vì lợi ích từ internet đã thúc đẩysự ra đời và phát triển của thương mại
điện tử làm biến đổi văn hoá mua sắm cũng như nâng cao chất lượng cuộc sống của
con người, các hoạt động thông thường như sản xuất,kinh doanh và số lượng các
doanh nghiệp cũng phát triển.
Hiểu được các vấn đề đó cũng như mong muốn đưa thương mại điện tử đến với
nhiều người hơn nên tôi thực hiện đề tài: “Xây dựng ứng dụng website quản lý cửa
hàng thiết bị điện tử trên nền Laravel Framwork” cung cấp các chức năng quản lý sản
phẩm, quản lý bán hàng, thống kê doanh thu nhằm góp phần tiện lợi cho khách hàng
cũng như người quản trị trong việc trao đổi mua bán trực tuyến.

Từ khóa: Quản lý sản phẩm, Quản lý khách hàng, Thống kê doanh thu

-4-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

ABSTRACT
Nowadays, IT has developed strongly and improved constantly. Internet is the
most effective media, relates to human life in communication, study, trade, exchanging
data. In addition, Internet makes easier for users to find interior and exterior
information by image, language and sound.
Thus, The benefits of Internet has promoted the appearance and development of
e-commerce, this not only makes shopping culture change, enhance the quality of

human life, manufacture and business but also the number of enterprises are growing
up.
Understand this matter and hope to get e-commerce closer to people, I decide to
choose topic: "Building web application of store management about electricial
equipment on laravel framework" in order to provide the function of product
management, sales management and revenue statistics,... to create customer and
administrator conveniences in online trading.

Keywords: Product Management, User Management, Sales Statistics

-5-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

CHƯƠNG 1: TỔNG QUAN
1.1.

ĐẶT VẤN ĐỀ

1.1.1. Hiện trạng
Hiện nay trào lưu kinh doanh qua mạng ngày càng trở nên phổ biến. Internet phát
triển phát triển kéo theo nhiều dịch vu phát triển theo đi liền với nó.
Và việc tiếp cận với internet hiện nay không còn mấy xa lạ với con người được
trở thành phương tiện truyền thông được nhiều người sử dung nhất trên thê giới.
Không chỉ dùng internet làm phương tiện truyền thông tin, trao đổi,giải trí, xem
tin tức, tìm kiếm thông tin,…mọi người còn dùng internet để kinh doanh các mặt hàng
bình thường đến đặc biệt của mình.
Mặt hàng kinh doanh qua mạng hiện nay thì thiết bị điện tử được coi là đang phổ

biến, với các website bán hàng online như thế này các chủ của hàng chỉ cần thường
xuyên truy câp các mạng xã hội và quảng cáo các mặt hàng của mình với muc đích tìm
kiếm và thu hút khách hàng. Khách hàng chỉ cần vài thao tác “click chuột” vào sản
phẩm mà mình yêu thích và chút ít thời gian theo dõi là có thể chờ đơn hàng chuyển
tới tận nhà của họ.
Việc kinh doanh qua mạng cũng tạo cho cửa hàng nhiều cơ hội và thách thức hơn
trong việc mở rộng thị trường không chỉ thời gian mà cả không gian,trong nước cũng
như ngoài nước.
Vì vậy việc xây dựng một ứng dung website để quản lý cửa hàng thiết bị điện tử
là cần thiết, giúp cho cửa hàng tiết kiệm thời gian, chi phí trong việc quản lý đồng thời
tăng doanh thu cho cửa hàng.
1.1.2. Vấn đề cần giải quyết
Từ thực trạng nêu trên nên chúng tôi quyết định chọn đề tài: “Xây dựng ứng
dụng website quản lý cửa hàng thiết bị điện tử trên nền Laravel Framework”. Nhằm
đáp ứng nhu cầu của con người, dù ở nhà hay công sở hay bất cứ nơi nào có mạng
internet thì chỉ cần vào website là có thể tìm kiếm lựa chọn sản phẩm muốn mua và
không những thế còn giúp cho các chủ cửa hàng hay doanh nghiệp có thể quản lý sản
phẩm, quản lý khách hàng, thống kê doanh thu một cách dễ dàng và tiện lợi.

-6-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

1.2.

LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Ngày nay với sự phát tiển mạnh mẽ của công nghệ thông tin đã thúc đẩy hầu hết

các cửa hàng thiết bị điện tử xây dựng trang web cho riêng mình để giới thiệu các sản
phẩm và cũng như các thông tin khác về cửa hàng của chính họ. Như hiện tại ở TP.
Cần Thơ có website www.lazada.vn của công ty cổ phần tpt uy tín giá tốt Lazada,
www.tbtcantho.com của công ty máy tính cần thơ. Hiện nay có một số đề tài xây dựng
website quản lý cửa hàng thiết bị điện tử, những đề tài đó chủ yếu được viết bằng
những ngôn ngữ như PHP thuần, ASP.NET.s
Vì vậy, với đề tài “Xây dựng ứng dụng web quản lý cửa hàng thiết bị điện tử
trên nền Laravel Framework” này sẽ được viết bằng một ngôn ngữ PHP Framework
đó là Laravel Framework. Laravel Framework là một trong những PHP Framework cơ
bản và dể hiểu nhất cho người mới bắt đầu với Framework.

-7-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

1.3.

PHẠM VI CỦA ĐỀ TÀI

1.3.1. Về lý thuyết
 Phạm vi đề tài là xây dựng website bán thiết bị điện tử qua mạng, nhằm
cung cấp các thông tin và giá cả của sản phẩm đến với khách hàng. Thể hiện
các sản phẩm thiết bị điện tử trên website nhằm quảng bá hình ảnh sản phẩm
và bán sản phẩm trên "thị trường ảo" cho cửa hàng. có thể ứng dung và triển
khai tại các cửa hàng thiế bị điện tử khác nhau nhằm tạo hiệu quả cho quá
trình quản lý các sản phẩm, các đơn hàng – hóa đơn của khách hàng, phiếu
nhập và thống kê doanh thu của cửa hàng
 Định hướng xây dựng hệ thống tự động quản lý hàng hóa,giúp cập nhật

lượng hàng một cách tự động theo thời gian thực. Đơn giản hóa công việc
cho người quản trị đồng thời cho phép chỉnh sửa,thay đổi nếu có những vấn
đề phát sinh mà hệ thống không tự xử lý được.
 Các đối tượng mà website hướng tới bao gồm:người quản trị, thành viên và
khách hàng
1.3.2. Về kỹ thuật
 Sử dung ngôn ngữ lập trình web với PHP trên nền tảng Laravel Framework.
 Ràng buộc toàn vẹn dữ liệu, kiểm tra lỗi phát sinh do người dùng, đảm bảo
an toàn, bảo mật.
 Giao diện thân thiện,trực quan giúp cho người sử dung thao tác dễ dàng.
 Hệ quản trị cơ sở dữ liệu MySQL.
 Một số kỹ thuật hỗ trợ: Ajax, jQuery, JavaScript, Html5, Css3.
 Tốc độ truy xuất nhanh linh hoạt.
 Hệ thống mềm dẻo,dễ mở rộng và phát triển.

-8-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

1.3.3. Về chức năng
Đề tài: “Xây dựng ứng dụng website quản lý cửa hàng thiết bị điện tử trên nền
Laravel Framework ” có những chức năng như sau:
Đối với người quản trị (Admin):
 Đăng nhập.
 Tạo tài khoản và cấp quyền truy cập.
 Phân cấp chỉnh sửa quyền cho người sử dung.
 Thêm, sửa, xóa sản phẩm, danh muc sản phẩm, sự kiện, thương hiệu.
 Quản lý các đơn hàng,hóa đơn

 Thống kê doanh thu, sản phẩm bán chạy.

Đối với khách hàng (User)
 Có thể xem thông tin, tìm kiếm sản phẩm.
 Xem lịch sử đã mua và chi tiết đơn hàng.
 Thiết lập địa chỉ giao hàng mặc định.
 Có thể đóng góp ý kiến, thắc mắc.
 Đặt mua sản phẩm.

-9-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

1.4.

HƯỚNG GIẢI QUYẾT VẤN ĐỀ
 Phân tích yêu cầu, mô tả đầy đủ về hệ thống website sẽ xây dựng, mô tả các
chức năng, tính năng của hệ thống. Khả năng mở rộng, các loại tài liệu cần
thiết, thời gian đáp ứng hoặc các yêu cầu về độ tin cậy cũng như chất lượng
của hệ thống, nghiên cứu khả thi.
 Tìm hiểu các website đã xây dựng trước đó để nắm bắt hiện trạng. Xác định
phạm vi và kết quả cần đạt được cho đề tài. Phân tích và thiết kế chi tiết, tìm
kiếm tài liệu.
 Phân tích mô hình hệ thống, mô hình hóa (CMD, MLD, DFD), module hóa
hệ thống  tiến hành thiết kế website.
 Cài đặt và kiểm thử: tập trung vào từng chức năng, module.
 Thực hiện và kiểm tra lỗi, thiết kế module chuyển tiếp giữa các giai đoạn.
 Viết báo cáo kết quả.


1.5

KẾ HOẠCH THỰC HIỆN
Thời gian
thực hiện
Chọn đề tài và có xác nhận của giáo viên 7 ngày
hướng dẫn.
Mô tả công việc

STT

Tên công việc

1

Chọn đề tài luận văn

7 ngày

2

Tìm hiểu nhu cầu
thực tế liên quan đến Phương thức hoạt động.
đề tài được chọn

3

Lập mô tả chi tiết về Mô tả hệ thống.
bài toán.

Phân tích yêu cầu của hệ thống.

7 ngày

Xây dựng mô tả thực thể

7 ngày

Xây dựng mô hình quan hệ dữ liệu.
Xây dựng mô hình vật lý.
4

Phân tích hệ thống.

Sơ đồ phân rã chức năng.
Phân tích Use – case.
Phân tích sơ đồ tuần tự.
Gặp giáo viên hướng dẫn.
Giao diện người dùng.

5

Thiết kế

Giao diện quản trị điểm.
Gặp giáo viên hướng dẫn.
-10-

7 ngày



Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

Tạo CSDL
6

Thực hiện lập trình

21 ngày

Viết code theo từng chức năng.
Gặp giáo viên hướng dẫn.

7

Kết nối các chức năng.
Kiểm tra thử chương
Kiểm tra lỗi.
trình.
Gặp giáo viên hướng dẫn.

8

Hoàn
trình.

tất

chương Cài đặt.

Hoàn thành hệ thống.
Nộp file word.

9

Viết báo cáo

Làm file PowerPoint báo cáo.
Gặp giáo viên hướng dẫn.

-11-

5 ngày

5 ngày
10 ngày


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 HTML, PHP, MYSQL
2.1.1 HTML

HTML (viết tắt của từ HyperText Markup Language – Ngôn ngữ liên kết siêu
văn bản) là ngôn ngữ đánh dấu được thiết kế ra tạo nên các trang web với các mẫu
thông tin được trình bày trên World Wide Web, tài liệu là các tập tin văn bản đơn giản.
Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để các trình duyệt (Web
Browsers) hiển thị các thành phần của trang như từ ngữ và hình ảnh hay các đoạn

video clip để tương tác với người dùng thông qua các thao tác nhấn phím và click
chuột.
HTML không phải là ngôn ngữ lập trình, nó là ngôn ngữ trình bày.
2.1.2 PHP

PHP (viết tắt hồi quy “Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch
bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dung viết cho máy
chủ, mã nguồn mở, dùng cho muc đích tổng quát. Nó rất thích hợp với web và có thể
dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dung web, tốc độ
nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm
tương đối ngắn hơn so với các ngôn ngữ lập trình web phổ biến nhất thế giới.
PHP hỗ trở để làm việt với nhiều hệ quản trị CSDL khác nhau: MySQL, Oracle,
Sybase, Solid, PostgreSQL, Generic ODBC…
Ngôn ngữ PHP là một ngôn ngữ lập trình web rất phổ biến vì tính linh hoạt dễ
sử dung, dễ học. Bên cạnh đó PHP còn hỗ trợ lập trình hướng đối tượng (OPP) thì việc
dùng nó để phát triển các ứng dung là rất dễ dàng. Tuy nhiên, với tính mềm dẻo, linh
hoạt của nó đã làm cho người lập trình phát triển ứng dung với nó không có một quy
định nào về cấu trúc của tập tin, việc quản lý các mã lệnh trong khi phát triển ứng
dung cũng gặp không ít khó khắn. Từ đó, đã tạo nên một vấn đề rất khó giải quyết là
làm sao nâng cấp và sữa chữa các ứng dung khi nó xảy ra sự cố hay phát triển ứng
dung cho phù hợp hơn với nhu cầu của người sử dung, trong các thời điểm khác nhau.
2.1.3 MYSQL

Hệ quản trị CSDL, dùng cho các ứng dung vừa và nhỏ, hỗ trợ chuẩn SQL, phần
mềm mã nguồn mở, miễn phí. MySQL chạy được trên nhiều Platforms (Unix, Linux,
Windows) rất phổ biến.

-12-



Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework
2.1.4 JAVASCRIPT, AJAX, jQUERY
2.1.4.1 JAVASCRIPT

JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa
trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng
rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dung
các đối tượng nằm sẵn trong các ứng dung. Nó vốn được phát triển bởi Brendan Eich
tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành
LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự
C, nhưng nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho tập tin
mã nguồn JavaScript.
2.1.4.2 AJAX

AJAX (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là "JavaScript
và XML không đồng bộ") là một nhóm các công nghệ phát triển web được sử dung để
tạo các ứng dung web động hay các ứng dung giàu tính Internet (rich Internet
application). Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vào
tháng 2 năm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên các
chương trình duyệt từ 10 năm trước.
Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn
ngữ:
- HTML (XHTML) kết hợp với CSS.
- Mô hình DOM (Document Object Model).
- Đối tượng XMLHttpRequest.
- Công nghệ XML.
- AJAX được viết bằng JavaScript.
Ưu điểm của Ajax:
- Dễ học, dễ sử dung.

- Dễ tiếp cận.
- Giảm băng thông.
- Thời gian hiển thị trang web nhanh hơn.
- Tăng tính tương tác giữa trang web với người dùng.
2.1.4.3 jQUERY

jQuery chính là một thư viện kiểu mới của JavaScript giúp đơn giản hoá cách
viết JavaScript và tăng tốc độ xử lý các sự kiện trên trang web. jQuery thêm tương tác
Ajax vào trong trang web. jQuery được thiết kế để thay đổi cách viết JavaScript.

-13-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

2.2 MÔ HÌNH MVC (MODEL – VIEW – CONTROLLER)
2.2.1 Xuất xứ mô hình

MVC được phát minh tại Xerox Parc vào những năm 70, bởi
TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Sau
đó trong một thời gian dài hầu như không có thông tin nào về MVC, ngay cả trong tài
liệu 80 Smalltalk. Các giấy tờ quan trọng đầu tiên được công bố trên MVC là “A
Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk
– 80”, bởi Glenn Krasner và Stephen Pope, xuất bản trong tháng 8 và tháng 9 năm
1988.
2.2.2 Khái niệm mô hình MVC

Mô hình MVC (Model-View-Controller) là một kiến trúc phần mềm, đây là mô
hình tổ chức code một cách hợp lý và có hệ thống. Mô hình MVC tách biệt phần xử lý

dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và làm việc theo dự án.
2.2.3 Kiến trúc mô hình MVC

Trong kiến trúc MVC, một đối tượng đồ họa
người dùng(GUI Component) bao gồm 3 thành phần
cơ bản: Model, View, và Controller. Model có trách
nhiệm đối với toàn bộ dữ liệu cũng như trạng thái của
đối tượng đồ họa. View chính là thể hiện trực quan
của Model, hay nói cách khác chính là giao diện của
đối tượng đồ họa. Và Controller điều khiển việc
tương tác giữa đối tượng đồ họa với người sử dung
cũng như những đối tượng khác.
Hình 2.1 Mô hình MVC
Khi người sử dung hoặc những đối tượng khác
cần thay đổi trạng thái của đối tượng đồ họa, nó sẽ tương tác thông qua Controller của
đối tượng đồ họa. Controller sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự
thay đổi nào xảy ra ở Model, nó sẽ phát thông điệp ( broadcast message) thông báo
cho View và Controller biết. Nhận được thông điệp từ Model, View sẽ cập nhật lại thể
hiện của mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Model. Còn
Controller, khi nhận được thông điệp từ Model, sẽ có những tương tác cần thiết phản
hồi lại người sử dung hoặc các đối tượng khác.

-14-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

Hình 2.2 Mô hình MVC


-15-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

2.3 TỔNG QUAN VỀ LARAVEL FRAMEWORK.
2.3.1 Giới thiệu một số framework ?

Trong vài năm qua, PHP đã tiến triển thành một ngôn ngữ script được lựa chọn
hầu hết bởi các nhà phát triển website, dẫn đến sự bùng nổ của PHP framework. Câu
hỏi đặt ra: “Hiện nay, PHP framework nào là phổ biến nhất? ”
Dưới đây là 6 framework được đánh giá là phổ biến và tốt nhất hiện nay:
 Zend Framework
Có một cộng đồng phát triển rộng lớn, và nó tập trung phát triển ứng dung web
theo phong cách 2.0. Nó có các tính năng mạnh mẽ, phải có kiến thức sâu rộng về PHP
để có thể sử dung nó.
 CakePHP
Lựa chọn tuyệt vời cho các lập trình viên có kiến thức nâng cao về php. Một
framework mạnh về khía cạnh rapid development, đẩy mạnh quá trình phát triển ứng
dung, có hệ thống hỗ trợ, tính đơn giản và môi trường mở cao
 Symfony
Được ra đời nhằm muc đích giúp đỡ nâng cao hơn cho những lập trình viên
muốn tạo ra các ứng dung website doanh nghiệp. Đây là 1 PHP framework mã nguồn
mở với đầy đủ các tính năng cần thiết. nhưng nó có vẻ chạy chậm hơn các framework
khác. .
 CodeIgniter
Dễ hiểu, dễ sử dung, hiệu suất cao, lý tưởng cho việc xây dựng các ứng dung
lưu trữ, chia sẻ dữ liệu. Phù hợp cho người mới làm quen với framework.
 Seagull

Một framework cực kỳ dễ sử dung cho người mới cũng như chuyên gia về PHP,
cung cấp mẫu ứng dung tùy chỉnh để phù hợp với nhu cầu, cung cấp các tùy chọn máy
chủ để xây dựng ứng dung web nhanh và dễ dàng.
 Laravel
 Laravel là một php framework khá mới, phiên bản đầu tiên (Laravel 1) được
phát hành vào tháng 6/2011. Ngay từ khi ra mắt, Laravel đã được chú ý đến bởi
nhiều đặc điểm hay như Eloquent ORM, localization, models and relationships,
routing, caching, sessions, views.
 Chính tác giả Laravel – Taylor Otwell đã nói rằng Laravel được tạo ra để khắc
phuc những vấn đề còn vướng mắc và thiếu sót mà CodeIgniter còn gặp phải.
 Laravel đã có 3 đợt “big update” với nhiều các thay đổi tích cực. Laravel sử
dung composer làm bộ công cu quản lý, blade template engine, Eloquent ORM.
 Sơ lược các tính năng cơ bản của Laravel Framework:
 + Bundles: Ở Laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các
module, với rất nhiều tính năng đi kèm.
 + Composer: Ở Laravel phiên bản 4.x, được sử dung như một công cu quản lý
với tính năng như thêm các gói cài đặt, các chức năng PHP phu trợ cho Laravel
có trong kho Packagist.
 + Eloquent ORM (object relation mapping): ánh xạ các đối tượng và quan hệ cơ
sở dữ liệu, cung cấp các phương thức nội bộ để thực thi đồng thời cũng bổ sung
-16-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework














các tính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu.
Eloquent ORM trình bày các bảng trong cơ sở dữ liệu dưới dạng các lớp, cung
cấp thêm lựa chọn truy cập cơ sở dữ liệu trực tiếp mới mẻ hơn, chuyên nghiệp
hơn.
+ Application logic: Là một phần của phát triển ứng dung, được sử dung bởi bộ
điều khiển controllers.
+ Routes: Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link).
Khi một liên kết được tạo ra bằng cách sử dung tên của routes, thì một định
danh liên kết thống nhất sẽ được tạo ra bởi Laravel.
+ Restful Controller: cung cấp các tùy chọn để tách các logic phía sau các
request HTTP, POST, GET.
+ Class auto loading: cung cấp việc tải tự động các class trong PHP, mà không
cần include các class vào. Tùy thuộc vào yêu cầu các class cần thiết sẽ được
nạp vào, hạn chế các class không cần thiết.
+ View: chứa các mã html, hiển thị dữ liệu được chỉ định bởi controller
+ Migrations: cung cấp một hệ thống kiểm soát các phiên bản lược đồ cơ sở dữ
liệu (database schemas), làm cho web ứng dung có khả năng tương tác phù hợp
những thay đổi logic, các đoạn mã code của ứng dung và những thay đổi cần
thiết trong việc bố trí cơ sở dữ liệu, triển khai nới lỏng và cập nhật các ứng
dung.
+ Unit Testing: đóng một vai trò quan trọng trong Laravel, Unit testing chứa
rất nhiều các hệ thống unit testing, giúp phát hiện và ngăn chặn lỗi trong khuôn

khổ nhất định. Unit Testing có thể được chạy thông qua tiện ích command-line.
+ Automatic pagination: Tính năng tự động phân trang được tích hợp vào
Laravel giúp đơn giản hóa các nhiệm vu thực hiện phân trang so với các
phương pháp thông thường.

2.3.2 Tổng quan về Laravel.

Hình 2.3 Logo Laravel Framework.

Giới thiệu

-17-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

o Laravel là 1 open source, là một framework dùng để xây dựng web application,
được thiết kế dựa trên mô hình MVC (Model, Controller, View), toàn bộ source
code được đặt trên github.
o Laravel được “sinh” ra vào tháng 04-2011 và “cha đẻ” của nó là Taylor Otwell,vào
tháng 12 năm 2013, theo kết quả khảo sát của các Developer, thì Laravel
Framework đứng top 1 một trong những framework phổ biến nhất, tiếp sau
là Phalcon,Symfony2, Laravel 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.

Hình 2.4 Bảng thống kê những FrameWork được sử dụng nhiều nhất năm 2013.

-18-



Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework
2.3.3 Những điểm nổi bật của Laravel Framework.

• Bundles : Ở laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các module,
với rất nhiều tính năng đi kèm.
• Composer : Ở laravel phiên bản 4.x, được sử dung như một công cu quản lý với
tính năng như thêm các gói cài đặt, các chức năng PHP phu trợ cho Laravel có
trong kho Packagist.
• Eloquent ORM (object relation mapping) : ánh xạ các đối tượng và quan hệ cơ sở
dữ liệu, cung cấp các phương thức nội bộ để thực thi đồng thời cũng bổ sung các
tính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu. Eloquent ORM
trình bày các bảng trong cơ sở dữ liệu dưới dạng các lớp, cung cấp thêm lựa chọn
truy cập cơ sở dữ liệu trực tiếp mới mẻ hơn, chuyên nghiệp hơn.
• Application logic : Là một phần của phát triển ứng dung, được sử dung bởi bộ
điều khiển controllers.
• Routes : Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link) . Khi
một liên kết được tạo ra bằng cách sử dung tên của routes, thì một định danh liên
kết thống nhất sẽ được tạo ra bởi laravel.
• Restful Controller : cung cấp các tùy chọn để tách các logic phía sau các request
HTTP POST, GET
• Class auto loading : cung cấp việc tải tự động các class trong PHP, mà không cần
include các class vào. Tùy thuộc vào yêu cầu các class cần thiết sẽ được nạp vào,
hạn chế các class không cần thiết.
• View : chưa các mã html, hiển thị dữ liệu được chỉ định bởi controller
• Migrations : cung cấp một hệ thống kiểm soát các phiên bản lược đồ cơ sở
dữ liệu (database cheme), làm cho web ứng dung có khả năng tương tác phù
hợp những thay đổi logic, các đoạn mã code của ứng dụng và những thay
đổi cần thiết trong việc bố trí cơ sở dữ liệu, triển khai nới lỏng và cập

nhật các ứng dụng.
• Unit Testing : đóng một vai trò quan trọng trong Laravel, Unit testting chứa
rất nhiều các hệ thống unit testing, giúp phát hiện và ngăn chặn lỗi trong
khuôn khổ nhất định. Unit Testing có thể được chạy thông qua tiện
ích command-line.

-19-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework
2.3.4 Những điểm hạn chế của Laravel Framework.

• Chưa hổ trợ AJAX
AJAX là thuật ngữ viết tắt của Asynchronous Javascript and XML (Javascript và
XML không đồng bộ). AJAX được sử dung rất nhiều trên các ứng dung web nhằm
tăng tính thân thiện và tiện lợi hơn cho trang web, nâng cao tính tương tác giữa
người và hệ thống, giúp người dùng có cảm giác như đang chạy ứng dung trên
desktop. Hiện nay Laravel vẫn chưa có thư viện hỗ trợ xây dựng ứng dung AJAX.
Tuy nhiên lập trình viên có thể sử dung các thư viện bên ngoài như Jquery,
Prototype hay Mootools…
• Chưa hổ trợ ORM
ORM là thuật ngữ viết tắt của ObjectRelational Mapping là một phương pháp lập
trình để chuyển đổi từ mô hình database (cơ sở dữ liệu) sang mô hình hướng đối
tượng trong chương trình. ORM giúp mã nguồn ngắn gọn hơn và các thao tác trong
cơ sở dữ liệu dễ dàng hơn. Hiện nay Laravel vẫn chưa hổ trợ ORM.
• Chưa hổ trợ Event Driven Programming
Event Driven Programming (lập trình hướng sự kiện) là một mô hình lập trình trong
đó các luồng xử lý của hệ thống được xác định bởi các sự kiện như nhấn chuột, gõ
bàn phím… Tuy nhiên đây không phải là một khuyết điểm lớn đới với Laravel vì

hiện nay chỉ có một số framework hổ trợ EventDriven Programming như: Prado,
Yii
• Chưa hổ trợ một số module thông dụng
Tuy Laravel là framework miễn phí, mã nguồn mở, dễ sử dung nhưng vẫn còn thiếu
một số module thông dung thường gặp trong quá trình xây dựng ứng dung web như:
Trình phân tích RSS, Trình xử lý PDF…

-20-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework
2.3.5 Mô hình MVC trong Laravel Framework

Hình 0.5
Hình 2.5 Mô hình MVC trong Laravel

Giống như hầu hết các PHP Framework, Laravel là một MVC Framework và có
cấu trúc tuần tự cho mỗi phần Model – View – Controller điều này giúp tăng khả năng
tái sử dung code, dễ dàng bảo trì cũng như nâng cấp sau này mà không ảnh hưởng
nhiều đến hệ thống hiện tại. Trước khi bắt đầu xây dựng Laravel đầu tiên, chúng ta cần
phải xác định cấu trúc chính của Laravel và xem làm thế nào thực hiện và thực thi kiến
trúc MVC.
MVC là một mô hình kiến trúc phần mềm được sử dung phổ biến trong phát
triển ứng dung web. Muc đích chính của MVC là:
• Tách riêng các thành phần logic với giao diện người dùng.
• Giúp cho việc thay đổi các thành phần dễ dàng mà không làm ảnh hưởng đến
các thành phần khác.
• Dễ dàng phát triển và bảo trì ứng dung.
Laravel được dựa trên mô hình phát triểm Model – View – Controller. Mô hình

MVC tách biệt xử lý dữ liệu ra khỏi phần giao diện, đây được xem là chuẩn thiết kế
trong công nghiệp phần mềm.
• Model: Mô hình đại diện cho cấu trúc dữ liệu. Thông thường các lớp mô
hình sẽ chứa các chức năng giúp truy vấn, thêm, sửa, xóa và cập nhật thông
tin trong cơ sở dữ liệu. Nếu các dữ liệu trong Model hay đổi thì các thành
phần trong View thay đổi và ngược lại.
• View: Chức năng chính là hiển thị thông tin cho người dùng. Một View có
thể toàn bộ là một trang web, nhưng trong Laravel, một view cũng có thể là
mảng nhỏ như header, footer, một trang RSS hay một phần nhỏ của trang.
Mỗi một Model có thể có nhiều View tùy thuộc vào muc đích sử dung của
người dùng.
• Controller: Thành phần trung gian để kết nối View và Model. Các yêu cầu
của người dùng từ View sẽ gửi tới Controller xử lý, sau đó các hàm chức
năng trong Controller sẽ gọi tới các Model để thao tác với cơ sở dữ liệu, cuối
cùng Controller trả dữ liệu này về cho View.

-21-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework
2.3.6 Dòng chảy dữ liệu trong Laravel Framwork

Hình 2.6 Luồng xử lý dữ liệu trong Laravel Framework

• Routing: Routing có nhiệm vu xem xét các yêu cầu HTTP và xác định hướng xử
lý với yêu cầu đó.
• Model: Xử lý những gì cần thiết yêu cầu từ Controller và truyền dữ liệu sang trang
người dùng .
• Controller: Tiếp nhận dữ liệu từ routing để quản lý dữ liệu này theo hai hướng nếu

là thông tin bình thường Controller sẽ đẩy dữ liệu ra view ngược lại muốn lấy dữ
liệu từ database thì sẽ truyền tin sang Model.
• View: Tại đây Controller sẽ gọi các Models, Libraries, Helpers, Plugins, Scripts…
có liên quan để xử lý dữ liệu đã nhận được.
• Submit User Request: Người dùng sẽ gửi một request yêu cầu truyền tải dữ liệu
đến tập tin routes.php.

-22-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1 PHÂN TÍCH CHỨC NĂNG
1

Mô hình phân rã chức năng
Sơ đồ phân rã chức năng admin

Sơ đồ phân rã chức năng khách hàng

-23-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

2


Mô tả các chức năng
 Chức năng quản lý bán hàng.
-

Tìm kiếm sản phẩm: Khi khách hàng đến với website muốn tìm kiếm
tên của một sản phẩm thì nhập thông tin cần tìm rồi click vào Tìm kiếm,
hệ thống sẽ gửi về khách hàng sản phẩm cần tìm nếu có trong cơ sở dữ
liệu.

-

Xem thông tin sản phẩm: Khách hàng muốn xem thông tin sản phẩm
thì click vào hình một sản phẩm bất kì để đọc thông tin sản phẩm đó để
biết và lựa chọn sản phẩm cần mua.

-

Đặt hàng: Khi khách hàng muốn mua sản phẩm nào đó thì khách hàng
vào website click chọn sản phẩm cần mua.

-

Thanh toán: Khi khách hàng đã nhập đầy đủ thông tin đặt hàng theo
yêu cầu của website thì khách hàng tiếp tuc lựa chọn hình thức thanh
toán.

-

Xem thông tin đơn đặt hàng: Khi việc đặt hàng hoàn tất người quản trị
sẽ xem thông tin đơn đặt hàng của khách hàng nếu trong hệ thống còn

hàng và người quản trị xác thực đơn hàng của khách hàng bằng cách liên
hệ khách hàng qua số điện thoại lúc khách hàng đặt hàng sau đó là in hóa
đơn và giao hàng. Còn nếu hết hàng thì hệ thống sẽ gửi lại thông báo cho
khách hàng.

 Chức năng thống kê.
-

Thống kê đơn đặt hàng: Người quản trị sẽ thống kê đơn đặt hàng của
khách hàng đã đặt dựa vào đơn dặt hàng.

-

Thống kê doanh thu : Người quản trị thống kê doanh thu bán hàng của
website tùy biến theo thời gian.

-

Thống kê sản phẩm bán chạy: Người quản trị thống kê sản phẩm bán
chạy của website tùy biến theo thời gian để từ đó đưa ra quyết định là
có tiếp tuc kinh doanh sản phẩm này nữa hay không.

-24-


Đề tài: Xây dựng ứng dụng website quản lý cửa hàng thiết bị điên tử trên nền Laravel
Framework

2 THIẾT KẾ CÁC MÔ HÌNH
1


Mô hình thực thể quan hệ (CDM)

-25-


×