Mục tiêu của đề tài Mục tiêu của đề tài nhằm tuyên truyền, quảng bá, giúp mọi người hiểu thêm về Đà Nẵng cũng như đặt tour du lịch một cách dễ dàng, đặc biệt là khách du lịch trong và ng
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
ĐỒ ÁN CƠ SỞ 2
ĐỀ TÀI: XÂY DỰNG WEBSITE
MÔI GIỚI VIỆC LÀM
Sinh viên thực hiện: Nguyễn Mạnh Trường Đạt
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN
Khoa Khoa Học Máy Tính
ĐỒ ÁN CƠ SỞ 2
ĐỀ TÀI: XÂY DỰNG WEBSITE
MÔI GIỚI VIỆC LÀM
Giảng viên hướng dẫn: PGS TS Nguyễn Thanh Bình
Đà Nẵng, tháng 11 năm 2022
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4LỜI CẢM ƠN
Để hoàn thành báo cáo đồ này trước hết em xin gửi đến quý thầy cô, giáo trong khoa Khoa Học Máy Tính, trường Đại học Công nghệ thông tin và Truyền thông Việt -Hàn
Đặc biệt, em xin trân trọng gửi đến PGS TS Nguyễn Thanh Bình đã tận tình hướng dẫn, giúp đỡ em hoàn thành chuyên đề báo cáo này lời cảm ơn sâu sắc nhất
Em xin chân thành cảm ơn các thầy cô trong khoa Khoa Học Máy Tính đã nhiệt tình dạy bảo và tạo điều kiện thuận lợi nhất cho em trong suốt quá trình thực hiện đồ án
Em xin cảm ơn các bạn sinh viên, các anh chị sinh viên khóa trước đã nhiệt tình giúp đỡ em trong quá trình thực hiện
Vì kiến thức bản thân còn nhiều hạn chế, trong suốt quá trình thực hiện đồ án này, em không tránh khỏi những sai sót, kính mong được nhận được sự chỉ bảo của cácthầy cô Cuối cùng em xin gửi đến thầy cô, những người đã giúp đỡ em một lời cảm
ơn trân trọng nhất, chúc mọi người sức khoẻ và thành công!
Sinh viên,
Nguyễn Mạnh Trường Đạt
Trang 5MỤC LỤC
Chương 1 TỔNG QUAN VỀ CÔNG NGHỆ THIẾT KẾ WEBSITE 4
Trang 72 Hạn chế 23
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
VIẾT TẮT NỘI DUNG
SEO Search Engine Optimization
CDN Content Delivery Network
URL Uniform Resources Locator
Trang 9DANH MỤC CÁC BẢNG
Trang 10DANH MỤC HÌNH VẼ
Trang 11MỞ ĐẦU
1 Giới thiệu
Hiện nay nhu cầu môi giới việc làm đang ngày càng cần thiết, tinh thần cầu thị,
tư duy đổi mới, sáng tạo liên tục trong thời đại công nghệ 4.0 đã làm nhu cầu đấy trở nên dễ dàng hơn với những ứng dụng, công nghệ phục vụ một cách nhanh chóng Biết được điều ấy, chúng em lên đề tài xây dựng website môi giới việc làm với sứ mệnh kếtnối, nâng cao nguồn nhân lực cho thị trường lao động Việt Nam, với tầm nhìn trở thành đơn vị cung cấp Công nghệ giúp kết nối và phát triển các công ty với các người cần tìm việc Mục tiêu của đề tài nhằm giúp các lao động dễ dàng tìm việc theo nhu cầu, trình độ, lương bổng và các nhà tuyển dụng và công ty dễ dàng tuyển nhân viên Với định hướng kết quả là nâng cấp toàn diện Nền tảng tuyển dụng ứng dụng sâu Công nghệ 4.0
2 Mục tiêu của đề tài
Mục tiêu của đề tài nhằm tuyên truyền, quảng bá, giúp mọi người hiểu thêm về
Đà Nẵng cũng như đặt tour du lịch một cách dễ dàng, đặc biệt là khách du lịch trong
và ngoài nước với giao diện đơn giản, thân thiện và dễ dàng truy cập
3 Nội dung và kế hoạch thực hiện
3.1 Nội dung
- Nghiên cứu về đề tài đã chọn
- Phân tích thiết kế hệ thống cho trang web
- Tạo giao diện cho website bằng HTML, CSS, Javascript, các thư viện và framework
hỗ trợ
- Xây dựng hệ thống cơ sở dữ liệu bằng MySQL và XAMPP
- Tiến hành kiểm thử, sửa lỗi
- Làm slide thuyết trình và viết báo cáo để nộp
3.2 Kế hoạch thực hiện
Từ 12/9 đến 18/9 Chọn đề tài thực hiện, tìm hiểu đề tài, viết đề cương đồ án
Từ 19/9 đến 30/9 Tìm hiểu thông tin về các tài nguyên, công nghệ để xây dựng website
Từ 30/9 đến 6/10 Phân tích thiết kế hệ thống
Từ 6/10 đến 6/11 Dùng kiến thức đã học để xây dựng trang web
Từ 6/11 đến 12/11 Hoàn thiện, kiểm thử website, sửa lỗi
Từ 12/11 đến 20/11 Làm slide, viết báo cáo đồ án
Từ 20/11 đến 27/11 Nộp tất cả lên hệ thống và chuẩn bị để được bảo vệ
Trang 124 Phương pháp và phạm vi nghiên cứu
4.1 Phương pháp nghiên cứu
- Tham khảo, nghiên cứu thêm các tài liệu trên trang web, trang báo, tìm hiểu tình hình thực trạng của đề tài
- Tìm hiểu các đề tài của các anh chị khóa trước đã làm hoặc tìm hiểu qua sách báo, trang mạng liên quan đến đề tài nghiên cứu
- Quan sát việc xây dựng một trang web tìm kiếm việc làm, phân tích và thống kê
số liệu
4.2 Phạm vi nghiên cứu
- Người lao động có nhu cầu tìm việc làm
- Những nhà tuyển dụng cần tuyển dụng nhân sự
4.3 Phương tiện nghiên cứu
- Nghiên cứu cơ sở lý thuyết về phân tích và thiết kế hệ thống
- Framework Bootstrap, thư viện jQuery
- Sử dụng các công cụ Visual Studio Code, Sublime Text 3… để lập trình, thiết
kế giao diện và hoàn thiện chức năng
5 Kết quả đề tài
Hoàn thành giao diện website có độ chính xác cao, giao diện đẹp, chính xác, đáp ứng nhu cầu của khách hàng, có sản phẩm chất lượng Củng cố kiến thức về thiết kế web bằng HTML, CSS, JavaScript
● Biết thêm được nhiều kiến thức về xây dựng một hệ thống web thời gian thực cũng như phân tích hệ thống của một trang web
● Biết thêm nhiều kiến thức mới như Bootstrap, JQuery, sử dụng các thư viện của JavaScript, CSS để làm cho trang web thêm sự linh hoạt và bắt mắt
● Trang web có một số chức năng chính như sau:
- Đăng nhập, đăng kí
- Tìm việc làm
- Đăng tin tuyển dụng
Sau khi kết thúc một dự án không thể thiếu chính là báo cáo viết về đề tài và làm slide trình bày dự án Báo cáo chi tiết trình bày bố cục mục lục hợp lý
6 Bố cục báo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 13Chương 1 Tổng quan Laravel Framework Trong chương này, sẻ trình bày các
giới thiệu các đặc điểm, lý thuyết về framework Laravel
Chương 2 Phân tích thiết kế hệ thống Nội dung chương bao gồm các yêu cầu,
phân tích các bước để thực hiện tạo nên website
Chương 3 Xây dựng website Chương này trình bày kết quả về giao diên, chức
năng chính của website đối với người dùng và người quản trị viên
Chương 4 Xây dựng cơ sở dữ liệu Chương này trình bày cách xây dựng cơ sở
dữ liệu cho trang web
Cuối cùng là Kết luận, Tài liệu tham khảo và Phụ lục liên quan đến đề tài.
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 14Chương 1 TỔNG QUAN VỀ LARAVEL FRAMEWORK
1 Khái niệm về Laravel Framework
Laravel là một PHP
framework mã nguồn
mở và miễn phí, được phát triển bởi
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm
trúc model-view-controller (MVC)
Framework là “bộ khung” cung cấp đa số các kiểu mẫu thiết kế phù hợp với
ứng dụng bạn sắp thực hiện, các thư viện, API, trình biên dịch Framework
được cấu thành từ các đoạn code
MVC (Model-View-Controller) là mô hình phân bố source code thành 3 phần Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác
Cụ thể là:
Model: Đây là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ
quản trị cơ sở dữ liệu (mysql, mssql…) Thành phần Model bao gồm các
class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu,
thêm – xóa – sửa dữ liệu, …
View: Đây là nơi chứa những giao diện như nút bấm, khung nhập, menu, hình ảnh, … Thành phần View sẽ đảm nhiệm nhiệm vụ hiển thị dữ liệu và
giúp người dùng tương tác với hệ thống
Controller: Đây là nơi tiếp nhận những yêu cầu xử lý được gửi từ người
dùng Thành phần Controller sẽ gồm những class/ function xử lý nhiều
nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết và hiển thị dữ liệu
đó ra cho người dùng qua lớp View…
Alison.com, Barchart.com, … và nhiều trang web lớn trên thế giới đã được phát triển trên nền tảng Laravel Tại Việt Nam, Laravel được sử dụng phổ biến với cộng đồng rộng lớn chiếm tỷ lệ hơn 70% người dùng
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 152 Ưu điểm và nhược điểm của Laravel
2.1 Ưu điểm
Tiếp cận các tính năng mới nhất mà PHP cung cấp Ưu điểm này đặc biệt
- Tiếp cận các tính năng mới nhất mà PHP cung cấp Ưu điểm này đặc biệt hữu ích với người dùng Namespaces, Interfaces, Overloading, Anonymous
functions và shorter array syntax
- Tham khảo nguồn tài nguyên đa dạng tài liệu khác nhau Mỗi phiên bản
phát hành của Laravel đều kèm theo nguồn tài liệu phù hợp để người dùng
tiện tra cứu
- Tích hợp với dịch vụ mail dựa trên nền tảng đám mây hoặc local nhờ API
sạch trên thư viện SwiftMailer
- Tốc độ xử lý nhanh, đáp ứng như cầu tạo lập website hay các dự án lớn
trong thời gian ngắn
- Dễ sử dụng nhờ tuân theo mẫu thiết kế mô hình 3 lớp MVC dễ hiểu
-Tính bảo mật cao
- Hỗ trợ các cache backend như Memcached và Redis out-of-the-box
- Công cụ tích hợp cho dòng lệnh – Artisan
- Tạo liên kết đến các route được đặt tên
- Giảm đáng kể chu kỳ phát triển sản phẩm vì Laravel giúp tích hợp nhanh hơn cùng
Trang 16- Không có sự liên kết giữa các phiên bản Ứng dụng có thể bị đình trệ, ngừng hoạt động hoặc phá vỡ nếu người dùng cố cập nhật code.
- Làm chậm tốc độ tải trang vì Laravel quá nặng cho ứng dụng di động
- Không hỗ trợ tính năng thanh toán
3 Các thành phần cơ bản của Laravel Framework
3.1 Route
- Khái niệm route: Route trong Larvel cũng như các framework khác đều có chức
năng là định ra các dạng resquest (hiểu nôm na là url) định sẵn và cũng có các action (hành động) do chúng ta định nghĩa cho nó
- Các loại route trong Laravel
Laravel là một framework hỗ trợ rất đa dạng về route, và cũng rất dễ sử dụng Nó gồm
có các loại:
Route::get nhận resquest với phương thức GET
Route::post nhận resquest với phương thức POST
Route::put nhận resquest với phương thức PUT.
Route::delete nhận resquest với phương thức DELETE
Route::match kết hợp nhiều phương phức POST, GET, PUT,
Route::any nhận tất cả các phương thức
Route::group tạo ra các nhóm route
Route::controller gọi đến controller tương ứng mà ta tự định
Route::resource sử dụng với resource controller.
3.2 View
- Khái niệm: Các view trong Laravel được lưu trữ trong thư mục resources/views Có
thể tạo thêm các thư mục trong thư mục resources/views để phân cấp quản lý Các view có thể chứa mã HTML, CSS, Javascript phục vụ cho hiển thị nội dung cho người dùng
- Tạo View trong Laravel: View trong Laravel không tạo được bằng câu lệnh php
artisan mà chỉ đơn giản là tạo một file mới trong các thư mục con của resources/views
với cấu trúc tên file như sau: tên-view.blade.php
3.3 Controller
Thực hiện điều hướng giữa Model và View sau khi nhận request từ trình duyệt web
Để tạo mới một Controller ta sử dụng câu lệnh:
php artisan make:controller MyController
Sau khi thực hiện, nó sẽ tạo ra một file MyController.php trong thư mục
app/Http/Controllers Khi một yêu cầu gửi đến hệ thống Laravel sẽ tìm trong route và route sẽ gọi đến một hàm trong một Controller theo cú pháp như sau:
Route::get('base URI','controller@method');
Khi làm việc với Route::resource thì controller laravel hỗ trợ 8 action: index, create, store, show, edit, update, destroy nhưng trong controller không nhất thiếtphải tạo đủ 8 action này
3.4 Cài đặt Laravel
Cách 1: Cài đặt Laravel bằng Laragon
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 17Laragon hỗ trợ tạo dự án Laravel bằng giao diện, bạn click chuột vào Menu chọn đến Quick create và tìm đến mục Laravel.
Một cửa sổ yêu cầu nhập tên dự án, ví dụ ở đây nhập dự án là allaravel.com, khi click
Ok, màn hình dòng lênh xuất hiện, chạy các kịch bản cài đặt dự án bao gồm:
Tạo database với tên chính là tên dự án
Tải khung dự án Laravel với phiên bản mới nhất
Tự động tạo host ảo, ví dụ dự án ở đây là allaravel.com thì sẽ tự động tạo ra tên miền ảo http://allaravel.com.dev
Cách 2: Cài đặt Laravel thông qua Composer
Bạn di chuyển thẳng vào thư mục htdocs của XAMPP Tại đây, bạn mở cửa sổ lệnh và
gõ “composer create-project –prefer-dist laravel/laravel blog” Trong đó, blog chính là tên thư mục laravel project của bạn Quá trình cài đặt đã hoàn tất!
Sau khi cài đặt hoàn tất, bạn mở WebServer, đến thư mục Public trong thư mục
Laravel project hoặc từ thư mục Laravel project, gõ lệnh: “php artisan serve” Màn hình console sẽ xuất hiện thông báo: “Laravel development server started on
Trang 18Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1 Yêu cầu
1.1 Yêu cầu chức năng
Xây dựng một website đặt tour du lịch online với một hệ thống xử lý quá trình đặt tourgiữa khách hàng và chủ công ty, giữa các đối tác với công ty
1.1.1 Đối với người dùng
- Xem, tìm kiếm các tour du lịch có sẵn
- Đặt tour du lịch theo nhu cầu: địa điểm, giá, số người, ngày
- Xem, tìm kiếm vé máy bay
- Đặt vé máy bay theo nhu cầu: hãng, giá, số người, ngày bay, giờ xuất phát…
- Xem, tìm kiếm các khách sạn resort nghỉ dưỡng
- Đặt khách sạn, resort theo nhu cầu: loại phòng, số người, giá…
- Đăng nhập, đăng ký tài khoản để sử dụng trên hệ thống
- Liên hệ với chủ doanh nghiệp
1.1.2 Đối với người quản trị hệ thống
- Quản lý các tour, chuyến bay, khách sạn resort
- Quản lý tài khoản đăng nhập của người dùng
- Quản lý thông tin của người dùng
- Kiểm tra thông tin các tour được khách đặt
1.1.3 Yêu cầu đối với hệ thống
- Để thực hiện được điều này, hệ thống cần đạt được các yêu cầu:
- Hệ thống quản lý thông tin về các tour, chuyến bay, khách sạn resort
- Hệ thống cho phép tìm kiếm theo các từ khoá tương ứng
- Hệ thống quản lý thông tin khách hàng:tên, email, số điện thoại,…
- Hệ thống cho phép đánh giá, review về dịch vụ
- Hệ thống quản lý, thống kê cho người quản trị
1.2 Yêu cầu phi chức năng
1 Giao diện Giao diện phải đẹp, thân thiện với người sử dụng
2 Tốc độ xử lý Hệ thống phải xử lý nhanh chóng và chính xác
3 Bảo mật Có tính bảo mật và an toàn cao
4 Tương tích Hệ thống phải tương thích với đa trình duyệt và hệ
điều hành
Bảng 1.1 - Bảng yêu cầu phi chức năng
2 Các tác nhân chính
Dựa vào yêu cầu trên, có thể xác định các tác nhân chính của hệ thống như sau:
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 19- Tác nhân quản trị: người thực hiện các chức năng quản trị hệ thống, tài khoản, khách hàng, quản lý giao diện Để thực hiện các chức năng quản trị trong hệ thống tác nhân này bắt buộc phải thực hiện đăng nhập.
- Tác nhân khách hàng: có thể thực hiện các chức năng như đăng ký tài khoản, đăng nhập Tìm kiếm dịch vụ, xem tin tức, đặt dịch vụ, đánh giá…
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 20Chương 3 XÂY DỰNG WEBSITE
1 Giao diện website
1.1 Giao diện trang chủ
Hình 3.1 - Giao diện trang chủ
Hình 3.2 - Giao diện trang chủ
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 21Hình 3.3 - Giao diện trang chủ
● Trang chủ gồm:
✔ Banner chính ở phần home
✔ Phần bài viết giới thiệu
✔ Phần slide show tour hot nhất: hiển thị những tour mới, hot được nhiều người đặt
✔ Phần khoảnh khắc nổi bật: hiển thị những bức ảnh, kỉ niệm nổi bật của du khách khi đi tour
✔ Phần đánh giá nổi bật của những khách hàng thân thiết
1.2 Giao diện dịch vụ tour du lịch
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 22Hình 3.4 - Giao diện dịch vụ tour du lịch
● Trang dịch vụ tour: hiển thị các tour du lịch có sẵn, khách hàng có thể tìm kiếm tour Sau khi lựa chọn tour thích hợp, khách hàng sẽ bấm nút chọn để đặt tour
Downloaded by tran quang (quangsuphamhoak35@gmail.com)
Trang 23Hình 3.5 - Giao diện đặt tour chi tiết
● Trang đặt tour chi tiết: hiển thị các ô nhập thông tin từ người dùng, kiểm tra người dùng có nhập đầy đủ, định dạng email và số điện thoại có đúng hay không và sau khi người dùng bấm nút đặt tour thì yêu cầu sẽ được gửi đến người quản trị
1.3 Giao diện trang dịch vụ vé máy bay
Hình 3.6 - Trang dịch vụ vé máy bay
● Trang này cho phép người dùng xem, tìm kiếm vé máy bay theo các tiêu chí như hãng hàng không, ngày đi, khoảng giá… Sau khi người dùng ấn nút chọn,
hệ thống sẽ chuyển hướng sang trang đặt vé máy bay chi tiết
Downloaded by tran quang (quangsuphamhoak35@gmail.com)