1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

72 1,1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 10,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ôithự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 L

Trang 1

MỤC LỤC

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN i

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ii

LỜI CẢM ƠN iii

MỤC LỤC iv

DANH MỤC HÌNH viii

DANH MỤC BẢNG x

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

TÓM TẮT xii

ABSTRACT xiii

CHƯƠNG 1: TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.1.1 Hiện trạng 1

1.1.2 Vấn đề cần giải quyết 1

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

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

1.3.1 Về lý thuyết 3

1.3.2 Về kỹ thuật 3

1.3.3 Về chức năng 3

1.4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ 5

1.5 KẾ HOẠCH THỰC HIỆN 6

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8

2.1 HTML, PHP, MYSQL 8

2.1.1 HTML 8

2.1.2 PHP 8

2.1.3 MYSQL 8

2.1.4 JAVASCRIPT, AJAX, jQUERY 9

2.1.4.1 JAVASCRIPT 9

2.1.4.2 AJAX 9

2.1.4.3 jQUERY 9

2.2 MÔ HÌNH MVC (MODEL – VIEW – CONTROLLER) 10

2.2.1 Xuất xứ mô hình 10

Trang 2

Hình 2.1 Mô hình MVC 10

Hình 2.2 Mô hình MVC 11

2.3 TỔNG QUAN VỀ LARAVEL FRAMEWORK 12

2.3.1 Giới thiệu một số framework ? 12

2.3.2 Tổng quan về Laravel 13

Hình 2.3 Logo Laravel Framework 13

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

2.3.3 Những điểm nổi bật của Laravel Framework 15

2.3.4 Những điểm hạn chế của Laravel Framework 16

2.3.5 Mô hình MVC trong Laravel Framework 17

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

2.3.6 Dòng chảy dữ liệu trong Laravel Framwork 18

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

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19

3.1 PHÂN TÍCH CHỨC NĂNG 19

3.1.1 Mô hình phân rã chức năng 19

3.1.2 Mô tả các chức năng 20

3.2 THIẾT KẾ CÁC MÔ HÌNH 21

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

3.2.2 Xây dựng các thực thể quan hệ 21

Bảng 1-Thực thể sản phẩm 22

Bảng 2– Thực thể loại sản phẩm 22

Bảng 3– Thực thể khuyến mãi 22

Bảng 4- Thực thể hình ảnh sản phẩm 23

Bảng 5- Thực thể nhân viên 23

Bảng 6- Thực thể phiếu nhập 23

Bảng 7- Thực thể chức vụ 24

Bảng 8- Thực thể đơn đặt hàng 24

Bảng 9- Thực thể khách hàng 24

Bảng 10- Thực thể liên hệ 25

Bảng 11- Thực thể quyền 25

3.2.3 Xây dựng các mối quan hệ kết hợp 25

Hình 3.1 Quan hệ loại sản phẩm – sản phẩm-hình ảnh-khuyên mãi 26

Trang 3

Hình 3.3 Quan hệ khách hàng – đơn đặt hàng 27

Hình 3.4 Quan hệ phiếu nhập – sản phẩm 27

Hình 3.5 Quan hệ Đơn đặt hàng – Nhân viên 28

Hình 3.6 Quan hệ nhân viên – chức vụ 28

3.2.4 Mô hình vật lý (PDM) 28

3.2.5 Mô tả các ràng buộc toàn vẹn 29

Bảng 12- Bảng các ràng buộc toàn vẹn 30

3.2.6 Xây dựng các bảng tầm ảnh hưởng 30

3.3 LƯU ĐỒ DÒNG DỮ LIỆU (DFD) 32

Hình 3.7 DFD mức ngữ cảnh 32

Hình 3.8 DFD mức đỉnh 33

Hình 3.9 DFD Mức 2_1 33

Hình 3.10 DFD mức 2_2 34

3.4 SƠ ĐỒ HOẠT VỤ (USE CASE) THEO TÁC NHÂN 35

3.4.1 Sơ đồ hoạt vụ theo tác nhân khách hàng 35

3.4.2 Sơ đồ hoạt vụ theo tác nhân người quản trị 36

3.5 THIẾT KẾ CHƯƠNG TRÌNH 37

3.5.1 Giải thuật và lưu đồ 37

3.5.2 Giao diện chương trình 40

Hình 3.11 Trang chủ 40

Hình 3.12 Giao diện theo nhóm sản phẩm 41

Hình 3.13 Giao diện thông tin chi tiết sản phẩm 42

Hình 3.14 Giao diện giỏ hàng 43

Hình 3.15 Giao diện đặt hàng 43

Hình 3.16 Giao diện trang tin 44

Hình 3.17 Giao diện chi tiết tin tức 45

Hình 3.18 Hướng dẫn mua hàng 46

Hình 3.19 Giao diện form đăng nhập 47

Hình 3.19 Giao diện trang quản trị 47

Hình 3.21 Giao diện danh sách sản phẩm 48

Hình 3.22 Giao diện trang thêm sản phẩm 49

Hình 3.23 Giao diện chi tiết đơn hàng 50

Hình 3.24 Giao diện trang danh sách hóa đơn 50

Trang 4

Hình 3.26 Giao diện thống kê sản phẩm được mua nhiều 51

Hình 3.27 Giao diện danh sách đơn hàng chưa duyệt 52

Hình 3.28 Giao diện danh sách tin tức 52

Hình 3.29 Giao diện trang thêm tin tức 53

Hình 3.30 Giao diện trang thông tin website 53

Hình 3.31 Giao diện danh sách các bình luận sản phẩm 55

Hình 3.32 Giao diện trang phản hồi bình luận 55

Hình 3.33 Giao diện danh sách liên hệ, góp ý của khách hàng 56

Hình 3.34 Giao diện danh sách các nhân viên góp ý 56

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57

4.1 Kết luận 57

A Kết quả đạt được 57

B Hạn chế 58

4.2 Hướng phát triển 58

PHỤ LỤC 60

HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG LARAVEL 60

Hình Phụ Lục 1 Cấu trúc thư mục laravel 60

Hình Phụ Lục 2 Các gói hỗ trợ đang được download 61

Hình Phụ Lục 4 Chạy laravel framework sau khi cài đặt thành công 61

Hình Phụ Lục 5 Cấu trúc thư mục của Laravel Framework 62

TÀI LIỆU THAM KHẢO 64

DANH MỤC HÌN

Trang 5

Hình 2.1 Mô hình MVC 7

Hình 2.2 Mô hình MVC 8

Hình 2.3 Logo Laravel Framework 10

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

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

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

Hình 3.1 Quan hệ loại sản phẩm – sản phẩm-hình ảnh-khuyên mãi 22

Hình 3.2 Quan hệ sản phẩm – đơn đặt hàng 23

Hình 3.3 Quan hệ khách hàng – đơn đặt hàng 23

Hình 3.4 Quan hệ phiếu nhập – sản phẩm 24

Hình 3.5 Quan hệ Đơn đặt hàng – Nhân viên 24

Hình 3.6 Quan hệ nhân viên – chức vụ 25

Hình 3.7 DFD mức ngữ cảnh 29

Hình 3.8 DFD mức đỉnh 29

Hình 3.9 DFD Mức 2_1 30

Hình 3.10 DFD mức 2_2 30

Hình 3.11 Trang chủ 36

Hình 3.12 Giao diện theo nhóm sản phẩm 37

Hình 3.13 Giao diện thông tin chi tiết sản phẩm 38

Hình 3.14 Giao diện giỏ hàng 39

Hình 3.15 Giao diện đặt hàng 39

Hình 3.16 Giao diện trang tin 40

Hình 3.17 Giao diện chi tiết tin tức 41

Hình 3.18 Hướng dẫn mua hàng 42

Hình 3.19 Giao diện form đăng nhập 43

Hình 3.19 Giao diện trang quản trị 43

Hình 3.21 Giao diện danh sách sản phẩm 44

Hình 3.22 Giao diện trang thêm sản phẩm 45

Hình 3.23 Giao diện chi tiết đơn hàng 46

Hình 3.24 Giao diện trang danh sách hóa đơn 46

Hình 3.25 Giao diện trang thống kê doanh thu 47

Trang 6

Hình 3.28 Giao diện danh sách tin tức 48

Hình 3.29 Giao diện trang thêm tin tức 49

Hình 3.30 Giao diện trang thông tin website 49

Hình 3.31 Giao diện danh sách các bình luận sản phẩm 51

Hình 3.32 Giao diện trang phản hồi bình luận 51

Hình 3.33 Giao diện danh sách liên hệ, góp ý của khách hàng 52

Hình 3.34 Giao diện danh sách các nhân viên góp ý 52

Hình Phụ Lục 1 Cấu trúc thư mục laravel 56

Hình Phụ Lục 2 Các gói hỗ trợ đang được download 57

Hình Phụ Lục 4 Chạy laravel framework sau khi cài đặt thành công 57

Hình Phụ Lục 5 Cấu trúc thư mục của Laravel Framework 58

Trang 7

DANH MỤC BẢNG

Bảng 1-Thực thể sản phẩm 18

Bảng 2– Thực thể loại sản phẩm 18

Bảng 3– Thực thể khuyến mãi 19

Bảng 4- Thực thể hình ảnh sản phẩm 19

Bảng 5- Thực thể nhân viên 19

Bảng 6- Thực thể phiếu nhập 20

Bảng 7- Thực thể chức vụ 20

Bảng 8- Thực thể đơn đặt hàng 20

Bảng 9- Thực thể khách hàng 21

Bảng 10- Thực thể liên hệ 21

Bảng 11- Thực thể quyền 21

Bảng 12- Bảng các ràng buộc toàn vẹn 26

Trang 8

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

Trang 9

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ớikhông ngừng Mạng internet đang trở thành mạng truyền thông có sức ảnh hưởng lớnnhấ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 tinngày càng dễ dàng hơn cho người sử dụng 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ướchiệ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ủacon người, các hoạt động thông thường như sản xuất,kinh doanh và số lượng cácdoanh 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ôithự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

Trang 10

Nowadays, IT has developed strongly and improved constantly Internet is themost effective media, relates to human life in communication, study, trade, exchangingdata In addition, Internet makes easier for users to find interior and exteriorinformation by image, language and sound

Thus, The benefits of Internet has promoted the appearance and development ofe-commerce, this not only makes shopping culture change, enhance the quality ofhuman life, manufacture and business but also the number of enterprises are growingup

Understand this matter and hope to get e-commerce closer to people, I decide tochoose topic: "Building web application of store management about electricialequipment on laravel framework" in order to provide the function of productmanagement, sales management and revenue statistics, to create customer andadministrator conveniences in online trading

Keywords: Product Management, User Management, Sales Statistics

Trang 11

CHƯƠNG 1: TỔNG QUAN1.1 ĐẶT VẤN ĐỀ

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ườngxuyê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 mục đích tìmkiế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ảnphẩ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ểntớ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ơntrong việc mở rộng thị trường không chỉ thời gian mà cả không gian,trong nước cũngnhư ngoài nước

Vì vậy việc xây dựng một ứng dụng 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ờităng doanh thu cho cửa hàng

Trang 12

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ựngtrang 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ựngwebsite 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

Trang 13

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ằmcung 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ệncá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 dụng và triểnkhai 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ếunhậ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ậtlượng hàng một cách tự động theo thời gian thực Đơn giản hóa công việccho 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ử dụng 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ử dụng 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

Trang 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 ” 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ử dụng

 Thêm, sửa, xóa sản phẩm, danh mục 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

Trang 15

 Phân tích yêu cầu, mô tả đầy đủ về hệ thống website sẽ xây dựng, mô tả cácchứ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ầnthiết, thời gian đáp ứng hoặc các yêu cầu về độ tin cậy cũng như chất lượngcủ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 địnhphạ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ìmkiế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

1 Chọn đề tài luận văn Chọn đề tài và có xác nhận của giáo viênhướng dẫn. 7 ngày2

Tìm hiểu nhu cầu

Xây dựng mô hình vật lý

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

7 ngày

Giao diện người dùng

Giao diện quản trị điểm

7 ngày

Trang 16

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

Tạo CSDLViết code theo từng chức năng

Gặp giáo viên hướng dẫn

21 ngày

7 Kiểm tra thử chương

trình

Kết nối các chức năng

Kiểm tra lỗi

Gặp giáo viên hướng dẫn

Làm file PowerPoint báo cáo

Gặp giáo viên hướng dẫn

10 ngày

Trang 17

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT2.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êuvă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ẫuthô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 (WebBrowsers) hiển thị các thành phần của trang như từ ngữ và hình ảnh hay các đoạnvideo clip để tương tác với người dùng thông qua các thao tác nhấn phím và clickchuộ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ịchbản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máychủ, mã nguồn mở, dùng cho mục đí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 dụng 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ẩmtươ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ử dụng, dễ học Bên cạnh đó PHP còn hỗ trợ lập trình hướng đối tượng (OPP) thì việcdùng nó để phát triển các ứng dụng là rất dễ dàng Tuy nhiên, với tính mềm dẻo, linhhoạt của nó đã làm cho người lập trình phát triển ứng dụng 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 ứngdụng 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 dụng khi nó xảy ra sự cố hay phát triển ứngdụng cho phù hợp hơn với nhu cầu của người sử dụng, 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 dụng vừa và nhỏ, hỗ trợ chuẩn SQL, phầnmề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

Trang 18

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ựatrê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ùngrộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụngcác đối tượng nằm sẵn trong các ứng dụng Nó vốn được phát triển bởi Brendan Eichtạ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ànhLiveScript, 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ử dụng đểtạo các ứng dụng web động hay các ứng dụng giàu tính Internet (rich Internetapplication) Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vàotháng 2 năm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên cácchươ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ônngữ:

- 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ử dụng

- 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áchviết JavaScript và tăng tốc độ xử lý các sự kiện trên trang web jQuery thêm tương tácAjax vào trong trang web jQuery được thiết kế để thay đổi cách viết JavaScript

Trang 19

2.2 MÔ HÌNH MVC (MODEL – VIEW – CONTROLLER)

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ử dụng cũng

như những đối tượng khác

Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đốitượ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ử dụng hoặc cácđối tượng khác

Hình 2.1 Mô hình MVC

Trang 20

Hình 2.2 Mô hình MVC

Trang 21

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:

Symfony

Được ra đời nhằm mục đí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 dụng 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.

 Laravel

 Laravel là một php framework khá mới, phiên bản đầu tiên (Laravel 1) đượcphát hành vào tháng 6/2011 Ngay từ khi ra mắt, Laravel đã được chú ý đến bởinhiề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ắcphục 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ửdụng composer làm bộ công cụ 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ử dụng như một công cụ 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 phụ trợ cho Laravel

có trong kho Packagist

Trang 22

+ 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, cungcấ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ệphơn

+ Application logic: Là một phần của phát triển ứng dụng, được sử dụng 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ử dụng tên của routes, thì một địnhdanh 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ẽ đượcnạ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 dụng có khả năng tương tác phù hợpnhững thay đổi logic, các đoạn mã code của ứng dụng và những thay đổi cầnthiế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 ứngdụng

+ 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ônkhổ 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 vụ thực hiện phân trang so với cácphương pháp thông thường

2.3.2 Tổng quan về Laravel.

Hình 2.3 Logo Laravel Framework.

Trang 23

Giới thiệu

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ộ sourcecode đượ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àotháng 12 năm 2013, theo kết quả khảo sát của các Developer, thì LaravelFramework đứ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, LaravelFramework đượ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.

Trang 24

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ử dụng như một công cụ 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 phụ 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áctính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu Eloquent ORMtrì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ọntruy 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 dụng, được sử dụng 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ử dụng tên của routes, thì một định danh liênkế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 dụng 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ậpnhậ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 trongkhuôn khổ nhất định Unit Testing có thể được chạy thông qua tiệních command-line

Trang 25

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ử dụng rất nhiều trên các ứng dụng 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 dụng trên desktop Hiện nay Laravel vẫn chưa có thư viện hỗ trợ xây dựng ứng dụng AJAX Tuy nhiên lập trình viên có thể sử dụng 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ử dụng nhưng vẫn còn thiếumột số module thông dụng thường gặp trong quá trình xây dựng ứng dụng web như:Trình phân tích RSS, Trình xử lý PDF…

Trang 26

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ử dụng 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ầnphả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ếntrúc MVC

MVC là một mô hình kiến trúc phần mềm được sử dụng phổ biến trong phát triển ứng dụng web Mục đí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 đếncác thành phần khác

 Dễ dàng phát triển và bảo trì ứng dụng

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ôngtin trong cơ sở dữ liệu Nếu các dữ liệu trong Model hay đổi thì các thànhphầ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 mục đích sử dụng củangườ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ứcnăng trong Controller sẽ gọi tới các Model để thao tác với cơ sở dữ liệu, cuốicùng Controller trả dữ liệu này về cho View

Trang 27

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 vụ 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

Trang 28

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1 PHÂN TÍCH CHỨC NĂNG

3.1.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

Trang 29

3.1.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 tục 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ònhà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 tục kinh doanh sản phẩm này nữa hay không

Trang 30

3.2 THIẾT KẾ CÁC MÔ HÌNH

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

Trang 31

3.2.2 Xây dựng các thực thể quan hệ

1) Thực thể sản phẩm.

Bảng 1-Thực thể sản phẩm

STT Thuộc tính Kiểu dữ

liệu Khóa Diễn giải

variable Chi tiết sản phẩm

1 MaLoaiSP Integer Khóa chính Mã loại sản phẩm

3) Thực thể khuyến mãi.

Trang 32

STT Thuộc tính Kiểu dữ

4) Thực thể hình ảnh sản phẩm.

Bảng 4- Thực thể hình ảnh sản phẩm

ST

T Thuộc tính Kiểu dữ liệu Khóa Diễn giải

1 mahinhanh integer Khóa chính Mã hình ảnh

T Thuộc tính Kiểu dữ liệu Khóa Diễn giải

Trang 33

STT Thuộc tính Kiểu dữ

7) Thực thể chức vụ.

Bảng 7- Thực thể chức vụ

STT Thuộc tính Kiểu dữ liệu Khóa Diễn giải

hàng

9) Thực thể khách hàng.

Trang 34

T Thuộc tính Kiểu dữ liệu Khóa Diễn giải

characters

Họ tên kháchhàng

characters

Địa chỉ kháchhàng

characters

Số điện thoạikhách hàng

10)Thực thể liên hệ.

Bảng 10- Thực thể liên hệ

STT Thuộc tính Kiểu dữ liệu Khóa Diễn giải

11)Thực thể quyền.

Bảng 11- Thực thể quyền

STT Thuộc tính Kiểu dữ liệu Khóa Diễn giải

1 maquyen Integer Khóa chính Mã quyền hạn

nhân viên

characters

Tên quyền hạnnhân viên

3.2.3 Xây dựng các mối quan hệ kết hợp.

Trang 35

Hình 3.1 Quan hệ loại sản phẩm – sản phẩm-hình ảnh-khuyên mãi

Diễn giải: Một sản phẩm phải thuộc một loại sản phẩm,có hình ảnh riêng nằm

trong một khuyến mãi hoặc không có khuyến mãi.Ngược lại một loại sản phẩm có thể

có nhiều hoặc không có sản phẩm nào,một khuyến mãi có thể có nhiều hoặc không có sản phẩm nào

Mối quan hệ DonDatHang–SanPham.

Thực thể đơn hàng sẽ lấy thông tin từ khách hàng

Hình 3.2 Quan hệ sản phẩm – đơn đặt hàng

Diễn giải: Một đơn hàng có thể có một hoặc nhiều sản phẩm, một sản phẩm

có thể không thuộc hoặc thuộc nhiều đơn hàng khác nhau

Trang 36

Mối quan hệ KhachHang – DonDatHang.

Ngày đăng: 14/05/2017, 11:37

HÌNH ẢNH LIÊN QUAN

Sơ đồ phân rã chức năng admin - 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
Sơ đồ ph ân rã chức năng admin (Trang 23)
Bảng 1-Thực thể sản phẩm - 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ảng 1 Thực thể sản phẩm (Trang 27)
Bảng 10- Thực thể liên hệ - 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ảng 10 Thực thể liên hệ (Trang 30)
Bảng 1212- Bảng các ràng buộc toàn vẹn - 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ảng 1212 Bảng các ràng buộc toàn vẹn (Trang 35)
Hình 3.9 DFD Mức 2_1. - 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 3.9 DFD Mức 2_1 (Trang 38)
Hình 3.11 Trang chủ. - 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 3.11 Trang chủ (Trang 44)
Hình 3.13 Giao diện thông tin chi tiết sản phẩm - 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 3.13 Giao diện thông tin chi tiết sản phẩm (Trang 46)
Hình 3.16 Giao diện trang tin - 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 3.16 Giao diện trang tin (Trang 48)
Hình 3.18 Hướng dẫn mua hàng - 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 3.18 Hướng dẫn mua hàng (Trang 50)
Hình 3.21 Giao diện danh sách sản phẩm. - 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 3.21 Giao diện danh sách sản phẩm (Trang 52)
Hình 3.22 Giao diện trang thêm sản phẩm. - 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 3.22 Giao diện trang thêm sản phẩm (Trang 53)
Hình 3.23 Giao diện chi tiết đơn hàng. - 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 3.23 Giao diện chi tiết đơn hàng (Trang 54)
Hình 3.26 Giao diện thống kê sản phẩm được mua nhiều. - 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 3.26 Giao diện thống kê sản phẩm được mua nhiều (Trang 55)
Hình 3.32 Giao diện trang phản hồi bình luận. - 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 3.32 Giao diện trang phản hồi bình luận (Trang 59)
Hình Phụ Lục 1 Cấu trúc thư mục laravel . - 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 Phụ Lục 1 Cấu trúc thư mục laravel (Trang 64)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w