1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo đồ án tốt nghiệp ngành công nghệ thông tin

54 3,7K 12

Đ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 54
Dung lượng 2,45 MB

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

Nội dung

mẩu báo cáo đồ án tốt nghiệp ngành công nghệ thông tinĐề tài: Xây dựng mạng xã hội du lịch với frameword LaravelDành cho nhưng ai chưa có kiến thức về trình bày văn bản và đây là mẩu chuẩn do trường đại học bách khoa đà nẵng xây dựng

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 3736949, Fax (84-511) 3842771 Website: itf.dut.udn.vn, E-mail: cntt@dut.udn.vn

ĐỒ ÁN TỐT NGHIỆP KỸ SƢ NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH: D480201

ĐỀ TÀI : XÂY DỰNG MẠNG XÃ HỘI DU LỊCH SỬ DỤNG

Trang 2

Đầu tiên, tôi xin gửi lời cảm ơn chân thành tới Th.S Đặng Duy Thắng

đã giúp đỡ tôi hoàn thành tốt đề tài đồ án tốt nghiệp này Trong quá trình hướng dẩn tôi làm đồ án thầy đã chỉ bảo và hướng dẩn tận tình cho tôi những lý thuyết, cũng như các kỹ năng trong lập trình, cách giải quyết các vấn đề trong đề tài,… Thầy luôn là người truyền động lực cho tôi, đề xuất cho tôi các ý tưởng mới mẽ giúp tôi hoàn thành tốt đề tài đồ án

Chân thành cảm ơn các bạn bè trong lớp đã hỗ trợ tội để hoàn thành tốt đề tài cùng báo cáo này

Tôi xin chân thành biết ơn sự dạy dỗ tận tình của các thầy cô Khoa Công nghệ thông tin - Trường Đại học Bách khoa Đà Nẵng

Cuối cùng tôi xin dành lời cảm ơn sâu sắc đến gia đình tôi, đã luôn sát cánh động viên và dạy dỗ tôi trong suốt cuộc đời

Mặc dù đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Tôi rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô và các bạn

Nguyễn Thành Phước

Trang 3

Tôi xin cam đoan:

1 Nội dung trong đồ án này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của Th.S Đặng Duy Thắng

2 Các tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Nếu có những sao chép không hợp lệ, vi phạm, tôi xin chịu hoàn toàn trách nhiệm

Sinh viên thực hiện

Nguyễn Thành Phước

Trang 4

Trang 5

Trang 6

DANH SÁCH HÌNH ẢNH VII DANH SÁCH TỪ VIẾT TẮT IX

MỞ ĐẦU 1

CHƯƠNG 1: TÌM HIỂU VỀ MÔ HÌNH MVC VÀ LARAVEL FRAMEWORK 3 1.1 MỘT SỐ KHÁI NIỆM 3

1.1.1 Mạng xã hội 3

1.1.2 Mạng xã hội du lịch 3

1.1.3 Đặc điểm của mạng xã hội 3

1.2 GIỚITHIỆU MÔ HÌNH MVC 4

1.2.1 Giới thiệu 4

1.2.2 Lịch sử mô hình MVC 4

1.2.3 Kiến trúc mô hình MVC 5

1.2.4 Đặc điểm mô hình MVC 7

1.2.5 Tìm hiểu Controller 8

1.2.6 Tìm hiểu Model 8

1.2.7 Tìm hiểu View 8

1.2.8 Ưu khuyết điểm của mô hình MVC 8

1.3 GIỚITHIỆU LARAVEL FRAMEWORK 9

1.3.1 Giới thiệu 9

1.3.2 Lịch sử phát triển của Laravel 9

1.3.3 Sơ lược tính năng cơ bản của Laravel Framework 11

1.4 TIẾN ĐỘ THỰC HIỆN ĐỀ TÀI 12

1.5 KẾTCHƯƠNG 13

CHƯƠNG 2: PHÂN TÍCH ĐỀ TÀI VÀ KẾ HOẠCH TRIỂN KHAI 14

2.1 PHÂN TÍCH ĐỀ TÀI 14

Trang 7

2.1.2 Mục tiêu đề tài 14

2.1.3 Phân tích chức năng chính 14

2.2 PHÂN TÍCH TRIỂN KHAI HỆ THỐNG 15

2.2.1 Phân tích yêu cầu người dùng, người quản trị 15

2.2.2 Tạo bảng cơ sở dữ liệu 16

2.2.3 Biểu đồ ca sử dụng (Usecase Diagram) 20

2.2.4 Biểu đồ tuần tự (Sequence Diagram) 24

2.2.5 Biểu đồ lớp (Class Diagram) 28

2.2.6 Biểu đồ hoạt động (Active Diagram ) 29

2.3 KẾT CHƯƠNG 32

CHƯƠNG 3: CÀI ĐẶT VÀ ĐÁNH GIÁ SẢN PHẨM 33

3.1 MÔI TRƯỜNG CÀI ĐẶT 33

3.1.1 Chuẩn bị 33

3.1.2 Bắt đầu cài đặt: 33

3.2 TRIỂN KHAI 35

3.3 KẾT QUẢ TRIỂN KHAI 36

3.4 ĐÁNH GIÁ ƯUNHƯỢCĐIỂM WEBSITE 41

3.5 KẾT CHƯƠNG 42

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43

4.1 KẾT QUẢ ĐẠT ĐƯỢC 43

4.2 HƯỚNG PHÁT TRIỂN 43

TÀI LIỆU THAM KHẢO 44

Trang 8

Hình 1: Các thành phần chính của mô hình MVC 6

Hình 2: Mô hình tuần tự của MVC 7

Hình 3: Bảng thành viên 16

Hình 4: Bảng địa điểm 17

Hình 5: Bảng Tours 17

Hình 6: Bảng nhà hàng 18

Hình 7: Bảng statuses 18

Hình 8: Bảng thích 19

Hình 9: Bảng khách sạn 19

Hình 10: Bảng bạn bè 20

Hình 11: Biểu đồ ca sử dụng chức năng của thành viên 20

Hình 12: Biểu đồ ca sử dụng Admin 21

Hình 13: Admin quản lý thành viên 21

Hình 14: Biểu đồ ca sử dụng chức năng của địa điểm 22

Hình 15: Biểu đồ ca sử dụng khách sạn 22

Hình 16: Biểu đồ ca sử dụng nhà hàng 23

Hình 17:Biểu đồ ca sử dụng Tour 23

Hình 18: Biểu đồ tuần tự đăng nhập và đăng ký 24

Hình 19: Biểu đồ tuần tự cập nhật trạng thái 24

Hình 20: Biểu đồ tuần tự địa điểm 25

Hình 21: Biểu đồ tuần tự Tour 25

Hình 22: Biểu đồ tuần tự nhà hàng 26

Hình 23: Biểu đồ tuần tự khách sạn 26

Hình 24: Biểu đồ tuần tự cập nhật thông tin 27

Hình 25: Biểu đồ tuần tự chức năng tìm kiếm 27

Hình 26: Biểu đồ lớp 28

Hình 27: Biểu đồ hoạt động chức năng đăng ký 29

Hình 28: Biểu đồ hoạt động chức năng đăng nhập 30

Trang 9

Hình 30: Biểu đồ hoạt động chức nặng cập nhật thông tin cá nhân 31

Hình 31: Biểu đồ hoạt động chức năng tìm kiếm 32

Hình 32: Các thư mục của Laravel sau khi cài đặt về 34

Hình 33: Chạy project Laravel sau khi cài đặt 35

Hình 34: Màn hình giới thiệu 36

Hình 35: Màn hình đăng nhập 36

Hình 36: Màn hình đăng ký 37

Hình 37: Giao diện sau khi đăng nhập thành công 37

Hình 38: Màn hình xem các địa điểm bên người dùng 38

Hình 39: Màn hình kết bạn và yêu cầu kết bạn 39

Hình 40: Màn hình cập nhật thông tin 39

Hình 41: Màn hình thay đỗi mật khẩu 40

Hình 42: Màn hình chat 40

Hình 43: Màn hình tìm kiếm 41

Trang 10

Từ viết tắt Diễn giải

MXH Mạng xã hội ( Social network)

MVC Model View Controller

OOP Hướng đối tượng (Object-oriented-programming)

Trang 11

MỞ ĐẦU

1 Tổng quan về đề tài

Trong thời đại công nghệ thông tin, giới trẻ Việt Nam ngày nay có xu hướng

sử dụng mạng truyền thông xã hội Cimigo báo cáo rằng internet được sử dụng rộng rãi trong thông tin liên lạc và truyền thông trực tuyến 70% người dùng Internet để trao đổi email và trò chuyện, 36% là thành viên của mạng xã hội và 20% có blog riêng của họ Xu hướng các loại truyền thông mới nhanh chóng có mặt trên toàn Việt Nam Theo dữ liệu tôi thu thập được rằng trong số 28 trang web mạng xã hội lớn nhất, Việt Nam có 20 Ngoài ra, Cimigo nghiên cứu những lý do cho việc gia nhập mạng xã hội của người Việt Nam Kết quả chủ yếu là họ muốn giữ liên lạc với bạn bè Và các lý do khác như lưu giữ, cập nhật về bạn bè, gặp gỡ những người bạn mới, cũng là để thỏa mãn nhu cầu thông tin liên lạc của mọi người

Để thúc đẩy du lịch trong nước và sự phát triển của mạng xã hội tại Việt Nam Tôi đã tìm hiểu và xây dựng “Website MXH du lịch ” Hiện nay có rất nhiều trang website quảng cáo địa điểm du lịch nhưng thông tin đôi lúc lại không đầy đủ, hoặc không chính xác…Mạng xã hội du lịch giúp người dùng có thêm kinh nghiệm về các địa điểm du lịch mà người khác đã đi qua và chia sẻ lên cộng đồng Giúp mọi người có cái nhìn rõ hơn về địa điểm đó và đưa ra quyết định đi du lịch của mình

2 Mục đích và ý nghĩa của đề tài

Trang 12

2.2 Ý nghĩa

Với nền văn minh mới tiến bộ vượt bật và mang đến nhiều tiện ích, sự bùng

nổ và phát triển mạnh mẽ của ngành công nghệ thông tin khi mà Internet trở thành một sự lựa chọn lý tưởng cho việc tìm kiếm thông tin, trao đôi và liên lạc

Tuy nhiên thông tin là vô hạn,và tôi muốn tạo một môi trường đơn giản hơn về một chủ đề cụ thể Thông tin có rất nhiều và ở khắp mọi nơi vì vậy mong rằng đây

sẽ là môi trường tổng hợp giúp ích cho mọi người dùng trong việc tìm hiểu về du lịch

3 Phương pháp thực hiện

Phương pháp phân tích tổng hợp từ tài liệu

Phương pháp phân tích thiết kế hệ thống

Phương pháp thử nghiệm, đánh giá kết quả

4 Bố cục của đồ án

Đồ án bao gồm các nội dung sau:

Mở đầu

Chương 1: Tìm hiểu về mô hình MVC và Laravel Framework

Chương 2: Phân tích đề tài và triển khai kế hoạch thực hiện

Chương 3: Cài đặt và đánh giá sản phẩm

Chương 4: Kết luận và hướng phát triển

Trang 13

CHƯƠNG 1: TÌM HIỂU VỀ MÔ HÌNH MVC VÀ

LARAVEL FRAMEWORK 1.1 MỘT SỐ KHÁI NIỆM

1.1.1 Mạng xã hội

Mạng xã hội, hay gọi là mạng xã hội ảo (social network) là dịch vụ kết nối các thành viên cùng sở thích trên Internet lại với nhiều mục đích khác nhau không phân biệt thời gian và không gian Những người tham gia vào mạng xã hội được gọi là cư dân mạng

1.1.2 Mạng xã hội du lịch

Mạng xã hội du lịch có những tính năng chính như chat, đăng trạng thái, chia

sẻ hình ảnh, video, tìm kiếm và kết nối bạn bè Tìm kiếm các địa điểm du lịch kết hợp với việc hiển thị các địa điểm có sẳn và hiển thị các nhà hàng khách sạn gần khu vực đó

1.1.3 Đặc điểm của mạng xã hội

Là một website mở, nội dung được tạo ra bởi các thành viên tham gia trang Tất cả những gì người dùng chia sẻ, bao gồm cả cập nhật trạng thái, chia sẻ ảnh, video,… chính là nội dung của MXH

Có sự tham gia trực tiếp của nhiều cá nhân hay doanh nghiệp: Lượng người sử dụng MXH ngày một tăng nhanh là cơ hội cho các doanh nghiệp tiếp cận công chúng một cách dể dàng với chi phí rẻ hơn rất nhiều so với các phương tiện truyền thông khác, đặc biệt là các doanh nghiệp vừa và nhỏ

Độ tương tác cao: Cung cấp các công cụ cho phép mọi người chia sẻ thông tin

và tương tác online với nhau theo nhiều cách như thích, bình luận, chat,… Nhờ vậy người dùng có thể cùng nhau thảo luận, chia sẻ, tương tác với nhau ở bất cứ đâu với gia hay bạn bè Không những vậy các MXH hiện nay còn có tính năng liên kết với các trang MXH khác lại với nhau Với sự giúp đỡ của các ứng dụng tiện ích, bạn có

Trang 14

thể tích hợp nhiều trang MXH như: Facebook, Twitter, Zingme,… một cách nhanh chóng

1.2 GIỚI THIỆU MÔ HÌNH MVC

1.2.1 Giới thiệu

MVC là viết tắt của Model – View – Controller Là một trong những mẩu thiết

kế Được vận hành để tách mã lệnh thành 3 phần riêng biệt Ở mỗi phần MVC sẽ có những chức năng đặc thù Để xử lý các tác vụ mà request gởi tới MVC làm cho mã lệnh trở nên trong sáng, dễ phát triển và dễ nâng cấp theo thời gian

Để làm việc tốt đối với MVC, chúng ta cần nắm thật vững kiến thức OOP Bản chất của các Framework khác cũng được hình thành trên lý thuyết MVC Do vậy nếu chúng ta nắm tốt MVC Thì ở những Framework khác chắc chắn sẽ không cảm thấy khó hiểu

• Model: Là thành phần chịu trách nhiệm xử lý các thao tác trên database Và gởi trả kết quả thông qua view

• View: Là phần hiển thị thông tin trên website, sau khi đi qua controller và nhận kết quả từ phía model thì view là bước cuối cùng để chuyển thông tin tới người dùng

• Controller: Là phần điều hướng các request tới những tác vụ tương ứng Controller là một phần không thể thiếu ở bất cứ Framework nào Vì nó có trách nhiệm gởi và nhận request từ hệ thống tới người sử dụng

1.2.2 Lịch sử mô hình MVC

Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở Palo Alto Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng ( Object Oriented Programming) cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó Không dừng lại ở đó, những nhà nghiên cứu ở Xerox

Trang 15

PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC ( viết tắt của Model – View – Controller)

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 / tháng 9 năm 1988

1.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 Compone nt) 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

Trang 16

Hình 1: Các thành phần chính của mô hình MVC

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 đố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ử dụng hoặc các đối tượng khác

Trang 17

Hình 2: Mô hình tuần tự của MVC

ta có thể thay đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng

đồ họa mà những thành phần còn lại vẫn giữ nguyên

Chính vì vậy mà kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều Framework và thư viện đồ họa khác nhau Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của thế kỷ 20) Các Swing Components của Java cũng được

Trang 18

xây dựng dựa trên kiến trúc MVC Đặc biệt là nền tảng ASP.NET MVC Framework

1.2.7 Tìm hiểu View

View là phần hiển thị thông tin tương phản khi gởi và nhận yêu cầu Trước đây, khi người lập trình chưa nghĩ tới view Họ thường thao tác xử lý dữ liệu ngay trực tiếp trên ứng dụng và đổ cả dữ liệu ngay trên file PHP đó Điều này làm cho ứng dụng trở nên cồng kềnh, và đặc biệt rất khó cho việc bảo trì nâng cấp sau này Nhất

là đối với designer, việc thay đổi giao diện của một website luôn làm cho họ cảm thấy đau đầu vì phải vọc thẳng vào core

1.2.8 Ưu khuyết điểm của mô hình MVC

Ưu Điểm:

MVC làm cho ứng dụng trở nên trong sáng, giúp lập trình viên phân tách ứng dụng thành ba lớp một cách rõ ràng Điều này sẽ rất giúp ích cho việc phát triển những ứng dụng xét về mặt lâu dài cho việc bảo trì và nâng cấp hệ thống

MVC hiện đang là mô hình lập trình tiên tiến bậc nhất hiện nay, điều mà các Framework vẫn đang nổ lực để hướng tới sự đơn giản và yếu tố lâu dài cho người sử dụng

Trang 19

Khuyết Điểm:

Mặc dù, MVC tỏ ra lợi thế hơn nhiều so với cách lập trình thông thường Nhưng MVC luôn phải nạp, load những thư viện đồ sộ để xử lý dữ liệu Chính điều này làm cho mô hình trở nên chậm chạp hơn nhiều so với việc code tay thuần túy

MVC đòi hỏi người tiếp cận phải biết qua OOP, có kinh nghiệm tương đối cho việc thiết lập và xây dựng một ứng dụng hoàn chỉnh Sẽ rất khó khăn nếu OOP của người sử dụng còn yếu

MVC tận dụng mảng là thành phần chính cho việc truy xuất dữ liệu Nhất là với việc sử dụng active record để viết ứng dụng Chúng luôn cần người viết phải nắm vứng mô hình mảng đa chiều

1.3 GIỚI THIỆU LARAVEL FRAMEWORK

1.3.2 Lịch sử phát triển của Laravel

Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền Tôi cũng không chắc về điều này, nhưng có thể Taylor vốn là một NET developer khi bắt đầu có nhu cầu làm việc với PHP khoảng vào những năm 2010-2011, đã chọn CodeIgniter khi đó đang là một ngôi sao mới nổi, thậm chí lấn át cả Symfony gạo cội Và Taylor nhanh chóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với tài năng và kiến thức xuất sắc về design-pattern của mình, Taylor quyết định tự mình tạo ra một Framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện

Trang 20

thực ý tưởng một cách nhanh nhất bằng nhiều tính năng hỗ trợ như Eloquent ORM mạnh mẽ, xác thực đơn giản, phân trang hiệu quả, và hơn thế nữa

Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là:

Laravel 1 phát hành trong cùng tháng Laravel 1 bao gồm các tính năng như

xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác, nhưng vẫn còn thiếu controller, điều này làm nó chưa thật sự là một MVC Framework đúng nghĩa

Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ

tác giả và cộng đồng Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực sự biến Laravel 2 thành một MVC Framework hoàn chỉnh, hỗ trợ Inversion of Control (IoC), hệ thống template Blade Bên cạnh đó, có một nhược điểm là hỗ trợ cho các gói của nhà phát triển bên thứ 3 bị gỡ bỏ

Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới

bao gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ trợ “bắt sự kiện” trong ứng dụng, và hệ thống quản lý gói gọi là “Bundles” Lượng người dùng

và sự phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3

Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013 Lần

này thực sự là sự lột xác của Laravel Framework, di chuyển và tái cấu trúc các gói

hỗ trợ vào một tập được phân phối thông qua Composer, một chương trình quản lý gói thư viện phụ thuộc độc lập của PHP Bố trí mới như vậy giúp khả năng mở rộng của Laravel 4 tốt hơn nhiều so với các phiên bản trước Ra mắt lịch phát hành chính thức mỗi sáu tháng một phiên bản nâng cấp nhỏ các tính năng khác trong Laravel 4 bao gồm tạo và thêm dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ “xóa mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent

mà không thực sự xóa hẳn khỏi DB)

Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi

đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3 Bên cạnh một loạt tính

Trang 21

năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư mục nội bộ cho phát triển ứng dụng mới Những tính năng mới của Laravel 5 bao gồm hộ trợ lập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là “Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản lý assets thông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với các dịch vụ bên ngoài bằng gói “Socialite”

Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận

được hỗ trợ dài hạng (LTS) với một kết hoạch fix bug lên tới 2 năm vào hỗ trợ vá lỗi bảo mật lên tới 3 năm Các bản phát hành LTS của Laravel được lên kế hoạch theo mỗi 2 năm

Laravel 5.2 chính thức ra mắt ngày 21-12-2015, phiên bản này bao gồm

những tính năng mới như: Hỗ trợ multiple authentication, hỗ trợ việc xử lý chứng thực một cách dể dàng cho phía back-end, tính năng rate limit cho phép bạn giới hạn

số lần gửi request từ 1 IP đến 1 route trong một khoảng thời gian cụ thể

1.3.3 Sơ lược tính năng cơ bản của Laravel Framework

Bundles: 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: Đượ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: Á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 trong 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 các lựa chọn truy cập sơ

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 controller

Trang 22

Route: Đị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 route, 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 scheme), làm cho web application có khả năng tương tác phù hợp với 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 testing chứa

rất nhiều các hệ thống unit testing, giúp phát triể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 vụ thực hiện phân trang so với các phương pháp thông thường

1.4 TIẾN ĐỘ THỰC HIỆN ĐỀ TÀI

Trang 24

CHƯƠNG 2: PHÂN TÍCH ĐỀ TÀI VÀ KẾ HOẠCH

TRIỂN KHAI 2.1 PHÂN TÍCH ĐỀ TÀI

2.1.1 Lý do lựa chọn đề tài

Kể từ khi có kết nối mạng trên toàn cầu (internet) và nhất là sau khi điện thoại thông minh hay máy tính bảng được chế tạo, việc sử dụng mạng xã hội (Facebook, Instagram, Viber, Zalo, Skype, Whatsapp, Youtube, Linked, Twitter, … đã không còn xa lạ với hầu hết người dùng, kể cả trẻ em, thanh thiếu niên và người lớn tuổi Nhiều người dùng phàn nàn về sự thiếu kiểm soát trong việc sử dụng rộng rãi các mạng xã hội như: có khả năng gây nghiện cao, thông tin tràn lan, mất nhiều thời gian, công sức và tiềm ẩn nhiều rủi ro về đời sống cá nhân hay sự cân bằng cảm xúc

do quá mải mê hay ganh đua số lượng Fan hoặc cạnh tranh, so sánh hay chỉ trích thái quá

Tuy nhiên, MXH (social network) vẫn tiếp tục được sử dụng ngày càng rộng rãi

và nguyên nhân là vì những lợi ích tuyệt vời do xu thế này đang mang lại mà chúng

ta không thể phủ nhận Nhưng thông tin trên mạng lại quá nhiều không đi sâu vào một lĩnh vực nào cả, vì vậy tôi chọn đề tài này nhằm tạo một sân chơi cho người dùng, tạo một nơi cập nhật địa điểm, nhà hàng, khách san hay nơi trò chuyện giữa các người dùng

2.1.2 Mục tiêu đề tài

Nhằm tạo một trang cập nhật tin tức, địa điểm, xu thế du lịch hiện nay, cải thiện chất lượng thông tin, kết nối bạn bè gia đình và cộng đồng, tiết kiệm kinh phí thời gian Tạo môi trường giải trí thân thiện cho người dùng, nâng cao tầm hiểu biết về các địa điểm du lịch

2.1.3 Phân tích chức năng chính

Để thể hiện rõ là một website mạng xã hội du lịch thì ngoài các tính năng thông thường của một trang mạng xã hội như: chat, cập nhật trang thái, bình luận, like,

Trang 25

chia sẽ, … Ở đây mình bố trí thêm vào các chức năng như: tìm kiếm địa điểm trên map, hay các địa điểm du lịch nổi tiếng,…

Phần cập nhật trạng thái mình cần viết về một địa điểm và đi kèm với nó là vị trí, hình ảnh và có thể có hoặc không có video về địa điểm du lịch đó

Ngoài ra ở đây còn có thông tin về các địa điểm du lịch mới mở, hay là các địa điểm thu hút khách du lịch nhất Người xem có thể xem chi tiết về các địa điểm hay khách sạn hoặc nhà hàng gần địa điểm du lịch đó Thông tin này do admin cung cấp

2.2 PHÂN TÍCH TRIỂN KHAI HỆ THỐNG

2.2.1 Phân tích yêu cầu người dùng, người quản trị

 Người dùng:

 Giao diện dể sử dung, có tính thẩm mỹ cao

 Cho phép người dùng đăng ký thành viên và đảm bảo bí mật các thông tin của người dùng (có thể sử dụng các tài khoản google hay facebook để đăng nhập vào hệ thống)

 Xem và thay đỗi thông tin tài khoản

 Người dùng có thể sử dụng các chức năng chính của một trang MXH bao gồm: cập nhật trạng thái, thích, chia sẻ bài viết, chat, đăng ảnh hay video…

 Ngoài ra có thể xem và thêm mới các địa điểm du lịch Đưa phản hồi về địa điểm du lịch, nhà hàng, nhà nghỉ gần vị trí du lịch

 Các tour du lịch có sẳn

 Tìm kiếm các địa điểm du lịch,nhà hàng, khách sạn hoặc bạn bè

 Tìm kiếm vị trí các địa điểm tích hợp bởi google map

 Người quản trị:

 Quản lý thông tin người dùng

Trang 26

 Quản lý các thông tin: Địa điểm, nhà hàng, khách sạn, tour

 Thay đỗi quyền của các user

2.2.2 Tạo bảng cơ sở dữ liệu

 Bảng thành viên: Nơi lưu trữ thông tin người dùng và tài khoản của nzgười quản trị bao gồm: Email, Username, Password, birthday, Avatar, Phone Number, First Name, Last Name, Role Sử dụng cho việc đăng ký, đăng nhập hay việc đăng nhập bằng tài khoản facebook hay google

Hình 3: Bảng thành viên

Trang 27

 Bảng địa điểm: Thông tin ở bảng này do người quản trị quản lý bao gồm việc: thêm sửa xóa các địa điểm du lịch nổi tiếng và các bài giới thiệu về địa điểm đó

Hình 4: Bảng địa điểm

 Bảng Tour: Chứa các chuyến du lịch dựa theo thông tin từ bảng địa điểm đưa ra các chuyến đi, giá cả và ngày giờ Bảng này người dùng không có quyền thêm sửa xóa

Hình 5: Bảng Tours

Ngày đăng: 13/06/2017, 16:10

TỪ KHÓA LIÊN QUAN

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

w