Chương 1. TONG QUAN DE TÀI.- 2-5255 2E22E22EE2EE2EEEEzErrkerkers 1 1. _ Phát biểu đề tài nghiên COU oo. Mục tiêu và phạm vi của CC cuc net 2 1.
HS HH TT xen xg 2 1.--- 1111111293111 vn ng khen xa 3 1. Đối tượng sử MUN. — KẾt quả dự kiến. _ Phương pháp nghiên cứu và nguồn số liệu.
Phương pháp nghiên CỨU. Nguồn dữ liệu. Điểm mới của luận văn. Kết cấu luận văn.- ¿tt 2 S121 5EEE111511E111111111115112 111111 xee 4 Chương 2.
KIÊN THUC NÊN TẢNG. Công nghệ ao hóa Containerlization va Docker:. Các thành phan chink w. Một số khái iG oa.
So sánh Docker với Virtual Machine. Công nghệ điều phối container và Kubernetes. Các thành phần chính: .-- + 2 2 +E££E£EE£EE2EEzEerEerkerxereee 10 2. Một số khái niệm.
Dinh 2 nh an. Ưu điểm của việc thực hiện CI/CD trong dự áắn. Quy trình CI/CTD. kSk SH HT TT HH Hệ, 14 2.
Gitlab CYU/CD nẴ.- ác ST ng ngàng nến 16 2. Node]S/EXpT€Ss. HH HT HH HH tr 17 2. Công nghệ NodeJS .- cà HH HH HH ng Hiện 17 2.
Framework EXPT€SS. Sàn S2 v*n ST rệt 18 2. Native App va Hybrid ADpp. ¿+ + s+sevserreersesrrsres 19 PI VÄNon 2.
nố sẽ nh. PHAN TICH, THIẾT KẾ. _ Phân tích, thiết kế hệ thống. Sơ đồ kiến trúc hệ thống — Architecture diagram:.
Sơ đỗ triển khai — Deployment điagram. SO d6 Use Case? An. Sơ d6 lớp — Class điagram.--¿- ¿5+ ++EEEeEEEE2EE2E2EeEEerkerkrex 27 3. Sơ đồ tuần tự - Sequence điagrams.
Sơ đồ tuần tự chức năng Đăng nhập. Sơ đồ tuần tự chức năng Đăng ky. Sơ đồ tuần tự chức năng Upload hình anh. Sơ đồ tuần tự chức năng Chỉnh sửa thông tin cá nhân.
Sơ đồ tuần tự chức năng Đôi mật khẩu. Sơ đồ hoạt động chức năng Tạo chuyến đi mới. Sơ đồ tuần tự chức năng Đánh dau địa điểm. Sơ đồ tuần tự chức năng Cập nhật thông tin chuyến đi.
Sơ đồ hoạt động chức năng Mời bạn bè tham gia chuyến di. Sơ đồ tuần tự chức năng Theo dõi vị trí thành viên trong đoàn. Sơ đồ tuần tự chức năng Cập nhật vi trí hiện tại. Sơ đồ tuần tự chức năng Viết review sau chuyến đi.
Thiết kế giao diện người dùng của ứng dụng. Giao diện màn hình Đăng nhập. Giao diện màn hình Đăng ký. Giao diện màn hình Quản lý thông tin cá nhân.
Giao diện màn hình Danh sách bài viẾt. Giao diện màn hình Tao mới chuyến đi. Giao diện màn hình Danh sách chuyến đi. Giao diện màn hình Chỉnh sửa thông tin chuyến đi.
Giao điện màn hình Xem vi trí thành viên trong chuyến đi. Giao điện màn hình Viết review sau chuyến đi. TRIÊN KHAI VÀ PHÁT TRIEN SAN PHẨM. Đăng ký tai khoản Google và khởi tao Project cùng với Cluster.
Cài đặt docker, gcloud sdk và kubectÏ. Dung project PackNGo Core API và triển khai lên cluster đã tạo. Tích hợp Gitlab CI/CTD. Thực hiện việc trigger CI/CD khi push code.
“Thuận Lot: cece ieee cccccccccssscccessececesssscessssecessseeesessseesesseeeeeseeesens 85 loi. Thanh quả dat Ẩược. Những điều còn tỒn tại. Hurdng phat triỂn.----¿©-c+2++2cxtSEEEEkerkrrrrerkrerkee 86 TAI LIEU THAM KHAO) ou ceececececscsscscscsscsesesesucscevscucscsvsucacscsususatscaneucatsvenees 87 DANH MỤC HÌNH VE Hình 1.1: Hình thức du lịch phượt đang trở nên ngày càng phổ biến trong giới trẻ.1: So sánh giữa kiến trúc Virtual Machine và Containerlization/Docker.2: Mô hình máy chủ ao Virtual Machines .3: Mô hình máy ảo Container .4: Hệ thống file cắt lớp Container.-- 2-2 + s2E++E+2EE+EEeEEerErEezrxrrxerxee 9 Hình 2.5: Các thành phần chính của Kubernetes.--:- 2: 22 s¿22s+2sz2zx2zxzex 10 Hình 2.6: Các khái niệm trong Kubernef€s.7: Quy trình CI/CD trong phát triển sản phẩm CNTT.9: Quy trình thực hiện CI/CD trên Gitlab CL/CD.10: Công nghệ NodeJS.
HH HH Hiệp 17 Hình 2.11: Framework EXT€SS.12: Native App va Hybrid ADpp.13: Công nghệ React ÌNatfIVe. Q00 HS S1 HH HH 1H 11 1g ray 20 Hình 2.14: Hệ quan tri cơ sở dữ liệu PostgreSQL,.1: Sơ đồ kiến trúc hệ thống.----- 2 ¿+ 1+SE+EE2EE2EE£E£EEEEESEE2EEEEErEerkrrkrree 24 Hình 3.2: Sơ đồ triển khai của hệ thống .---2- 2 2+SE+EE+EE£EE+2E2EEzEEerxerrrrer 25 Hình 3.3: Sơ đồ Use-case của hệ thống.----¿- ¿©2222 22Et2E22EE2EEeEEsrkrrrrres 26 Hình 3.4: Sơ đồ lớp của hệ thống .--- 2 ¿SE EEEE2E2E21EE1E2121121121 11111.5: Sơ đồ tuần tự chức năng Đăng nhập .---- 2-5 s+cx+E+2EzEerxerxerszxee 28 Hình 3.6: Sơ đồ tuần tự chức năng Đăng ký.- 2-52 Ss cteEEeEErEEEerkerkerrrrex 29 Hình 3.7: Sơ đồ tuần tự chức năng Upload hình ảnh.-- 2:2 ©5222xz+sz+>+2 30 Hình 3.8: Sơ đồ tuần tự chức năng Chỉnh sửa thông tin cá nhân .9: Sơ đồ tuần tự chức năng Đổi mật khâu.10: Sơ đồ tuần tự chức năng Tạo chuyến đi mới.-- 2-2 scs+zxzs+ 33 Hình 3.11: Sơ đồ tuần tự chức năng Đánh dấu địa điểm.12: Sơ đồ tuần tự chức năng Cập nhật thông tin chuyến đi.13: Sơ đồ tuần tự chức năng Mời bạn bè tham gia chuyến đi .14: Sơ đồ tuần tự chức năng Theo dõi vi trí thành viên trong đoàn .15: Sơ đồ tuần tự chức năng Cập nhật vi trí hiện tại .16: Sơ đồ tuần tự chức năng Viết review sau chuyên đi.17: Màn hình Đăng nhập .18: Màn hình Dang ky .19: Màn hình Quản lý thông tin cá nhân .-- 5 25 S+s*S+>+skx+eexses2 44 Hình 3.20: Màn hình Điều chỉnh thông tin cá nhân.21: Màn hình Thay đổi mật khâu.--2- 2 2 2+E£EE£EE2EE2EE2EeEEerxerxrxee 46 Hình 3.22: Màn hình Danh sách bài viẾt.23: Màn hình Danh sách bài viết với action bufton.24: Màn hình Tao mới chuyến đi. 2-2-5 £+S+2EE+EE+£E+zEzE+zExzrxerxrrez 51 Hình 3.25: Man hình Tìm địa Gi@m .26: Màn hình Gắn tọa độ điềm di chuyền Am.27: Màn hình Chon ngày cho chuyến di.28: Màn hình Chon giờ cho chuyến đi.29: Màn hình Danh sách chuyến đi.-- 2-2 2s E+E++EE+E£+Ee£Eerxerszxez 57 Hình 3.30: Màn hình Chỉnh sửa thông tin chuyến đi.31: Màn hình Chinh sửa chuyến đi với popup xác nhận xóa chuyến đi.32: Màn hình Xem vị trí thành viên trong chuyến đi.33: Màn hình Xem vị trí thành viên trong chuyến đi.1: Form tạo tài khoản Google .2: Tao Project TỚI. -- SG 2c 221112111511 351 1511511111111 11 E11 E11 1111k tkr 67 Hình 4.3: Điền thông tin Project mới.---¿- 2 + seEx‡EE2EE2EE2EEEEEEEEEEEEEEEEEEErkerkrree 68 Hình 4.4: Tìm kiếm product Kubernetes Engine.-- 2 + 2 + s2 2+Ee£xe£zz+zx+2 68 Hình 4.5: Enable Kubernetes Engine APÏ.
+ Sc s32 vn triệt 69 Hình 4.6: Tao cluster m ỚI. -- - ----- 2111111112253 11 111111530111 11kg 11 ky 69 Hình 4.7: Form tao cluster mỚI .8: Danh sách các cluster đã fạO.9: Cài đặt gcloud sdk .11: Google Cloud Project ÏD.12: Dockerfile dé build image .---2- 2: ©222S222Et2E2EE2EEtzxrerxrzrxres 73 Hình 4.13: Quá trình build docker image .-- - 5c 2c 3223323 E*#EE+eteeeeeereeersss 74 Hình 4.14: Dựng container lên và kiểm tra tình trạng của container đã dựng.15: Push image lên Google Cloud R€g1SfFV.- --- 555 +5 ++ss+scxseeseres 75 Hình 4.16: Google Cloud Registry .-- ST ng HH Hư 75 Hình 4.18: Kiểm tra tình trạng của cluster bằng k9s.19: Thêm Kubernetes cluster vào project ø1tlab.- --csscsc+sssxssersss 77 Hình 4.20: Chọn Thêm cÏusfer.21: Form tích hợp project với Kubernetes cluster đã có sẵn .22: Cấu hình gitlab CI/CTD. -¿- 2-2 s+SE+EEE2EE+EE£EEEEEEEEEEEEEEEEEEEkerkerrrrex 79 Hình 4.23: Bật tính năng Auto DevOps dé thực hiện CI/CD.24: Cấu hình cho Gitlab Runner.25: Cài dat Gitlab Runn€r.26: Kiểm tra tình trang Gitlab Runner trên clusfer.- --- c3 12111211111 1111 11111118 118111011111 E1 ky 83 DANH MỤC TU VIET TAT Từ viết tắt Từ đầy du Giải thích CSDL Cơ sở dit liệu Cơ sở đữ liệu cho ứng dụng HTTP HyperText Transfer Protocol Giao thức truyền siêu văn ban JSON JavaScript Object Notation Dinh dang trao đổi dit liệu UI User Interface Giao diện người dùng SDK Software Development Kit Bộ sưu tập các công cụ phat triển phần mềm API Application Programming Giao diện lập trình ứng dụng Interface CUCD Continuous Integration and Quy trinh tich hop va trién khai Continuous Delivery liên tục VM Virtual Machine Máy ảo OS Operating System Hệ điều hành Chương 1. TONG QUAN DE TÀI 1.
Phát biểu dé tai nghiên cứu Việt Nam đang là một trong những nước có nganh dịch vụ đang trên đà phát triển mạnh, đặc biệt ngành dịch vụ đang đóng góp ngày càng cao trong tỉ trọng GPD của cả nước và được kỳ vọng là sẽ chiếm đến 43% GPD vào năm 2025. Lượng khách du lịch nội địa và quốc tế đỗ về Việt Nam là cực kì cao với con số thống kê cho năm 2018 là 15,5 triệu lượt người đối với du khách quốc tế. Song song với đó, xu hướng du lịch ngẫu hứng, du lịch phượt đang được các bạn trẻ cực kì ưa chuộng vì tính tự do về thời gian và địa điểm du lịch cũng như tính linh hoạt khi có thé tự do lựa chọn phương tiện như xe máy, xe đạp hay xe hơi, cũng như có thé tổ chức đi cá nhân hoặc đi thành các nhóm nhỏ và lớn khác nhau. Chính vi thé mà du lịch đang là một thị trường vô cùng tiềm năng để khai thác.
Với nhiều loại hình du lịch khác nhau mà nhu cầu của khách du lịch cũng càng ngày càng trở nên đa dạng hơn trước rất nhiều, đi kèm theo đó là sự yêu cầu ngày càng cao về tính tiện dụng và sự ứng dụng của công nghệ vào trong các sản phẩm dịch vụ cho du lịch. Minh chứng cho điều này là ngày càng có nhiều các sản phẩm công nghệ đáp ứng cho các nhu cầu khác nhau của du lịch như đặt vé xe, lên lịch trình cho chuyến du lịch, đặt phòng, thuê hướng dẫn viên, review đặc sản,. Có thé ké tên một số các ứng dụng du lich đang rất thịnh hành trên thị trường ngày nay như VeXeRe, Booking, Agoda, Trivago, TripAdvisor, diadiemdulich. Da số các san phẩm kê trên đều đánh vào các nhu cầu về đặt phòng, giới thiệu địa điểm du lịch hay đặt vé xe khách, khá ít sản phẩm phục vụ cho van dé chia sẻ lịch trình và hẹn nhóm di du lịch cùng nhau.1: Hình thức du lịch phượt dang trở nên ngày càng phổ biến trong giới trẻ 1.
Mục tiêu và phạm vi của đề tài 1. Mục tiêu - Muc tiêu cuối cùng của đề tài: phát triển được một hệ thống hỗ trợ tư vấn và chia sẻ thông tin du lịch cùng nhau bằng kiến trúc microservices. - Tao ra ứng dụng với giao diện thân thiện va dé sử dung, bao gồm các tính năng cần thiết phục vụ cho nhu cầu tạo, quản lý và chia sẻ thông tin cho nhóm cùng du lịch, theo dõi realtime vi trí của các thành viên trong đoàn khi di chuyên dé liên lạc và khắc phục nhanh sự cố nếu có, tìm kiếm địa điểm cung cấp các tiện ích trong quá trình du lịch: quán ăn, tiệm sửa xe, nha tro,. - Tich hợp với các ứng dụng mang xã hội tiện cho việc chia sẻ và mời gọi bạn bè cùng tham gia du lịch.
Phạm vi - Đối tượng nghiên cứu: Công nghệ phát triển và triển khai hệ thống microservices, đồng thời nghiên cứu và phát triển công nghệ hybrid mobile application bang React Native - Thoi gian nghiên cứu: Dữ liệu thu thập và các định hướng, giải pháp được đề xuất từ thời gian nhận đề tài tới lúc hoàn thành ứng dụng.