Mục tiêu nghiên cứu đề tài là tạo dựng một website cho Baobab homestay dựa trên các ngôn ngữ lập trình web và framework CodeIgiter đáp ứng được các yêu cầu: Thiết kế lịch sự, đơn giản, sang trọng, nhưng vẫn đảm bảo sự tinh tế. Thiết kế website phải thể hiện được hình ảnh đẹp của Baobab homestay. Tính năng đặt phòng thuận tiện, nhanh chóng. Tính năng quản lí đặt phòng. Trang giới thiệu Baobab homestay và các dịch vụ của Baobab homestay.. Website phải đáp ứng được tính bảo mật.
Trang 1TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
Đà Nẵng, 06/2019
Trang 3MỞ ĐẦU
Khoảng vài năm trở lại đây, loại hình lưu trú ngắn hạn homestay thực sự bùng nổ khi nhu cầu khách hàng lựa chọn homestay để nghỉ dưỡng ngày càng tăng và kéo theo đó nhiều người cũng “đua nhau” đầu tư kinh doanh loại hình sản phẩm, dịch vụ này Ngoài nhu cầu từ khách hàng thì các ưu thế vượt trội so với thị trường như giá cả, tiện ích và sự đa dạng cũng là những yếu tố thúc đẩy So với khách sạn từ 3 đến 4 sao, giá thuê homestay tương đương, có đôi khi còn rẻ hơn, chỉ cần bỏ từ vài trăm nghìn là bạn đã
có thể sở hữu cho mình một không gian vô cùng tiện ích
Đôi với khách du lịch ngày nay, càng ngày khách càng đòi hỏi cao hơn từ các dịch vụ của homestay như: wifi miễn phí, hệ thống giải trí hiện đại, những trải nghiệm độc nhất, check-in, check-out nhanh chóng… Đó cũng là thách thức trong việc cạnh tranh giữa các homestay
Để chủ động hơn về công nghệ và giảm thiểu chi phí đặt phòng đã được chiết khấu qua các trung gian hệ thống đặt phòng online Nhiều homestay đã tự xây dựng hệ thống website đặt phòng riêng của mình Tại đó khách du lịch sẽ có mức giá lưu trú hợp lí hơn
1 Lý do chọn đề tài
Baobab homestay nằm trên đường Bùi Hữu Nghĩa, thuộc phường An Hải Bắc, quận Sơn Trà, thành phố Đà Nẵng Baobab homestay chuyên cung cấp các phòng ở lưu trú cỡ nhỏ và vừa cho các cá nhân hay gia đình du lịch xa đến với Đà Nẵng muốn có một
sự lựa chọn phù hợp về giá cho chỗ ở qua đêm hoặc dài hạn
Baobab homestay hiện tại đang trong giai đoạn phát triển, Baobab homestay không chỉ muốn dừng lại ở việc đặt booking tại các trang booking lớn Nên Baobab homestay muốn có một website riêng giúp khách hàng có thể booking ngay tại website của Baobab
Trang 4homestay Bên cạnh đó website của Baobab homestay có thể giúp quảng cáo chi tiết hơn cho các dịch vụ của mình
2 Mục tiêu và nhiệm vụ nghiên cứu
Tạo dựng một website cho Baobab homestay dựa trên các ngôn ngữ lập trình web và framework CodeIgiter đáp ứng được các yêu cầu:
- Thiết kế lịch sự, đơn giản, sang trọng, nhưng vẫn đảm bảo sự tinh tế Thiết kế website phải thể hiện được hình ảnh đẹp của Baobab homestay
- Tính năng đặt phòng thuận tiện, nhanh chóng
- Tính năng quản lí đặt phòng
- Trang giới thiệu Baobab homestay và các dịch vụ của Baobab homestay
- Website phải đáp ứng được tính bảo mật
- Phải dễ sử dụng đối với người quản lí và cả người dùng
3 Đối tƣợng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
o Baobab homestay
o Ngôn ngữ lập trình web PHP; HTML, CSS, Javascript
o Framework CodeIgniter 3.10
- Phạm vi nghiên cứu:
o Dịch vụ đặt phòng của Baobab homestay
o Thông tin phòng ở của Baobab homestay
- Nghiên cứu lí thuyết: Nghiên cứu lí thuyết về thiết kế web (thiết kế giao diện với ngôn ngữ HTML, CSS, Javascript,…), lập trình web (ngôn ngữ PHP, framework Codeigniter và hệ QT CSDL MySQL)
Trang 5website thuộc lĩnh vực Homestay, Khách sạn, Nhà hàng, Khu nghỉ dưỡng để vận dụng lập trình xây dựng webssite cho Baobab homestay một cách hợp lí
Chương 2 Phân tích thiết kế
Chương 3 Website Demo
Trang 6CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 NGÔN NGỮ LẬP TRÌNH PHP
PHP (viết tắt hồi quy "PHP: 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 dụng viết cho máy chủ, 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ẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
1.2 NHỮNG ĐẶC TRƯNG CƠ BẢN CỦA PHP
1.3 ƯU VÀ NHƯỢC ĐIỂM CỦA PHP
1.4 MÔ HÌNH PHÁT TRIỂN WEBSITE MVC
Trang 7CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 ĐẶT VẤN ĐỀ
Dịch vụ cung cấp phòng lưu trú homestay giá rẻ ngày càng nở
rộ Kéo theo đó là các dịch vụ liên kết và phân phối đặt phòng như Booking, Airbnb hay tại Việt Nam là Luxstay,… ngày một nhiều Giả sử chỉ có một Booking thay vì có nhiều các dịch vụ phân phối khác tương tự Chủ homestay sẽ liên kết với Booking, và sử dụng công nghệ của Booking để quản lí việc đặt phòng Khách du lịch có nhu cầu sẽ tìm đến homestay qua Booking hoặc chủ của homestay sẽ quảng cáo bên ngoài và đưa khách đến với Booking thông qua các đường link Booking sẽ trích tiền đặt phòng ở mức phần trăm nhất định Công việc của homestay về việc đặt phòng chỉ dừng lại ở Booking
Bây giờ có rất nhiều dịch vụ như Booking, nhiều homestay sẽ lựa chọn hầu hết các dịch vụ này, nhằm đảm bảo phòng của homestay tiếp cận được đến hết hầu hết khách du lịch Thời gian của chủ homestay dành ra cho các dịch vụ này sẽ tăng lên Quản lí giá phòng tại mỗi dịch vụ sẽ khác nhau, công nghệ mỗi dịch vụ cũng lại khác nhau Việc cập nhật tình trạng phòng đến các dịch vụ sẽ không đồng đều và kịp thời
Vậy, một homestay có thể làm chủ được công nghệ đặt phòng, thông báo chính xác kịp thời tình trạng phòng của homestay, cũng như giá phòng sẽ ở mức hợp lí khi không phải chiết khấu qua các khâu trung gian sẽ là điều đáng thực hiện
2.2 PHÂN TÍCH THIẾT KẾ
2.2.1 Yêu cầu phi chức năng
2.2.2 Yêu cầu chức năng
2.3 BIỂU ĐỒ TRƯỜNG HỢP SỬ DỤNG
2.3.1 Danh sách các tác nhân sử dụng hệ thống
Trang 8STT Tác nhân Ý nghĩa
1 Người dùng chung Người truy cập vào website
2 Khách thuê Người truy cập vào website và đặt
phòng trên website
3 Người quản lí Người quản lí hệ thống(chủ homestay)
- Người dùng chung: tác nhân có thể xem các thông tin trên website như thông tin phòng ở nhưng không đặt phòng
- Khách thuê: tác nhân có thể xem các thông tin trên website giống người dùng chung nhưng là người đặt phòng trực tuyến Có thể đã từng đặt trước đó hoặc là khách thuê mới
- Người quản lí: tác nhân có thể sử dụng các chức năng của hệ thống như cập nhật thông tin phòng, kiểm tra thông tin các đơn thuê phòng, kiểm tra hoặc cập nhật thông tin khách thuê,…
2.3.2 Các biểu đồ trường hợp sử dụng của hệ thống
Hình 2.1 Biểu đồ trường hợp sử dụng tổng quát
Trang 9Hình 2.2 Biểu đồ trường hợp sử dụng cập nhật danh mục phòng
Hình 2.3 Biểu đồ trường hợp sử dụng cập nhật danh mục đơn thuê
Hình 2.4 Biểu đồ trường hợp sử dụng cập nhật danh mục khách thuê
Trang 10Hình 2.5 Biểu đồ trường hợp sử dụng thêm mới đơn thuê
Tên thuộc tính Kiểu dữ liệu Chú thích
room_id int(11) Mã phòng(khóa chính)
Trang 11price varchar(255) Giá phòng
short_desc varchar(255) Mô tả ngắn
thumbnail_image text Hình ảnh đại diện
phòng đã được thuê
2.5.2 Bảng orders
Bảng 2.2 Bảng từ điển đơn thuê phòng
Tên thuộc tính Kiểu dữ liệu Chú thích
order_id int(11) Mã đơn thuê phòng(khóa chính) room_id int(11) Mã phòng(khóa ngoại)
status int(11)
Trạng thái đơn thuê(1: chờ xác nhận; 2: chờ checkin; 3: chờ checkout; 4: đã checkout và thanh
toán; 5: đã hủy) total varchar(11) Tổng tiền đơn thuê
client_id int(11) Mã khách hàng(khóa ngoại)
Trang 12token text Mã xác nhận đơn thuê
date datetime Ngày thực hiện đặt phòng
2.5.3 Bảng client
Bảng 2.3 Bảng từ điển khách thuê
Tên thuộc tính Kiểu dữ liệu Chú thích
client_id int(11) Mã khách thuê(khóa chính) fullname varchar(255) Tên đầy đủ khách thuê email varchar(60) Email khách thuê phone varchar(20) Số điện thoại khách thuê address varchar(255) Địa chỉ khách thuê date_used datetime Ngày đầu sử dụng dịch vụ
status int(11)
Trạng thái khách thuê(1: được thuê; 2: bị chặn thuê; 3: cần xác nhận đơn vừa đặt)
2.5.4 Bảng user
Bảng 2.4 Bảng từ điển tài khoản
Tên thuộc tính Kiểu dữ liệu Chú thích
user_id int(11) Mã tài khoản(khóa chính) user_name varchar(22) Tên của chủ tài khoản user_email varchar(60) Địa chỉ email đăng nhập user_password varchar(40) Mật khẩu đăng nhập
Trang 133.1 GIAO DIỆN WEBSITE DÀNH CHO NGƯỜI DÙNG CHUNG
Hình 3.1 Giao diện tổng quan dành cho khách
Trang 14Hình 3.2 Giao diện đầu trang và kiểm tra phòng
Hình 3.3 Giao diện trả kết quả kiểm tra phòng trống
Trang 15Hình 3.4 Giao diện thân trang và thông tin phòng
Hình 3.5 Giao diện thông tin chi tiết phòng
Trang 163.2 GIAO DIỆN ĐẶT PHÒNG DÀNH CHO KHÁCH THUÊ PHÒNG
Hình 3.6 Giao diện chọn ngày đặt phòng
Trang 17Hình 3.8 Giao diện thông báo kết quả đặt phòng
3.3 GIAO DIỆN QUẢN LÍ DÀNH CHO NGƯỜI QUẢN LÍ
Hình 3.9 Giao diện đăng nhập của quản lí
Trang 18Hình 3.10 Giao diện quản lí phòng
Hình 3.11 Giao diện thêm mới phòng
Trang 19Hình 3.12 Giao diện cập nhật thông tin phòng
Hình 3.13 Giao diện cập nhật tài khoản quản trị
Trang 20Hình 3.14 Giao diện quản lí khách thông tin khách từng thuê
Hình 3.15 Giao diện quản lí thông tin đơn đặt phòng
Trang 21KẾT LUẬN
Xây dựng hệ thống website theo mô hình mới như SPA(Single page application - ứng dụng website một trang) là một thách thức không hề nhỏ Thứ nhất, mặc dù độ phổ biến của mô hình này khá rộng, nhưng do thời gian tiếp cận của em đối với mô hình này lại chỉ
có hạn Thứ hai, đây là lần đầu tiên em xây dựng website áp dụng nhiều mô hình và công nghệ như SPA, MVC, framework CodeIgniter,… vào thực tế Do đó quá trình thực hiện đề tài gặp rất nhiều bug, mất khá nhiều thời gian để tìm hiểu kiến thức mới và hiểu
để áp dụng vào đề tài Ngoài ra, để một website có một trải nghiệm tốt đối với người dùng thì phải cần nhiều yếu tố ví dụ như giao diện Phần giao diện này cũng mất khá nhiều thời gian nghiên cứu trong đề tài, nhưng cũng không thể tránh các thiếu sót về mặc thẩm mĩ Dưới đây là phần trình bày những gì em đã thực hiện được trong đề tài lần này:
- Về giao diện: Giao diện được xây dựng khá hoàn chỉnh, tương ứng với từng đối tượng cụ thể, ở đây có ba đối tượng là Người dùng chung, Người thuê phòng và Người quản lí homestay
- Với người quản lí thì có thể thực hiện được các chức năng: Cập nhật thông tin phòng ở lên website, trong đó có thêm, sửa, xóa phòng; Thay đổi mật khẩu của tài khoản quản lí; Quản lí các đơn đặt phòng của khách thuê; Quản lí thông tin của các khách đã từng thuê phòng trên website
- Với người dùng là khách thuê phòng online: Kiểm tra phòng trống khả dụng tương ứng với ngày muốn lưu trú; Đặt phòng online; Thay đổi thông tin liên hệ của chính mình trong các lần đặt phòng tiếp theo
Mặc dù website còn thiếu sót nhiều chức năng, hoặc có nhiều
dự định em chưa thể thực hiện hết trong đề tài do thời gian có hạn
Trang 22Em hi vọng sẽ có thể hoàn thiện trong thời gian đến Những vấn đề tồn đọng mà website chưa đáp ứng:
- Thiếu cung cấp tài khoản quản lí cho nhân viên của homestay
- Thiếu mục tin bài blog du lịch
- Chưa có chức năng thanh toán online cọc phòng, nhằm đảm bảo quyền lợi của homestay
- Mặc dù một số phần lập trình có hướng đến chuẩn SEO, tuy nhiên hiệu quả chưa đạt