Về nội dung nghiên cứu: Khóa luận trình bày các nghiên cứu về cách thức hoạt động của các ứng dụng tương tự chia sẻ và tim kiếm đường đi.. Về chương trình ứng dụng: Trên cơ sở lý thuyết
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
TRAN TRUNG KIEN
KHOA LUAN TOT NGHIEP
UNG DUNG TÌM KIEM VA CHIA SE CHUYEN DI
Finding and Sharing Journey Application
KY SU NGANH KY THUAT PHAN MEM
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
TRAN TRUNG KIEN - 16521707
KHOA LUAN TOT NGHIEP
UNG DUNG TÌM KIEM VÀ CHIA SẺ CHUYEN DI
Finding and Sharing Journey Application
KY SU NGANH KY THUAT PHAN MEM
GIANG VIEN HUONG DAN
TS NGUYEN HA GIANG THS NGUYEN THI THANH TRUC
TP HO CHI MINH, 2021
Trang 3THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 453/QD
-ĐHCNTT ngày 19, tháng 7, năm 2021 của Hiệu trưởng Trường Đại học Công nghệ
thông tin.
1 Chủ tịch: TS Nguyễn Tan Tran Minh Khang
2 Thu ky: ThS Thai Thuy Han Uyén
3 Uy vién: ThS Lé Thanh Trong
Trang 4ĐẠI HỌC QUỐC GIA TP HÒ CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP HCM, ngày 20 tháng 07 năm 2021
NHAN XÉT KHÓA LUẬN TOT NGHIỆP
(CUA CÁN BỘ HƯỚNG DAN)
Tên khóa luận:
UNG DUNG TÌM KIEM VÀ CHIA SẺ CHUYEN ĐI
SV thực hiện: Cán bộ hướng dẫn:
Trần Trung Kiên 16521707 TS Nguyễn Hà Giang
ThS Nguyễn Thị Thanh Trúc
Đánh giá Khóa luận
I Về cuốn báo cáo:
Số trang 61 Số chương 4
Số bảng số liệu 2 Số hình vẽ 30
Số tài liệu tham khảo 3 Sản phẩm 1
Trang 5Một sô nhận xét vê hình thức cuôn báo cáo:
Bồ cục khóa luận trình bày cân đối phan lý thuyết và công nghệ gồm bốn chương,nội dụng ở chương 1 Tổng quan: viết khá rõ ràng và chỉ tiết các nghiên cứu liên quan vànêu rõ mục tiêu dé tài Chương 2 Cơ sở lý thuyết: công nghệ triển khai Chương 3 Thựchiện Chương 4 Kết luận và hướng phát triển
2 Về nội dung nghiên cứu:
Khóa luận trình bày các nghiên cứu về cách thức hoạt động của các ứng dụng
tương tự chia sẻ và tim kiếm đường đi Về mặt công nghệ thực hiện Xamarin Forms,
.Net Core, Azure, Google Map API, OpenRouteService Tuy nhiên cần tìm hiểu thêm lýthuyết liên quan đến bài toán sắp xếp tối ưu trong tìm đường đi
— Tìm thông tin thông tin cụm đi, người dùng có cùng cụm đến và cụm đi sẽ được trả
về dữ liệu cho ứng dụng qua API
— Tạo tài khản, đăng nhập, đăng xuất, đổi mật khẩu, tìm kiếm bạn bè đi chung, nhắn
tin với người đã từng đi chung ứng dụng hiện ra bản đỗ và cho phép người dùngchọn vi trí chính xác trong cụm địa điểm đó hiển thị ra những tài khoản phù hợp
có cùng diém đi va diém đên.
Trang 6— Dựa vào Tin nhăn mặc định sẽ được gửi đên tài khoản đó xác nhận 2 người sé di
chung với nhau.
4, Về thái độ làm việc của sinh viên:
Sinh viên nghiêm túc và cố gắng thực hiện đề tài
Đánh giá chung: Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư, xếp
loại Gioi.
Điểm từng sinh viên:
Trần Trung Kiên: 8.5/10
Trang 7ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HOA XÃ HOI CHỦ NGHĨA VIỆT NAM
Tên khóa luận:
UNG DUNG TÌM KIEM VÀ CHIA SẺ CHUYEN ĐI
SV thực hiện: Cán bộ hướng dẫn:
Trần Trung Kiên 16521707 TS Nguyễn Trịnh Đông
Đánh giá Khóa luận
1 Vê cuôn báo cáo:
Số trang 61 Số chương 4
Số bảng số liệu 2 Số hình vẽ 30
Số tài liệu tham khảo 3 Sản phẩm |
Một sô nhận xét về hình thức cuôn báo cáo:
Cách thức trình bày khóa luận phù hợp với các quy định, phân bố nội dung từngmục rõ ràng, cụ thé, có hình ảnh trực quan Các chương mục được trình bày hợp lý va
Trang 8theo thứ tự Tuy nhiên, còn một sô lỗi trình bày, các hình vẽ biêu diễn các usecase cân chuân hóa Về nội dung nghiên cứu:
— Khóa luận tập trung tìm hiểu giải pháp chia sẻ phương tiện trong phạm vi mộtkhu vực và kỹ thuật lập trình trên thiết bị di động dựa trên bộ công cụ phát triển phần
mêm Xamarin của Microsoft.
— _ Sinh viên đã tiễn hành tìm hiểu cơ sở lý thuyết dé áp dụng vào phát triển hệ thống:
— Phần phân tích thiết kế đã co bản giải quyết được các yêu cầu chung cho bài toán
phân tích thiết kế hệ thống thông tin Từ việc đặc tả các usecase đến các sơ đồ kỹ
thuật cần thiết để phát triển hệ thống Trên cơ sở yêu cầu chỉnh sửa của CBPB Sinh
viên Trần Trung Kiên đã khắc phục nhanh chóng những lỗi trong khóa luận
2 Về chương trình ứng dụng:
Trên cơ sở lý thuyết và quá trình phát triển hệ thống, Khóa luận đã đưa ra kết quả
là một phân mêm trên thiệt bi di động chạy trên máy ảo có các ưu diém và nhược điêm Sau:
Ưu điểm: Do đây là một ứng dụng có nhiều tính năng và cần có cơ sở pháp lý
Do đó, còn nhiều vấn đề cần phải giải quyết Ứng dụng cho phép đăng ký người dùng,
Trang 9hiền thị bản đồ, cho phép tìm đường đi và những chuyến hành trình trên tuyến đường đã
chọn, v.v.
Nhược điểm: So với mục tiêu đề tài, cơ bản phần mềm đã chạy thử nghiệm Tuynhiên, đây là một lĩnh vực khó cả về kiến thức pháp lý, quản trị và kỹ thuật Vấn đề xác
thực người dùng chưa đê cập, v.v.
3 Vé thái độ làm việc cua sinh viên:
Sinh viên có thái độ tích cực, chủ động bô sung, sửa đôi khóa luận, cung câp đây
đủ tài liệu khi được yêu cầu
Đánh gia chung: Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư, xếp
Trang 10LỜI CÁM ƠN
Tục ngữ Việt Nam có câu: “Không thầy đố mày làm nên” Dé hoàn thành khóaluận này, em xin gửi lời cảm ơn chân thành nhất đến thầy Nguyễn Hà Giang và cô
Nguyễn Thị Thanh Trúc đã tận tình hướng dẫn em Qua khóa luận này, em đã học tập
được nhiều thứ mà em chưa từng biết đến, hiểu rõ hơn về các quy trình cũng như cáchvận hành và làm ra một hệ thống ứng dụng đã đề ra Em đã gặp rất nhiều khó khăn trong
quá trình thực hiện nhưng nhờ sự tận tâm, cũng như sự góp ý của thầy, cô cho báo cáo
của em đã giúp em định hướng tốt hơn khi làm khóa luận và các hướng phát triển có thé
cho ứng dụng.
Cảm ơn giảng viên phản biện và các thầy cô trong hội đồng chấm khóa luận vớinhững lời khuyên, góp ý quý báu và bồ ích Từ đó khóa luận của em được trở nên hoànthiện hơn Em cũng xin gửi tất cả sự biết ơn và trân trọng của mình đến với những ngườithân, bạn bè đã ủng hộ và động viên em trong những giai đoạn đầy khó khăn và thử thách
khi thực hiện khóa luận này.
Đến nay, khóa luận của em cơ bản hoàn thành, em không thể không nhớ đến sựgiúp đỡ của thầy cô Tuy nhiên, với điều kiện thời gian cũng như kinh nghiệm còn hạnchế của sinh viên, đồ án này của em không thể tránh khỏi những sai lầm và thiếu sót Emrat mong nhận được sự chỉ bảo, đóng góp của cô dé em có điều kiện bổ sung, nâng caokiến thức của mình, phục vụ tốt hơn cho công việc thực tế sau này
Một lần nữa, em rất biết ơn sự hỗ trợ to lớn của quý thầy cô Chúc thầy cô luônd6i dao sức khỏe, hạnh phúc và thành công hơn nữa trong sự nghiệp của minh
Trang 11ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HOI CHU NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
DE CƯƠNG CHI TIẾT
TEN DE TÀI: Ứng dung tìm kiếm và chia sẻ chuyến đi
TÊN DE TÀI (tiếng Anh): Finding and Sharing Journey Application
Cán bộ hướng dẫn:
Ts Nguyễn Hà GiangThS Nguyễn Thị Thanh Trúc
Thời gian thực hiện:Từ ngày 01/03/2021 đến ngày 30/06/2021
Sinh viên thực hiện:
Trần Trung Kiên - 16521707
Nội dung đề tài:(Mô tả chỉ tiết mục tiêu, phạm vi, đối tượng, phương pháp thựchiện, kết quả mong đợi của đề tài)
1 Mục tiêu:
Trang 12Hiện tại có rất nhiều người điều khiển xe máy có tuyến đường đi như nhau nhưng
lại di hai xe khác nhau, việc này làm cho lượng phương tiện tham gia giao thông vào gid
cao diém tăng cao, dân đên việc ùn tac và lượng khí thải cũng tăng theo.
Bên cạnh việc cùng tuyên đường thì có một sô địa điêm tập trung người di lam công
sở ở cùng khu vực Việc di chuyên của một người chỉ giới hạn ở cung giờ hành chính, và
tuyến đường chỉ là từ nhà đến cơ quan hay công ty và ngược lại
Một ứng dụng giúp đỡ những người có khả năng chở thêm người và những người
cần được chở ghép cặp dé đi chung với nhau là điều cần thiết Giúp giảm lượng phươngtiện tham gia giao thông, qua đó tiết kiệm nhiên liệu và hạ thấp lượng khí thải ra môi
trường.
Hình thức di chuyên tiết kiệm này phổ biến ở các nước phát triển như mô hình dichung ôtô Covoiturage ở Pháp, Bla Bla Car ở châu Âu, hay ứng dụng Ridewith của
Google Nhưng loại phương tiện phô biến ở Việt Nam hiện nay lại là xe máy, vì vậy ứng
dụng sẽ đánh mạnh vào những người điều khiển xe máy, điều mà các ứng dụng đi chungkhác không chú trọng Mặc dù cũng có nhiều hãng xe công nghệ nhưng điều mà ứng dụnghướng tới là dành cho những công dân bình thường muốn giúp đỡ cộng đồng cũng như
môi trường.
Mục tiêu nhỏ là dành cho các bạn sinh viên Khu đô thị Đại học Quốc gia TPHCM
có thê cùng nhau đến trường, qua đó mở rộng quy mô cho cả nước Mong muốn góp phầngiúp ích cho cộng đồng
Mục tiêu thứ hai là dành cho các bạn cần đồng đội dé di du lịch hay phượt chung.Dựa trên nền tảng của mục tiêu thứ nhất, giúp các bạn có thé tìm bạn dé đi chung với nhau
2 Phạm vỉ:
Trang 13- Ung dụng tập trung khai thác sự tiện dung cho sinh viên Khu đô thi Dai hoc
Quốc gia TPHCM (Mục tiêu chính)
- Ung dụng có tiềm năng để mở rộng quy mô cho khắp cả nước Với mong
muốn giảm thiêu ô nhiễm và tăng cao lợi ích tối đa
3 Đối tượng:
- _ Những người điều khiển xe máy có thé chia sé xe máy
- _ Những người có nhu cầu muốn đi chung xe
- _ Những người có sở thích du lịch nhưng chưa có bạn đồng hành
4 Phương pháp thực hiện:
Dựa vào các kiến thức đã có trong quá trình hoc, sử dụng WPF để tạo ứng dụng
trên Window đã cho em các kiến thức về nền tảng này Nhận thấy Xamarin cũng có nét
tương đồng nên em đã chọn dé nghiên cứu xây dựng ứng dụng Bên cạnh đó, Xamarin cóthé cho phép tiết kiệm tới 70% công việc phát triển trên nền tang di động thứ hai bang
cách sử dụng lại source code.
Phần xử lý dữ liệu như: Đăng nhập, tìm kiếm tài khoản thích hợp theo lộ trình, lưu
trữ thông tin tài khoản, được xử lý bằng cách gọi API từ Azure.Azure cung cấp hơn 200 dịch vụ, được chia thành 18 loại Các danh mục này bao gồm
máy tính, mạng, lưu trữ, loT, di chuyền, di động, phân tích, container, trí tuệ nhân tạo và
machine learning, tích hợp, công cụ quản lý, công cụ nhà phát triển, bảo mật, cơ sở dữ
liệu, DevOps, nhận dạng media và web service Với việc hỗ trợ tài khoản miễn phí lên tới
12 tháng nên đây là phương án khá kinh tế và hiệu quả
Nếu có van đề phát sinh có thé sử dụng Firebase dé thay thé cho phan công việc
của Azure.
5 Kết quả mong đợi:
- Hoan thành ứng dung và có thể áp dụng vào thực tế Khu đô thị Đại học Quốc
gia TPHCM
- SỐ lượng sinh viên tham gia sử dụng phần mềm ở Khu đô thị Đại học Quốc
gia TPHCM là trên 50%
Trang 14- M6 rộng quy mô sử dung ra toàn thành phố H6 Chí Minh.
Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân công công việc cho từng
sinh viên tham gia)
Giai đoạn Thời gian Nội dung
: Khảo sát nhu cầu người dùng cũng như những
Giai đoạn 1 1 tuân ¬ _,
mong muôn của người dùng cho một ứng dung
chia sẻ chuyến đi.
` Xây dựng nên tảng cơ bản của ứng dụng cho
I—2 tuân TU uy ¬ `
phép các tài khoản tìm kiêm lân nhau và tạo
tuyến đường đi cho hai tài khoản được kết nối
: Tạo kênh liên lạc cho 2 tài khoản có thê trao
1.5 tuân hộ - ` mm" Lo .
đôi nhanh lich trình và thời gian: Nhan tin, gọi,
định vi,
: Két hop ban đồ cho việc lựa chon địa điểm và
Giai đoạn 2 2 tuân 4 :
tuyên đường
` Thêm các tiện ích: tuỳ chọn giúp người dùng
0.5 tuân ¬ „ A `
lưu các cài đặt, cũng như các tuyên đường quen
thuộc, danh sách người đã từng đi nhờ và
người mà mình đã chở (danh bạ).
` Thêm các thông tin xác nhận tăng tính đảm bảo
1 tuân
cho người tham gia sử dụng ứng dụng.
Giai đoạn 3 Chạy song | Chay thử ứng dụng với một số nhóm sinh viên
song trong | và thu ý kiến đóng góp
vòng 3 tuần | Chỉnh sửa ứng dụng theo các phản hồi
Trang 15Hoàn thiện và đóng gói sản pham
Giai đoạn 4 Tuan cuôi
Trang 16Xác nhận của CBHD
Sinh viên
(Ký tên và ghi rõ họ tên)
(Ký tên và ghi rõ họ tên)
TP HCM, ngày tháng năm
Trang 17Churong 1 TONG QUAN Sa 8
IBNc on ẽ ẽ 3äœ1 8
1.2 Khảo sát hiện trạng - - - - <1 S1 HH HH HH Hệ 9
84 04.7: 8n ẽ.a 5 11
ngoc 0 433 11
1.5 Cach thitc hoat Ong 1n 12
1.5.1 Người điều khiến phương ti6n oo eecececsecsessesseesssssessessessessessessesseesessecseees 12
1.5.2 o8 12
9 c1 13Chương 2 CƠ SỞ LÝ THUUYÊTT - 2-2 2£ S2+SE+SE+EE£EE£2EEEEEEE2EEEE12E1E171 712121 xe 14
2.6 Cách chọn và tìm kiếm 2-2: 2©E2E++EE+2EE£EE+SEEtEEEEEEeEEEerxrrkrerrrrrrervee 21
Trang 18"Na ào on ố ố e 22
2.7.1 Vấn đề chung ¿- 2++£+Ek+EE£EE9EE£EEEEEEEEE211211211211211111111 1111111 222.7.2 Vẫn đề riêng 2¿ 222212 1EE19E1171717112112112111121111 11111111111 xe 23Chương 3 THỰC HIEN 2- 2-5 ©E£EE£+EE+EE££EEEEEEEEEEEEEEEEEEE171121171.211 71.2 re 25
3.1 Kiến trúc ứng dụng -¿- + +5 +k+EESEE22EE11211211211211211211171 11111111 re 25
3.1.1 Mô hình MWVM - 2 2¿+2s 212 EE2122127112717112712112117111121 11.1 xe 25
3.1.2 Mô tả chỉ tiết thành phan trong hệ thống - 2-2 +¿+z+£x+zzz+csez 263.2 ThhiẾt kẾ - 2-5221 21EE12212112711211271211112111121111.211 11.1111.1111 eye 29
3.2.1 So 6 Use case 7T v/v ốỐ số Ýể th 29
3.2.2 Danh sách tác nhân hệ thống - 2 ¿©£+S£+S£+E£+E£+EE+EE+EEtrEerkerkrkerreee 30
3.2.3 Danh sách USEC €AS€ - - - -cG 1 1111201111111 1111111 11 111g 1v ng vn ưyy 30
3.2.4 DAC ra cố na e^e 31
khác AC CỐ CỔ “/đ 35
E=nc i0 ễ 41
Chương 4 KET LUẬN VA HƯỚNG PHAT TRIEN 0 cscsscssesseessessessessessesseeseeseeseaees 48
4.2 Hướng phát triỂn : 2: +¿++2E++2EE++EEESEEEEEEEE2E1271271127112711271 21122 crrxe 48
4.2.1 Giao tiẾ - 5c 2s t2 TH T221 112211211 T11 T1 1 1 1 go 48
4.2.2 Tìm kiếm nhanh hơn 2-2: 2 5£25£2E+2E++EE2E++EE+2E+tEE+2EEerxezrxerxeerxeee 49
4.2.3 Mở rộng phạm vi hoạt động 5 + E221 1k1 1 919 1 9v 1n re, 49
4.2.4 Dang soái nan ee 49
Trang 19\/(0801001080/001/020Đ3277e 25
Cấu trúc hệ thống - 2-2 ESE+SE+2E£2EE£EE2EEEEEEEEEEEEEEEEErrkrrkrrreee 26
Các DTO trong ứng dụng << kg, 26
Tùy chỉnh ban đồ của Xamarin.Forms.Maps 2 2-55+: 27
Các Model trong Ứng dung - - «+ xxx Eskesekseksersree 27
Các Service trong Ứng ỤNE - ssk* nnkn ng 28
NUNG On ‹4 29
Trang 20Hình 3.8 Use case Dang nhập 5 + +22 E 1E + + E£ESEEEEsrerrrrrrrrrrke 31
Hình 3.9 Use case Dang ký 5 G19 HH nàng 32
Hình 3.10 Use case Đăng XuẤt 2 52-55 22 2x2 E2 2212712112712 re 32Hình 3.11 Use case Quên mật khầu ¿2 2 2 ++EE+EE+EEeEEerErkerrerrerrs 33
Hình 3.12 Use case Hién thị liên hệ - ¿2-2 + St +E+E+E+EeEEEE+E+E+EeErezezessez 33
Hình 3.13 Use case Chọn người muốn đi chung - 5z 5z +sz+sz+s2 34Hình 3.14 Sơ đồ tuần tự chức năng Đăng nhập - 2-2 scxe+xczzcez 35Hình 3.15 Sơ đồ tuần tự chức năng Đăng ký -5¿©cccccccccerxcerxrree 36
Hình 3.16 Sơ đồ tuần tự chức năng Quên mật khẩu - 2+: 37
Hình 3.17 Sơ đồ tuần tự chức năng nhắn tỉn 2 s++<++z+zz+zxzzxrxs 39Hình 3.18 Sơ đồ tuần tự cho chức năng Tìm người đi chung 40
Hình 3.19 Giao diện man hình Đăng nhập . 55 55 £S+<<£+sc++essee 4I
Hình 3.20 Giao diện man hình Đăng ký - 5 2< + kseirseierree 42
Hình 3.21 Giao diện màn hình Quên mật khẩu -c++ 43
Hình 3.22 Giao diện màn hình Trang chủ 5< £++sE+sveseesserssees 44
Hình 3.23 Giao diện màn hình Danh sách liên hệ - - <555+++<<< 45
Hình 3.24 Giao diện nhắn tin với một người dùng khác - 45Hình 3.25 Giao diện màn hình Tìm kiếm chuyến đi - ccc-cccce: 46
Trang 21Hình 4.1 Màn hình đăng nhập có 2 nút đăng ký với tài khoản Google và Facebook
Trang 22DANH MỤC BANG
Bảng 3.1 Danh sách tác nhân hệ thống
Bảng 3.2 Danh sách use case
Trang 23TÓM TẮT KHÓA LUẬN
Ứng dụng Tìm kiếm và chia sẻ chuyến đi sử dụng Xamarin Forms làm nên tảng
dé lập trình về cả Font-end và Back-end Bên cạnh đó sử dụng Net Core để tạo API phục
vụ cho việc gửi dữ liệu và xử lý ở server Với sự hỗ trợ của nhà trường, tài khoản
Microsoft được sử dụng vài tính năng của Azure miễn phí trong khoảng thời gian nghiên
cứu và thực hiện Cho nên khóa luận sử dụng đó làm server phục vụ cho việc xử lý API
và cơ sở đữ liệu Về vấn đề xử lý đường đi và tính toán khoảng cách khóa luận sử dụngOpenRouteService, một nền tảng hỗ trợ API liên quan đến đường đi miễn phí
Là 1 nền tảng lập trình ứng dụng di động cross-platform, Xamarin Forms chophép các nhà phát trién phần mềm xây dựng các ứng dụng di động đa nén tang sử dụngcác thành phan giao diện cơ bản của hệ điều hành như: Pages, Layouts, Views, Controls
Khi chạy chương trình, mỗi thành phần giao diện của Xamarin Forms sẽ được chuyên
hóa sang các thành phần giao diện tương ứng với mỗi nền tảng Qua quá trình làm việc
với các đồ án môn học và làm việc nên có nhiều kinh nghiệm trong việc sử dụng C# và
XAML để tạo ứng dụng Cho nên khóa luận sử dụng Xamarin Forms dé thực hiện đề tài
chóng mà miền phí.
Trang 24Chương 1 TONG QUAN
1.1 Giới thiệu
Hiện nay, có rất nhiều người điều khiển xe máy có tuyến đường đi như nhau
nhưng lại đi hai xe khác nhau, việc này làm cho lượng phương tiện tham gia giao thông
vào giờ cao điểm tăng cao, dẫn đến việc ùn tắc và lượng khí thải cũng tăng theo Bêncạnh việc cùng tuyến đường thì có một số địa điểm tập trung người đi làm công sở ở
cùng khu vực Việc đi chuyển của một người chỉ giới hạn ở cung giờ hành chính, và tuyến đường chỉ là từ nhà đến cơ quan hay công ty và ngược lại.
Một hình ảnh thực tế là nhà xe của trường đang quá tải sau mỗi năm, mặc dù khu
vực dé xe đã và đang mở rộng nhiều hơn trước rất nhiều Trước đây nhà xe chỉ quá tải
trong khoảng thời gian có tổ chức thi giữa kỳ hoặc cuối kỳ Khoảng thời gian này tậptrung nhiều sinh viên nên hiện tượng ùn tắc chỉ xảy ra trong khoảng 1 hoặc 2 tuần Nhưnghiện nay với các ngành mới mở ra, lượng sinh viên tăng lên cùng với điều kiện đời sống
cao hơn, nhiều sinh viên đã sở hữu riêng cho mình xe máy riêng Cho nên việc quá tảitrong nhà gửi xe là điều tất yêu Các biện pháp như tăng kích thước nhà xe cũng chỉ là
van đề thời gian dé việc quá tải tiếp dién vào các năm tiếp theo Giải pháp thiết thực là
làm sao dé giảm thiểu lượng xe gửi vào nhà xe nhưng vẫn đảm bảo lượng sinh viên đihọc đầy đủ như bình thường Các hình thức đi chung xe sẽ hỗ trợ rất nhiều cho việc giảiquyết bài toán này
Hiện này cũng có một số ứng dụng giúp cho việc đi chung này nhưng cũng cónhiều vấn đề gây trở ngại cho sinh viên hay người sử dụng, hoặc không giải quyết đượcvấn đề mình đặt ra Một số ứng dụng lại dành cho xe ô tô hoặc là taxi, việc đi chung ởday là giải quyết việc chia tiền để giảm bớt chi phí đi lại Van đề chúng ta dang đặt ra làcho xe máy, cho nên những ứng dụng này không giải quyết được
Trang 25Vì những lý do và điều kiện ở tên, một ứng dụng giúp đỡ những người có khảnăng chở thêm người và những người cần được chở ghép cặp để đi chung với nhau làđiều cần thiết Giúp giảm lượng phương tiện tham gia giao thông, qua đó tiết kiệm nhiênliệu và hạ thấp lượng khí thải ra môi trường.
1.2 Khảo sát hiện trạng
Hình thức di chuyên tiết kiệm này phổ biến ở các nước phát triển như mô hình đichung ô tô Covoiturage ở Pháp, Bla Bla Car ở châu Âu, hay ứng dụng Ridewith củaGoogle Những loại phương tiện phổ biến ở Việt Nam hiện nay lại là xe máy, vì vậy ứngdụng sẽ đánh mạnh vào những người điều khiển xe máy, điều mà các ứng dụng đi chungkhác không chú trọng Mặc dù cũng có nhiều hãng xe công nghệ nhưng điều mà ứngdụng này hướng tới là dành cho những công dân bình thường muốn giúp đỡ cộng đồng
cũng như môi trường Một số ứng dụng đi chung ở Việt Nam hiện nay lại chú trọng vào
di xe ô tô hoặc hình thức đi chung xe taxi như ứng dụng Di Chung bên dưới:
Driver Đi Chung - Lái xe
Đi chung xe Việt Nam Doanh nghiệp xk*x* 582 ®
[3+]
|
bal Thêm vào danh sách mong muốn | Caiđát |
Hình 1.1 Ứng dụng Đi Chung
Những hình thức di xe máy khác thì là của những hãng xe ôm công nghệ như:
Grab, Bee, Vato, Go Viet, Gojek, Đây là dạng hình thức xe ôm chứ không phải là chia
sẻ chuyên di.
Trang 26Hình 1.2 Hình anh ứng dung theo vnexpress.net
Cũng có một số bạn sinh viên ở FPT đã từng thực hiện dự án này Một bài báo
của vnexpress.net đưa tin vê ứng dụng nhưng có vẻ không thành công vì tìm kiêm tên
HolaBike trên play.google.com không còn tìm thấy ứng dụng nữa Bài báo cũng từ năm
2017.
Ktx Khu A $6, Kix KhuB
2200 5000 đ 01/10/19 Tim ti sẽ
Khu B 66, Nhân Văn
0645 3.0004 01/10/19 Tìm tải xế
Ktx Khu B 62, Đại Học Nông Lâm
16:51 28/09/19
Ktx Khu B Ge, FPT Shop Linh
Hinh 1.3 Ung dung GOVNU
Một ứng dung khác của bạn Nguyễn Lê Trọng Đạt có tên GOVNU Ứng dung
này chỉ đơn thuân là danh sách các điêm đâu và điêm cuôi như các nhà xe chở khách có
10
Trang 27tuyến có định Ưu điểm của ứng dụng là dé dàng đăng ký sử dụng Nhược điểm là không
có tính linh hoạt trong lựa chọn địa điểm
1.3 Khó khăn đề tài
— Việc đi chung xe không giống như việc book xe ôm công nghệ vi đây là tính tự
nguyện giữa cả hai bên Sẽ có nhiều vấn đề phát sinh
— Việc đảm bảo an toàn cho người sử dụng khá khó khăn Mặc dù sẽ có kiểm soát
bằng việc đăng ký sử dụng có các hình thức xác nhận bằng chứng minh thư, hình
ảnh,v.v
— Vì là ứng dung phi lợi nhuận nên sẽ khó khăn trong việc duy trì server hay các chi
phí khác Có thê khắc phục bằng cách chèn quảng cáo hoặc các hình thức phí khác
— Phải có máy tính của Apple đề có thê thực hiện debug và chạy thử ứng dụng trên
nền tang ios Van đề này vẫn có thé khắc phục được bang máy ảo, nhưng sẽ khó cóthé khắc phục được lâu dài nêu không có thiết bị
1.4 Mục tiêu đề tài
Mục tiêu nhỏ là dành cho các bạn sinh viên Khu đô thị Đại học Quốc gia TPHCM
có thể cùng nhau đến trường, qua đó mở rộng quy mô cho cả nước Mong muốn gópphần giúp ích cho cộng đồng
Mục tiêu thứ hai là dành cho các bạn cần đồng đội dé đi du lịch hay phượt chung.Dựa trên nền tảng của mục tiêu thứ nhất, giúp các bạn có thé tìm bạn dé đi chung với
nhau.
Kết quả mong đợi:
— Hoàn thành ứng dụng và có thể áp dụng vào thực tế Khu đô thị Đại học Quốc gia
TPHCM
11
Trang 28— Số lượng sinh viên tham gia sử dụng phần mềm ở Khu đô thị Đại học Quốc gia
1.5.1 Người điều khiến phương tiện
Người điều khiên phương tiện (tài xế) sẽ thiết lập trước thời gian di chuyền và địađiểm tới Ứng dụng sẽ thiết lập quãng đường đi cho tài xế và cho phép tùy chỉnh cungđường mà người đó đi, tương tự như Google Map Sau khi hoàn tất, ứng dụng sẽ gửithông tin để server xử lý Nếu có người muốn đi chung, ứng dụng sẽ thông báo Hai
người đi chung xe với nhau sẽ có thê nhắn tin với nhau thông qua trực tiếp ứng dung dé
trao đổi thêm, ví dụ như địa điểm đón, thời gian di
1.5.2 Người đi nhờ xe
Sau khi chọn trước thời gian đi và địa điểm đến, ứng dụng sẽ tính toán dự trên dữ
liệu của tài xế, có thé cung đường đi ngang qua đích đến của người đi nhờ, hoặc là hai
người tới cùng một nơi Màn hình thông báo kết quả phù hợp, người dùng sẽ chọn trongdanh sách người mình muốn đi cùng Sau khi kết nối và nhắn tin với tài xế, lịch trình
được chôt sẽ hủy việc quét tìm kiêm của cả hai.
12
Trang 29chia sẻ xe máy là một điều mới mẻ và hấp dẫn Cũng vì mới mẻ nên việc kêu gọi sử dụng ban đầu có thé gặp nhiều khó khăn, cũng như nhiều van dé có thé phát sinh ngoài ý
muốn Nhưng cũng có thể từ từ khắc phục qua thời gian thử nghiệm ở phạm vi nhỏ trước
khi đưa ra sử dụng ở mô hình lớn hơn.
13
Trang 30Chương 2 CƠ SỞ LÝ THUYET
Thông qua quá trình tìm hiểu về cách thức hoạt động cũng như các tính năng
thường có của một ứng dụng di chung xe Dựa theo những gì được hoc ở trường, có các
cơ sở lý thuyết dé làm đề tài này như dưới đây.
2.1 Xamarin
Dựa vào các kiến thức đã có trong quá trình học, sử dung WPF dé tạo ứng dụngtrên Window cung cấp các kiến thức về nền tảng này Vì Xamarin cũng có nét tươngđồng nên đã được chọn đề nghiên cứu xây dựng ứng dụng Bên cạnh đó, Xamarin có thểcho phép tiết kiệm tới 70% công việc phát triển trên nền tảng di động thứ hai bằng cách
sử dụng lại source code.
Traditional Xamarin Forms
Shared UI
| osu | Android UI Windows UI
Hình 2.1 Sự khác nhau giữa cách lập trình truyền thống và Xamarin Forms
Là 1 nền tang lập trình ứng dụng di động cross-platform (có nghĩa là code một
lúc có thé chạy trên được cả iOS lẫn Android), Xamarin có những đặc điểm riêng biệt,
hiém có so với các framework hiện tại trên thi trường.
14
Trang 312.1.1 Các ưu diém của Xamarin
e Tái sử dụng code tại nhiêu cho
Xamarin sử dụng ngôn ngữ C# cùng với framework Net dé tạo ra ứng dụngcho mọi nền tảng bắt kì Khi tạo ứng dung di động trên Xamarin, chúng ta sử dụng cùngngôn ngữ là C#, API và cấu trúc dữ liệu hay logic của ứng dụng nên thường là 90% codechức năng có thé được dùng trên cả iOS và Android
Qua đó có thé giảm đáng kể công sức và thời gian phát triển ứng dụng di động
cho 2 nền tảng phô biến nhất Ngoài ra có nhiều IDE hỗ trợ rất tốt mà miễn phí với nó
như Xamarin IDE (dành cho Mac) hay Visual Studio (dành Windows).
e Hiệu năng gan như native
Các số liệu hiệu suất là tương đương khi so sánh với các số liệu hiệu suất của Javacho Android và Objective-C hoặc Swift cho ứng dụng phát triển ứng dụng iOS native.Hon thé nữa, hiệu suất của Xamarin liên tục được cải thiện dé phù hợp hoàn toàn với
tiêu chuân của lập trình native.
Ngoài ra, nền tảng Xamarin cung cấp thêm các giải pháp để testing và theo dõihoạt động của ứng dụng Xamarin Test Cloud kết hợp với công cụ Xamarin Test
Recorder cho phép chúng ta chạy các UI test tự động và xác định các van đề về hiệu suất
trước khi ứng dụng release Tuy nhiên, dịch vụ này có tính phí nhưng cũng đáng lưu tâm.
se Hỗ trợ tất cả phần cứng
Với Xamarin, giải pháp của chúng ta sẽ giúp cách chức năng của ứng dụng đạt
được native-level, loại trừ tất cả van đề tương thích với phan cứng, sử dung plugins vàAPIs đặc biệt để làm việc với các chức năng thiết bị thông thường đa nền tảng Ngoài
15
Trang 32khả năng truy cập vào API riêng biệt cho mỗi nền tảng, Xamarin còn hỗ trợ liên kết vớithư viện native Từ đó, functionality được tối ưu hóa và đạt được mức độ native tốt hơn
với ít chi phí hơn.
e Nhiều thư viện hỗ trợ làm ứng dụng cực nhanh có sẵn
Component Xamarin cung cấp đến hàng ngàn UI controls tùy chỉnh, các charts,
biểu đồ, themes đa dang và các chức năng mạnh mẽ khác có thể được thêm vào ứng dụng
chỉ với vài cú click Điều này bao gồm quá trình xử lý payment built-in (như Stripe chănghạn), tích hợp Beacons và các thiết bị di động, các services notification box push, giảipháp lưu trữ dam mây, các tinh năng streaming multimedia và hon thé nữa
2.1.2 Khuyết điểm
Bên cạnh các ưu điêm trên thi Xamarin vân có các khuyết điêm, tuy nhiên những
khuyết điêm này đêu có thê chap nhận được.
e H6 trợ chậm các bản cập nhật mới nhất của các hệ điều hành mobile
Đội ngũ developer của Xamarin có ảnh hưởng lớn đến điều này Khi iOS hoặcAndroid đưa ra các phiên ban mới, phải mat một khoảng thời gian dé thực hiện nhữngthay đổi hay đưa vào một plugins mới, v.v Vẫn có những thời điểm bị trì hoãn mặc dù
Xamarin khang định sẽ hỗ trợ cùng lúc với những cập nhật mới nhất.
e Giới hạn truy cập vào thư viện mã nguồn mở
Native development có nhiêu công nghệ mã nguôn mở đã trở nên quen thuộc và
hồ trợ rộng rãi Với Xamarin, cả lập trình viên đêu phải sử dụng duy nhât môt component
được cung câp bởi Xamarin và một sô mã nguôn mở Net.
16
Trang 33Trong khi với native development, ứng dụng phát triển điện thoại Android và iOS
có rất nhiều lựa chọn thư viện opensource Rất tiếc là vẫn còn nhiều native library hay
vẫn chưa hỗ trợ cho Xamarin
e Apps thực hiện chậm hơn và yêu cầu nhiều dung lượng hơn trên thiết bị
So với ứng dụng native, ứng dụng Xamarin lớn hơn, nặng hơn, nó chiếm nhiều
hơn vai Mb so với Java/Objective C tương ứng Lấy ví dụ, kích thước của một ứng dung
code bằng xamarin là 5Mb, trong khi code bằng Objective C chỉ chiếm 200 Kb Càng sử
dụng nhiều API, càng nhiều lưu trữ bị chiếm trên thiết bị
2.2 API
Khóa luận sử dung Net Core dé viết API hỗ trợ cho việc truyền và nhận dữ liệu
từ server về ứng dụng Mỗi khi client gọi bất kỳ một API nào, ngoại trừ API đăng nhặphoặc đăng ký, client đều phải kèm theo token được cấp mỗi khi đăng nhập Việc nàytăng tính bảo mật và còn hỗ trợ cho việc lấy thông tin chuẩn xác hon
Ngoài các chức năng thông thường, khóa luận có sử dụng thư viện SignalR.
ASP.NET SignalR là một thư viện cho các lập trình viên ASP.NET đơn giản hóa quá
trình thêm chức năng web real-time trong phát triển ứng dụng Lúc người dùng đăngnhập đồng thời ứng dụng cũng kết nối với một hub được tạo ở server Thông qua đó,người dùng có thê nhắn tin với nhau hoặc đặt lịch real-time mà không cần phải refresh
hay khởi động lại ứng dụng.
17
Trang 34Azure cung cấp hơn 200 dịch vụ, được chia thành 18 loại Các danh mục này bao
gồm máy tính, mạng, lưu trữ, IoT, di chuyền, di động, phân tích, container, trí tuệ nhân
tạo và machine learning, tích hợp, công cụ quản lý, công cụ nhà phát triển, bảo mật, cơ
sở dữ liệu, DevOps, nhận dạng media và web service Với việc hỗ trợ tài khoản miễn phílên tới 12 tháng nên đây là phương án khá kinh tế và hiệu quả
Cấu trúc Deloy App trên Azure
— Tạo Resource Group
— Tạo App Services Plan
— Tao App Services
— Tao SQL Server
— Tao SQL Database
18