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

Xây dựng và phát triển hệ thống kết nối khách du lịch và hướng dẫn viên

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 (5.77 MB, 85 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ

......................

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG VÀ PHÁT TRIỂN HỆ THỐNG KẾT NỐI
KHÁCH DU LỊCH VÀ HƯỚNG DẪN VIÊN
ĐỊA PHƯƠNG

Ngành: Công nghệ thông tin
Mã số: 7.48.02.01
Sinh viên thực hiện:
Mã SV: ‘‘
Người hướng dẫn:
ThS. ‘‘
Khoa Công nghệ thông tin - Học viện Kỹ thuật mật mã

Hà Nội, 2023

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ

......................

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG VÀ PHÁT TRIỂN HỆ THỐNG KẾT NỐI
KHÁCH DU LỊCH VÀ HƯỚNG DẪN VIÊN
ĐỊA PHƯƠNG



Ngành: Công nghệ thông tin
Mã số: 7.48.02.01
Sinh viên thực hiện:
Mã SV: ‘‘
Người hướng dẫn:
ThS. ‘‘
Khoa Công nghệ thông tin - Học viện Kỹ thuật mật mã

Hà Nội, 2023

MỤC LỤC

DANH MỤC KÍ HIỆU VÀ VIẾT TẮT.................................................................................iii
DANH MỤC HÌNH VẼ...........................................................................................................iv
DANH MỤC BẢNG BIỂU......................................................................................................vi
LỜI CẢM ƠN.........................................................................................................................vii
LỜI MỞ ĐẦU........................................................................................................................viii
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI...............................................................................1
1.1 Khảo sát về hệ thống và đề xuất giải pháp.........................................................................1
1.1.1 Sự phát triển của du lịch....................................................................................................1
1.1.2 Đánh giá ưu nhược điểm hệ thống thuê Hướng dẫn viên thịnh hành................................1
1.1.3 Một số website/app kết nối Hướng dẫn viên thịnh hành...................................................2
1.2 Đối tượng và phạm vi nghiên cứu......................................................................................4
1.3 Mục tiêu đề tài.....................................................................................................................4
1.4 Hướng giải quyết.................................................................................................................4
1.5 Cơ sở lý thuyết.....................................................................................................................5
1.5.1 Tổng quan lập trình Web...................................................................................................5
1.5.2 Tổng quan lập trình Android..............................................................................................5
1.5.3 Giới thiệu công nghệ sử dụng............................................................................................7

1.6 Tổng kết chương................................................................................................................11
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG..........................................................12
2.1 Phân tích, mơ tả hệ thống.................................................................................................12
2.1.1 Giới thiệu chung về hệ thống...........................................................................................12
2.1.2 . Mô hình triển khai hệ thống...........................................................................................12
2.1.3 . Phân tích u cầu chức năng/ phi chức năng.................................................................13
2.2 Phân tích, thiết kế hệ thống..............................................................................................13
2.2.1 Phân tích, thiết kế hệ thống..............................................................................................13
2.2.2 Xác định Actor và Usecase..............................................................................................14

i

2.2.3 Biểu đồ hoạt động............................................................................................................24
2.2.4 Biểu đồ tuần tự các chức năng chính...............................................................................30
2.3 Phân tích, thiết kế cơ sở dữ liệu........................................................................................34
2.3.1 Phân tích các yêu cầu lưu trữ dữ liệu...............................................................................34
2.3.2 Thiết kế cơ sở dữ liệu tổng quát.......................................................................................35
2.3.3 Thiết kế cơ sở dữ liệu chi tiết...........................................................................................36
2.3.4 Biểu đồ lớp database........................................................................................................43
2.4 Tổng kết chương................................................................................................................43
CHƯƠNG 3. TRIỂN KHAI HỆ THỐNG VÀ KẾT QUẢ THỰC NGHIỆM...................44
3.1 Cấu trúc hệ thống..............................................................................................................44
3.1 Triển khai mã nguồn một số chức năng chính................................................................45
3.1.1 Đặt tour du lịch................................................................................................................45
3.1.2 Chức năng nạp tiền..........................................................................................................47
3.2 Mơ hình triển khai và kết quả thực nghiệm.....................................................................49
3.2.1 Hệ thống cho người dùng.................................................................................................49
3.2.2 Hệ thống website quản lý.................................................................................................61
3.2.3 Đánh giá mơ hình.............................................................................................................64
3.3 Tổng kết chương................................................................................................................64

KẾT LUẬN..............................................................................................................................65
TÀI LIỆU THAM KHẢO......................................................................................................66

ii

Từ viết tắt DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
HDV
API Mô tả
Hướng dẫn viên
Application Programming Interface

iii

DANH MỤC HÌNH VẼ

Hình 1.1 Hệ điều hành Android....................................................................................6
Hình 1.2 React JS.........................................................................................................7
Hình 1.3 React Native...................................................................................................8
Hình 1.4 Nest JS...........................................................................................................9
Hình 1.5 Hệ quản trị cơ sở dữ liệu MySQL................................................................10
Hình 2.1 Mơ hình hệ thống.........................................................................................12
Hình 2.2 Biểu đồ useCase Tổng quát..........................................................................15
Hình 2.3 Biểu đồ UseCase Quản lý tài khoản cá nhân................................................15
Hình 2.4 Biểu đồ UseCase Thanh tốn.......................................................................16
Hình 2.5 Biểu đồ UseCase Tham gia tour...................................................................16
Hình 2.6 Biểu đồ UseCase Quản lý diễn đàn..............................................................17
Hình 2.7 Biểu đồ UseCase tham gia diễn đàn.............................................................17
Hình 2.8 Biểu đồ UseCase tham gia tour....................................................................18
Hình 2.9 Biểu đồ UseCase Quản lý mã giảm giá........................................................18
Hình 2.10 Biểu đồ UseCase Quản lý tài khoản Mod..................................................18

Hình 2.11 Biểu đồ hoạt động đăng nhập.....................................................................24
Hình 2.12 Biểu đồ hoạt động Quên mật khẩu.............................................................24
Hình 2.13 Biểu đồ hoạt động đăng ký tài khoản HDV...............................................25
Hình 2.14 Biểu đồ hoạt động đặt tour.........................................................................25
Hình 2.15 Biểu đồ hoạt động đặt cọc tour..................................................................26
Hình 2.16 Biểu đồ hoạt động bắt đầu Tour.................................................................26
Hình 2.17 Biểu đồ hoạt động đánh giá Tour...............................................................27
Hình 2.18 Biểu đồ hoạt động thanh tốn.....................................................................27
Hình 2.19 Biểu đồ hoạt động thay đổi trạng thái bài viết............................................28
Hình 2.20 Biểu đồ hoạt động thêm mã giảm giá.........................................................28
Hình 2.21 Biểu đồ hoạt động thay đổi trạng thái tài khoản.........................................29
Hình 2.22 Biểu đồ hoạt động thêm bài viết.................................................................29
Hình 2.23 Biểu đồ tuần tự đặt tour..............................................................................30
Hình 2.24 Biểu đồ tuần tự HDV phản hồi yêu cầu.....................................................30

iv

Hình 2.25 Biểu đồ tuần tự user thanh tốn Tour.........................................................31
Hình 2.26 Biểu đồ tuần tự HDV bắt đầu chuyến đi....................................................31
Hình 2.27 Biểu đồ tuần tự user kết thúc chuyến đi.....................................................32
Hình 2.28 Biểu đồ tuần tự đánh giá tour.....................................................................32
Hình 2.29 Biểu đồ tuần tự nạp tiền.............................................................................33
Hình 2.30 Biểu đồ tuần tự HDV/User viết bài............................................................33
Hình 2.31 Biểu đồ tuần tự tạo yêu cầu rút tiền............................................................34
Hình 2.32 Database.....................................................................................................43
Hình 3.1Kiến truc Back-end.......................................................................................44
Hình 3.2 Kiến trúc Website........................................................................................44
Hình 3.3 Kiến trúc App..............................................................................................44
Hình 3.4 Giao diện trang chủ.....................................................................................49
Hình 3.5 Giao diện điểm đến......................................................................................50

Hình 3.6 Giao diện tour..............................................................................................50
Hình 3.7 Chi tiết tour..................................................................................................51
Hình 3.8 Giao diện Hướng dẫn viên...........................................................................52
Hình 3.9 Chi tiêt HDV................................................................................................53
Hình 3.10 Giao diện tin tức.........................................................................................53
Hình 3.11 Màn chuyến đi của bạn..............................................................................54
Hình 3.12 Giao diện Mã giảm giá...............................................................................54
Hình 3.13 Danh sách yêu cầu.....................................................................................55
Hình 3.14 Giao diện chat............................................................................................55
Hình 3.15 Thanh tốn.................................................................................................56
Hình 3.16 Lịch sử giao dịch........................................................................................56
Hình 3.17 Giao hiện đăng nhập App...........................................................................57
Hình 3.18 Giao hiện trang chủ App người dùng.........................................................58
Hình 3.19 Giao hiện Danh sách tỉnh thành.................................................................58
Hình 3.20 Giao diện chi tiết một tỉnh..........................................................................58
Hình 3.21 Giao diện liên hệ giữa HDV và User.........................................................59
Hình 3.22 Danh sách các tour trong App....................................................................59

v

Hình 3.23 Giao diện chuyến đi của tơi........................................................................59
Hình 3.24 Mã giảm giá...............................................................................................60
Hình 3.25 Màn lịch sử giao dịch.................................................................................60
Hình 3.26 Màn tạo yêu cầu rút tiền.............................................................................60
Hình 3.27 Quản lý user...............................................................................................61
Hình 3.28 Quản lý Admin...........................................................................................61
Hình 3.29 Quản lý HDV.............................................................................................62
Hình 3.30 Quản lý Tour..............................................................................................62
Hình 3.31 Quản lý bài viết..........................................................................................63
Hình 3.32 Quản lý mã giảm giá..................................................................................63

Hình 3.33 Thống kê....................................................................................................64

vi

DANH MỤC BẢNG BIỂU

Bảng 2.1 Đặc tả Usecase Đăng Nhập hệ thống người dùng.........................................19
Bảng 2.2 Đặc tả Usecase Đăng Xuất...........................................................................19
Bảng 2.3 Đặc tả Usecase Xem Thông Tin Cá Nhân....................................................19
Bảng 2.4 Đặc tả Usecase Quản lý bài viết...................................................................20
Bảng 2.5 Đặc tả Usecase tham gia tour........................................................................20
Bảng 2.6 Đặc tả Usecase tạo tour................................................................................21
Bảng 2.7 Đặc tả Usecase Quản lý mã giảm giá...........................................................21
Bảng 2.8 Đặc tả Usecase Thống kê..............................................................................22
Bảng 2.9 Đặc tả Usecase Quản lý tài khoản mod........................................................22
Bảng 2.10 Đặc tả Usecase nạp tiền..............................................................................23
Bảng 2.11 Đặc tả Usecase liên hệ HDV......................................................................23
Bảng 2.12 Bảng dữ liệu tổng quát................................................................................35
Bảng 2.13 Bảng User...................................................................................................36
Bảng 2.14 Bảng Admin...............................................................................................36
Bảng 2.15 Bảng Chat...................................................................................................37
Bảng 2.16 Bảng Order.................................................................................................37
Bảng 2.17 Bảng Order Schedule..................................................................................38
Bảng 2.18 Bảng Provinces...........................................................................................38
Bảng 2.19 Bảng Tour_guides......................................................................................38
Bảng 2.20 Bảng Posts..................................................................................................39
Bảng 2.21 Bảng User_request......................................................................................40
Bảng 2.22 Bảng Vouchers...........................................................................................40
Bảng 2.23 Bảng Reports.............................................................................................41
Bảng 2.24 Bảng Tour_schedule...................................................................................41

Bảng 2.25 Bảng Transactions......................................................................................41
Bảng 2.26 Tours..........................................................................................................42

vii

LỜI CẢM ƠN

Trong quá trình thực hiện đồ án tốt nghiệp này, em đã nhận được sự giúp đỡ tận
tình của cán bộ hướng dẫn là Th.S ‘‘ – Giảng viên khoa Công nghệ thông tin Học viện
Kỹ thuật Mật mã, sự quan tâm sâu sát của cán bộ Hệ quản lý học viên, sự động viên
của người thân và bạn bè.

Đồng thời, em xin gửi lời cảm ơn đến các thầy cô trong Học viện Kỹ thuật Mật
mã đã truyền đạt cho em những kiến thức từ cơ bản đến nâng cao suốt năm năm học
giúp em có được những kiến thức cơ bản để em có thể hồn thành được đồ án này.

Và cuối cùng em muốn gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, người thân
đã quan tâm, góp ý và giúp đỡ em trong suốt quá trình học tập và nghiên cứu, những
điều kiện tốt nhất để em hoàn thành đồ án tốt nghiệp này.

Do thời gian nghiên cứu và làm việc trong lĩnh vực di động còn hạn chế, vậy
nên chắc chắn sẽ khơng thể tránh khỏi những thiếu sót khi thực hiện đồ án, em rất
mong nhận được sự góp ý từ thầy cơ để có thể hồn thiện tốt hơn đồ án của mình.

Em xin chân thành cảm ơn!
SINH VIÊN THỰC HIỆN ĐỒ ÁN

viii

LỜI MỞ ĐẦU


Trong thời đại bùng nổ thông tin, mạng Internet đã trở thành một phần của cuộc
sống hiện đại và ngày càng đóng vai trị quan trọng đối với con người, chúng ta có thể
thấy được Internet đã và đang chi phối hầu như mọi lĩnh vực của cuộc sống từ kinh tế,
giải trí đến giáo dục và trong lĩnh vực y tế, v.v.

Dựa trên số liệu thống kê, tính chung năm 2022 lượng khách du lịch nội địa đạt
khoảng 40 triệu lượt; tổng thu từ khách du lịch đạt 180.000 tỷ đồng. Trước tình hình
ngành du lịch dần trở lại ổn định sau một khoảng thời gian “đóng băng” bởi sự lan
rộng của đại dịch Covid-19. Năm 2023 được dự đoán sẽ là một năm vực dậy lại ngành
du lịch bởi xu hướng đi du lịch sau dịch sẽ phát triển rực rỡ.

Và trong mỗi chuyến du lịch, đặc biệt là những chuyến đi đến những địa
phương mới, hướng dẫn viên du lịch là một người bạn đồng hành vô cùng quan trọng.
Trong một chuyến du lịch như vậy tưởng chừng rất đơn giản nhưng sẽ có nhiều vấn đề
được đặt ra: Mình sẽ di chuyển ở đó bằng phương tiện gì là tiện nhất? Ăn uống chỗ
nào ngon, rẻ, hợp khẩu vị nhất? Khách sạn ở đó có rẻ hơn đặt qua mạng internet
khơng, có an ninh không? Đi chơi chỗ nào đẹp, chỗ nào vui?...

Dưới sự hướng dẫn của ThS. ‘‘ cũng như những góp ý từ các thầy cô trong
khoa em đã chọn đề tài: “Xây dựng và phát triển hệ thống kết nối khách du lịch và
hướng dẫn viên địa phương” làm đồ án tốt nghiệp của mình.

Sau thời gian thực hiện đồ án, các mục tiêu về cơ bản đã đạt được. Tuy nhiên
không thể tránh khỏi những thiếu sót, em rất mong nhận được sự cảm thơng, góp ý của
các q thầy cơ, cũng như các bạn học viên để đồ án này được hoàn thiện hơn.

Em xin chân thành cảm ơn!

SINH VIÊN THỰC HIỆN ĐỒ ÁN


ix

LỜI CAM ĐOAN

Em là , mã số sinh viên ‘‘, sinh viên lớp CT3B, khóa AT15. Người hướng dẫn
là ThS. ‘‘. Em xin cam đoan toàn bộ nội dung được trình bày trong đồ án “Xây dựng
và phát triển hệ thống kết nối khách du lịch và hướng dẫn viên địa phương” là kết quả
quá trình tìm hiểu và nghiên cứu của em. Các dữ liệu được nêu trong đồ án là hoàn
toàn trung thực, phản ánh đúng kết quả tính tốn và khảo sát thực tế. Mọi thơng tin
trích dẫn đều tuân thủ các quy định về sở hữu trí tuệ; các tài liệu tham khảo được liệt
kê rõ ràng. Em xin chịu hoàn toàn trách nhiệm với những nội dung được viết trong đồ
án này.

Hà Nội, ngày 21 tháng 5 năm 2023
Người cam đoan

x

CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI

1.1 Khảo sát về hệ thống và đề xuất giải pháp

1.1.1 Sự phát triển của du lịch
Trong những năm qua, du lịch Việt Nam đang trên đà phát triển, lượng khách

quốc tế đến cũng như khách du lịch nội địa ngày càng tăng. Du lịch Việt Nam ngày
càng được biết đến nhiều hơn trên thế giới, nhiều điểm đến trong nước được bình chọn
là địa chỉ u thích của du khách. Du lịch đang ngày càng nhận được sự quan tâm của
tồn xã hội. Chất lượng và tính cạnh tranh của du lịch là những vấn đề nhận được

nhiều sự chú ý và thảo luận rộng rãi. Một cách tiếp cận đa chiều về đánh giá chất
lượng du lịch sẽ góp phần hình thành các giải pháp đúng đắn nâng cao chất lượng và
tính cạnh tranh của du lịch Việt Nam.

Khu du lịch của nước ta được đánh giá rất cao từ những bờ biển kéo dài đẹp
nhất thế giới, những ngôi đền cổ kính và những con người chất phác chân thành.
Chính những điều kiện đó đã tạo đà phát triển mạnh mẽ cho du lịch Việt Nam. Xu
hướng du lịch trong khoảng cách gần bằng phương tiện cá nhân sẽ thay thế cho những
chuyến bay xuyên quốc gia, lục địa để đảm bảo an toàn sức khỏe trong bối cảnh mới.
Do đó, các chuyến đi sẽ được rút ngắn, hướng về các di sản văn hóa, thiên nhiên, tránh
những tụ điểm tập trung đông đúcvà du lịch nội địa sẽ là xu hướng trong thời gian tới.

1.1.2 Đánh giá ưu nhược điểm hệ thống thuê Hướng dẫn viên thịnh hành
Trong mỗi chuyến du lịch, đặc biệt là những chuyến đi đến những địa phương

mới, hướng dẫn viên du lịch là một người bạn đồng hành vô cùng quan trọng. Dưới
đây là những ưu nhược điểm của hệ thống kết nối du khách và HDV du lịch:

 Ưu điểm:
Doanh nghiệp “mở cửa” 24/24: Khách hàng đưa ra quyết định để đặt tour du

lịch hoặc thuê HDV… không cần phải chờ đợi cho đến khi doanh nghiệp làm việc vào
giờ mở cửa ngày hôm sau, khi mà cuộc sống bận rộn, yếu tố nhanh và tiện lợi phải
được đặt lên hàng đầu. Sử dụng một hệ thống booking online sẽ mang lại rất nhiều

1

thuận lợi cho khách hàng, gia tăng tính chuyên nghiệp cũng như doanh số của doanh
nghiệp.


Tối đa hóa việc đặt trước: Nếu như trước đây, khi một khách hàng nào đó
muốn đặt trước, hủy hay xác nhận một HDV du lịch, họ sẽ phải gọi điện hoặc trực tiếp
đến thẳng đại lý/công ty để làm những điều này.

Thanh toán nhanh hơn: Với một hệ thống kết nối du khách và HDV, Khách
hàng cần thanh toán trước/đặt cọc cho việc đặt tour, thuê HDV, dịch vụ... Như vậy,
giúp đảm bảo khi hành trình diễn ra khơng cịn phải lo lắng về việc thanh tốn - khách
hàng có thể hồn tồn thư giãn thoải mái khi đi du lịch

Không cần gắn chặt với chiếc điện thoại: Khi một khách hàng gọi cho các đại
lý/công ty du lịch và bị chuyển đến hộp thư thoại, họ có thể gọi lại sau - hoặc là gọi
luôn cho một công ty khác. Chính vì vậy, hệ thống kết nối du khách và HDV giúp nắm
bắt được mọi hoạt động kinh doanh tiềm năng vì thơng tin, cách thức liên hệ sẽ ln
có sẵn, việc đặt tour, HDV, dịch vụ… thì ln diễn ra trên website 24/24.

 Nhược điểm

Đường truyền internet chưa được ổn định: Nếu chạy chương trình các tour,
HDV du lịch ở vùng sâu vùng xa, nơi không thể kết nối Internet, hoặc đường truyền
kém hệ thống website sẽ không hoạt động.

Chưa có sự phong phú trong sản phẩm: Để tăng thêm sự phong phú cho sản
phẩm du lịch nội địa cần đẩy mạnh các chuỗi sản phẩm tour tâm linh, tour mạo hiểm,
du lịch rừng… Đây là những loại hình du lịch tuy chỉ đáp ứng thị hiếu từng loại hình
khách hàng riêng biệt nhưng nếu kết hợp lại và đẩy mạnh sẽ tạo là động lực thu hút
khách đi du lịch.

1.1.3 Một số website/app kết nối Hướng dẫn viên thịnh hành

Hiện nay khơng khó để ta tìm thấy những Website/App tìm hướng dẫn viên du

lịch như:

Trip.me: Được thành lập từ tháng 1/2013, Trip.me là nơi mà du khách có thể
tìm thấy cho riêng mình những trải nghiệm độc đáo nhất, những tour riêng biệt để thõa
mãn đam mê cá nhân, thông qua việc đăng kí trực tiếp với các đại lí du lịch địa
phương khắp nơi trên thế giới. Với sự hỗ trợ của các chuyên gia về du lịch của Trip.me
tại mỗi đất nước cùng mạng lưới hơn 150 đại lí du lịch địa phương. Du khách sẽ có

2

những lựa chọn thật tuyệt vời cho hành trình của mình trở nên hấp dẫn, khác biệt hơn
so với những chuyến đi thông thường. Và dịch vụ của Trip.me cũng đã có mặt ở Việt
Nam và một số nước Đơng Nam Á.

Tourbylocals.com: Đây là một trang Web về dịch vụ thuê Hướng dẫn viên địa
phương thành lập từ rất sớm. Paul Melhus cùng với các đồng sự của mình cho ra đời
trang Tourbylocals.com từ năm 2008 tại thành phố Vancouver, Canada với mục đích
kết nối những du khách với dịch vụ du lịch của người bản địa. Tourbylocals hiện nay
có mặt tại 131 quốc gia cùng với hơn 1600 hướng dẫn viên cung cấp cho du khách
những chương trình tour riêng biệt nhất theo sở thích cá nhân và du khách có thể lựa
chọn những Hướng dẫn viên mà mình thấy phù hợp nhất dựa trên hồ sơ thông tin về
Hướng dẫn viên địa phương mà Tourbylocals đưa ra. Thủ đô Hà Nội hiện nay cũng đã
có ít nhất 5 Hướng dẫn viên tham gia mạng lưới của Tourbylocals.

Rent-a-guide.com: Từ những chuyến đi của riêng mình, Florian Ziegler, đã có
ý tưởng thành lập trang web Rent-a-guide về cho thuê Hướng dẫn viên địa phương.
Điều đặc biệt của trang này là du khách có thể so sánh, đánh giá về các Hướng dẫn
viên địa phương về chất lượng, giá cả, những thông tin phản hồi, kinh nghiệm tại 81
quốc gia để có sự lựa chọn ưng ý nhất cho riêng mình. Hơn 97% du khách khi sử dụng
dịch vụ của Rent-a-guide đều có phản hồi tích cực về các dịch vụ của Hướng dẫn viên

địa phương và sẵn sàng giới thiệu cho bạn bè mình về Rent-a-guide. Đây cũng là thành
công lớn nhất và là niềm tự hào không chỉ của đội ngũ điều hành mà còn của cả những
Hướng dẫn viên tham gia trên toàn thế giới.

Rentalocalfriend.com: Đây cũng là một trang kết nối khách du lịch với người
dân địa phương nhưng đúng với tên gọi của mình Rentalocalfriend có thể xem là việc
th một người bạn, một người đồng hành để, cùng ăn, cùng đi, cùng ở để du khách có
thể hiểu rõ thêm về điểm đến, về văn hóa của người bản địa. Cùng với mạng lưới trải
dài khắp các châu lục, tại những điểm đến nổi tiếng nhất, du khách dễ dàng tìm cho
mình một người bạn đồng hành để có thể khám phá một cách trọn vẹn và riêng nhất
điểm đến yêu thích của mình. “Sống một tinh thần địa phương, th một người dân địa
phương” là tiêu chi xuyên suốt mà Rentalocalfriend mang lại.

Các website đều có những tính năng rất hay trong việc thực hiện chuyên du lịch
hảo. Tuy nhiên, đa số các trang web này có cấu trúc và tổ chức thông tin cố định,

3

khơng thay đổi hoặc rất ít thay đổi chủ yếu mang tính chất giới thiệu cơng ty và sản
phẩm dịch vụ của họ.

1.2 Đối tượng và phạm vi nghiên cứu

Đối tượng: Khách du lịch, người dân, hướng dẫn viên, …

Phạm vi: Nghiên cứu và phát triển ứng dụng kết nối du khách và hướng dẫn
viên du lịch có thể áp dụng vào thực tiễn.

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


Tìm hiểu và xây dựng hệ thống thuê Hướng dẫn viên du lịch cho phép người
dùng có thể đặt tour, lựa chọn HDV, tìm kiếm và tự tạo các tour du lịch cho riêng
mình một cách dễ dàng, nhanh chóng. Tạo ra sự kết nối giữa hướng dẫn viên tại chính
địa phương với du khách, tạo nên một chuyến đi đặc biệt, thú vị, hiểu rõ hơn nơi mà
bạn muốn đến.

1.4 Hướng giải quyết

Từ những khảo sát ban đầu cùng với mục tiêu xây dựng hệ thống kết nối du
khách và hướng dẫn viên địa phương với đầy đủ các chức năng, tiện dụng, đơn giản và
dễ dử dụng, em quyết định xây dựng hệ thống với các chức năng chính sau:

 Hệ thống Website/App người dùng:
- Chức năng liên hệ HDV: Người dùng gửi yêu cầu và trao đổi với HDV về
chuyến đi
- Chức năng tạo tour du lịch: HDV tour, người dùng có thể yêu cầu chuyến đi
đó
- Chức năng xem địa danh: Người dùng có thể chọn địa phương muốn đến và
xem những thơng tin cơng khai về nơi đó trên hệ thống
- Chức năng thanh toán: Người dùng sau khi xác nhận chuyến đi thì sẽ thanh
toán tiền cho HDV
- Chức năng bài viết: Người dùng, HDV có thể viết bài chia sẻ kinh nghiệm,
kiến thức trên Website
- Chức năng đánh giá HDV: Sau mỗi chuyến đi, người dùng có thể đánh giá
tour du lịch cũng như là HDV của chuyến đi đó
- Chức năng chọn HDV, chọn Tour du lịch: Người dùng có thể tìm HDV sau
đó trao đổi với họ để lên kế hoạch cho một chuyến đi độc đáo

4


- Chức năng đăng nhập/ đăng ký.
 Website quản trị: Quản lý, thêm mới và cập nhật lại dữ liệu hiển thị trên Hệ

thống người dùng
- Quản lý tài khoản: Tài khoản được quản lý dựa trên các loại tài khoản, có 4

loại tài khoản gồm: Admin, Mod, User và HDV
- Chức năng duyệt bài viết, xóa bài viết
- Thống kê.
Trên đây là những chức năng dự kiến có trong hệ thống với mong muốn xây
dựng một hệ thống kết nôi du khách và HDV địa phương.

1.5 Cơ sở lý thuyết

1.5.1 Tổng quan lập trình Web
Lập trình web là cơng việc mà một Web Developer có nhiệm vụ lập trình để tạo

ra các website.Các Web Developer sẽ nhận toàn bộ dữ liệu từ Web Designer và
chuyển chúng thành một hệ thống webstie hồn chỉnh có tương tác giữa người dùng
với CSDL dựa trên ngơn ngữ máy tính. Bên cạnh đó, lập trình web là cơng việc đưa ra
các chuỗi mã lệnh, bố cục hợp lý, hướng dẫn thực thi để máy tính có thể hiểu được và
làm theo những gì mà lập trình viên mong muốn.

1.5.2 Tổng quan lập trình Android

1.5.2.1 Giới thiệu về hệ điều hành Android
Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux được

thiết kế dành riêng cho các thiết bị di động có màn hình cảm ứng như điện thoại thơng
minh và máy tính bảng. Ban đầu, hệ điều này này được phát triển bởi công ty Android,

với sự hỗ trợ tài chính từ Google, sau đó chính Google đã mua lại công ty này và tiếp
tục phát triển Android trở thành một nền tảng hiệu quả hơn.
- Android có khả năng tuỳ biến cao, cho phép tùy ý chỉnh sửa mà khơng có sự can

thiệp hay ràng buộc pháp lý từ Google
- Android xuất hiện trên rất nhiều mẫu thiết bị từ phân khúc bình dân đến cao cấp,

mang đến nhiều lựa chọn cho người dụng
- Kho ứng dụng Google Play Store đồ sộ, nhiều ứng hữu ích
- Giao diện thân thiện, dễ sử dụng

5

Hình 1.1 Hệ điều hành Android
1.5.2.2 Kiến trúc của Android

Hệ điều hành Android là 1 ngăn xếp các thành phần phần mềm, được chia thành
5 phần và 4 lớp chính như sau:

Linux Kernel: Dưới cùng là lớp Linux - Linux 3.6 cùng với khoảng 115 bản
vá. Lớp này cung cấp 1 cấp độ trừu tượng giữa phần cứng của thiết bị và các thành
trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn hình hiển thị...

Các thư viện: Ở trên lớp nhân Linux là tập các thư viện bao gồm WebKit -
trình duyệt Web mã nguồn mở, được biết đến như thư viện libc, cơ sở dữ liệu SQLite -
hữu dụng cho việc lưu trữ và chia sẻ dữ liệu ứng dụng, các thư viênj chơi và ghi âm
audio, video, hay các thư viện SSL chiụ trách nhiệm bảo mật Internet...

Các thư viện Android: Đây là các thư viện dựa trên Java phục vụ cho việc
phát triển Android. Ví dụ của các thư viện này bao gồm các thư viện ứng dụng dùng

để xây dựng giao diện người dùng, vẽ đồ họa hay truy cập cơ sở dữ liệu

Android Runtime.Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ dưới
lên. Phần này cung cấp 1 bộ phận quan trọng là Dalvik Vỉtual Machine - là 1 loại Java
Virtual Machine được thiết kế đặc biệt để tối ưu cho Android. Dalvik

Application Framework: Lớp Android Framework cung cấp các dịch vụ cấp
độ cao hơn cho các ứng dụng dưới dạng các lớp Java. Các nhà phát triển ứng dụng
được phép sử dụng các dịch vụ này trong ứng dụng của họ.

6

Application: Lớp trên cùng của kiến trúc là Application. Các ứng dụng bạn tạo
ra sẽ được cài đặt trên lớp này. Ví dụ như: Danh bạ, nhắn tin, trò chơi...
1.5.3 Giới thiệu công nghệ sử dụng
1.5.3.1 ReactJs

React JS là là một thư viện Javascript đang nổi lên trong những năm gần đây
với xu hướng Single Page Application. Trong khi những framework khác cố gắng
hướng đến một mơ hình MVC hồn thiện thì React nổi bật với sự đơn giản và dễ dàng
phối hợp với những thư viện Javascript khác. Nếu như AngularJS là một Framework
cho phép nhúng code javasscript trong code html thông qua các attribute như ng-
model, ng-repeat...thì với react là một library cho phép nhúng code html trong code
javascript nhờ vào JSX, bạn có thể dễ dàng lồng các đoạn HTML vào trong JS.Tích
hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn.

Hình 1.2 React JS
 Đặc tính của React JS

Tư tưởng React JS là xây dựng lên các components có tính tái sử dụng, dễ dàng

cho việc chia nhỏ vấn đề. Nó giúp chúng ta dễ dàng quản lý, mở rộng hệ thống, điều
này nếu là Angular thì địi hỏi là cấu trúc, cách viết code phải thật tối ưu.

React JS luôn giữ các components ở trạng thái stateless (nhiều nhất có thể)
khiến ta dễ dàng quản lý bởi nó chẳng khác gì một trang static HTML. Bản thân các
components này khơng có trạng thái (state) nó nhận đầu vào từ bên ngồi và chỉ hiển
thị ra dựa vào các đầu vào đó, điều này lý giải tại sao nó lại mang tính tái sử dụng
(reuse) và dễ dàng cho việc test.
 Thế mạnh của React JS

7

React JS là một framework hiển thị view chú ý đến hiệu năng (performance-
minded). Rất nhiều đối thủ nặng ký về framework MVVM mất một thời gian lớn để
hiển thị những lượng data lớn, như trong trường hợp những danh sách và tương tự.
Nhưng React thì khơng cịn vấn đề này, vì nó hiển thị những gì thay đổi.

Một trong những điểm mạnh nữa của React Js là vitual DOM – thứ nằm ẩn ben
trong mỗi view và là lý do khiến cho React đạt được hiệu năng tốt. Khi một view yêu
cầu gọi, tất cả mọi thứ sẽ được đưa vào trong một bản sao ảo của DOM ảo và DOM
thật, và thực hiện những thay đổi đơợc chỉ ra trong phép so sánh trên.
1.5.3.2 React Native

React Native là một framework được tạo bởi Facebook, cho phép các lập trình
viên sử dụng JavaScript để làm mobile apps trên cả Android và iOS với có trải nghiệm
và hiệu năng như native. React Native vượt trội ở chỗ chỉ cần viết một lần là có thể
build ứng dụng cho cả iOS lẫn Android.

Hình 1.3 React Native
Có thể nói React Native là một cross-platform để xây dựng một ứng dụng di

động hiệu quả. Nó hồn tồn khác với khái niệm “hybrid app”:
a) Ưu điểm của React Native

Thời gian học ngắn hơn: Một lý do lập trình mobile app rất khó và tốn thời
gian là vì thực tế cần tìm hiểu 2 hệ sinh thái hồn tồn khác biệt. Để học lập trình lập
trình app iOS, cần học Swift hoặc Objective-C và Cocoa Pods.Cịn lập trình app
Android, cần học Java hoặc Kotlin và Android SDK. Tuy nhiên, điều có thể nói là
chúng khác nhau và việc học từng ngơn ngữ đó sẽ tốn khá nhiều thời gian. Điều tương
tự cũng xảy ra với các frameworks: Cocoa Touch và Android SDK.

8


×