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

Báo cáo đồ án ứng dụng du lịch

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 (1 MB, 28 trang )

MỞ ĐẦU
Đang trên đà phát triển theo hướng công nghiệp hóa, hiện đại hóa, Việt
Nam ln là điểm sáng thu hút các du khách nước ngoài như Hàn Quốc, Đài
Loan, Nhật Bản, Châu Âu. Việt Nam tuy đang trong thời kỳ phát triển đất nước
nhưng lại vẫn giữ được những điểm thu hút của văn hóa và bảo tồn được các
địa điểm, di tích lâu đời của đất nước. Đây là một lợi thế và cơ hội phát triển
ngành du lịch
Lượng khách quốc tế đến Việt Nam trong tháng 9/2019 ước đạt 1.561.274
lượt, tăng 28,8% so với tháng 9/2018. Tính chung 9 tháng năm 2019, tổng lượng
khách quốc tế đến Việt Nam ước đạt 12.870.506 lượt khách, tăng 10,8% so với
cùng kỳ năm 2018, theo thống kê của tổng cục du lịch.
Trong thời đại hôm nay việc du lịch là một phần của việc nâng cao chất
lượng đời sống tinh thần của mọi người. Tuy nhiên, để có thể tìm được những
địa điểm để tạo nên các chuyến du lịch vui vẻ và đem lại nhiều kỷ niệm về
chuyến đi thì rất khó bởi nếu bạn đi đến một nơi mới bạn khơng thể tìm được
những nơi đẹp đáp ứng được các yêu cầu của chuyến đi, hiểu được những vấn đề
đó chúng em đã thiết kế một ứng dụng hỗ trợ Android nhằm giải quyết vấn đề
đó.


LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành và sâu sắc đến các thầy cô đặc
biệt là giảng viên TS Huỳnh Ngọc Thọ trong thời gian qua đã giúp đỡ chúng em
trong việc hoàn thành bài báo cáo đồ án cơ sở.
Mặc dù gặp nhiều khó khăn trong việc hoàn thành bài đồ án này, tuy
nhiên chúng em vẫn cố gắng để thực hiện hoàn chỉnh nhất bài báo cáo. Tuy
nhiên, vì chưa có đầy đủ kỹ năng cũng như kinh nghiệm để hoàn thành bài báo
cáo đồ án nên chúng em vẫn cịn nhiều thiếu sót. Rất mong được sự đóng góp ý
kiến của thầy cơ để bài báo cáo đồ án được hoàn thiện hơn, em xin chân thành
cảm ơn.



NHẬN XÉT
(Của giảng viên hướng dẫn)
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
…………………………………………………………........................................

Chữ ký của giáo viên hướng dẫn



MỤC LỤC


DANH MỤC BẢNG


DANH MỤC HÌNH


CHƯƠNG 1 : GIỚI THIỆU
1.1 Tổng quan
Đang trên đà phát triển theo hướng cơng nghiệp hóa, hiện đại hóa, Việt
Nam luôn là điểm sáng thu hút các du khách nước ngoài như Hàn Quốc, Đài
Loan, Nhật Bản, Châu Âu. Việt Nam tuy đang trong thời kỳ phát triển đất nước
nhưng lại vẫn giữ được những điểm thu hút của văn hóa và bảo tồn được các
địa điểm, di tích lâu đời của đất nước. Đây là một lợi thế và cơ hội phát triển
ngành du lịch
Lượng khách quốc tế đến Việt Nam trong tháng 9/2019 ước đạt 1.561.274
lượt, tăng 28,8% so với tháng 9/2018. Tính chung 9 tháng năm 2019, tổng lượng
khách quốc tế đến Việt Nam ước đạt 12.870.506 lượt khách, tăng 10,8% so với
cùng kỳ năm 2018, theo thống kê của tổng cục du lịch.
Trong thời đại hôm nay việc du lịch là một phần của việc nâng cao chất
lượng đời sống tinh thần của mọi người. Tuy nhiên, để có thể tìm được những
địa điểm để tạo nên các chuyến du lịch vui vẻ và đem lại nhiều kỷ niệm về
chuyến đi thì rất khó bởi nếu bạn đi đến một nơi mới bạn khơng thể tìm được
những nơi đẹp đáp ứng được các yêu cầu của chuyến đi, hiểu được những vấn đề
đó chúng em đã thiết kế một ứng dụng hỗ trợ Android nhằm giải quyết vấn đề
đó.
Nội dung thực hiện bao gồm trang chủ, trang đăng nhập, đăng ký, trang
tìm kiếm,tour du lịch, cẩm nang du lịch, bài viết yêu thích, giỏ hàng.



1.2 Phương pháp, kết quả
-

-

Phương pháp : Để xây dựng một phần mềm du lịch, đầu tiên chúng ta
phải hình thành ý tưởng của mình. Tiếp theo, chúng ta sẽ tham khảo các
ứng dụng đã có để tiếp thu những kiến thức để định hướng ý tưởng, phác
thảo ý tưởng của mình ra giấy, nắm được các kiến thức về ngơn ngữ lập
trình như sử dụng mơ hình .......... cuối cùng chúng ta sẽ bắt đầu vào việc
thực hiện dự án.
Kết quả : Có được một ứng dụng hỗ trợ cho mọi người có nhu cầu du
lịch.

1.3 Cấu trúc đồ án
-

Chương 2: Nghiên cứu tổng quan
2.1 Các phương pháp
2.2 Hạn chế còn tồn tại
2.3 Kết luận
2.4 Cơ sở lý thuyết

-

Chương 3: Phân tích thiết kế hệ thống
3.1 Phạm vi
3.2 Đối tượng hướng đến

3.3 Chức năng
3.4 Người sử dụng
3.5 Yêu cầu của từng người sử dụng
3.6 Mô tả Use-case
3.7 Biểu đồ Use-case
3.8 Biểu đồ Class
3.9 Biểu đồ tuần tự
3.10 Biểu đồ hoạt động

-

Chương 4: Triển khai xây dựng hệ thống
4.1 Mô hình tổng quan của hệ thống nghiên cứu
4.2 Thiết kế chi tiết

-

Chương 5: Kết luận và hướng phát triển
5.1 Kết luận
5.2 Hướng phát triển.


CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN
2.1 Các phương pháp
-

Các ứng dụng hiện có: Hiện nay, các ứng dụng du lịch xuất hiện khá
nhiểu. Khi bạn tìm kiếm từ khóa “Ứng dụng du lịch” trên Google sẽ xuất
hiện nhiều ứng dụng như : TripAdvisor, Traveloka, MAPS.ME,…


TripAdvisor


Traveloka

MAPS.ME
-

Hiện nay những ứng dụng du lịch thường có giao diện bắt mắt, thân thiện
với người dùng, dễ dàng sử dụng và độ uy tín khá cao, thu hút người
dùng.


2.2 Hạn chế cịn tồn tại
-

Hiện nay có rất nhiều phần mềm du lịch, đa dạng về chức năng, thuận
tiện cho người sử dụng vì mới mẻ nên vẫn đang trên đường hoàn thiện,
những hạn chế của các phần mềm hiện nay là :
+ Các địa điểm du lịch vẫn chưa phân ra một cách chi tiết nhất.
+ Chưa hỗ trợ được nhiều địa điểm du lịch.
+ Các địa điểm mới vẫn chưa được giới thiệu.
+ Vấn đề về hỗ trợ vẫn chưa được nâng cao.
+ Người dùng khó nhận được những nhận xét của những người đã từng
tới địa điểm đó.

2.3 Kết luận
-

Chúng ta cần một ứng dụng gần gủi với người dùng nhất, cập nhật đầy đủ

các các địa điểm du lịch nổi tiếng và địa điểm mới có khả năng đáp ứng
lại nhu cầu du lịch của người dùng trong tương lai.

2.4 Cơ sở lý thuyết
2.4.1 Sử dụng phần mềm Android Studio
a. Khái niệm :
-

Android Studio là IDE (Mơi trường phát triển tích hợp)
chính thức cho nền tảng Android, được phát triển bởi
Google và được sử dụng để tạo phần lớn các ứng dụng mà
bạn có thể sử dụng hàng ngày. Nó cung cấp giao diện để tạo
các ứng dụng và xử lý phần lớn các công cụ quản lý file
phức tạp đằng sau hậu trường. Ngôn ngữ lập trình được sử
dụng ở đây là Java và được cài đặt riêng trên thiết bị của
bạn.

Android Studio


b. Ưu điểm :
-

-

-

Lập trình bằng ngơn ngữ Java cho phép nó chạy trơn tru
trên các thiết bị Android và tận dụng lợi thế của phần cứng
gốc.\

Android Studio sẽ cấp quyền truy cập vào Android SDK.
Android Studio kích hoạt để chạy code, thơng qua trình giả
lập hoặc qua một phần cứng kết nối với thiết bị.
Bạn cũng có thể “gỡ rối” chương trình khi nó chạy và nhận
phản hồi giải thích sự cố, v.v… để bạn có thể nhanh chóng
giải quyết vấn đề.
Nó cung cấp những gợi ý trực tiếp trong khi viết code và
thường đề xuất những thay đổi cần thiết để sửa lỗi hoặc làm
code hiệu quả hơn. Ví dụ, nếu khơng sử dụng biến, biến đó
sẽ được tô đậm bằng màu xám. Và khi bắt đầu gõ một dòng
code, Android Studio sẽ cung cấp danh sách gợi ý tự hồn
thành để giúp bạn hồn thiện dịng code đó. Chức năng này
rất hữu ích khi bạn khơng nhớ được chính xác cú pháp hoặc
để tiết kiệm thời gian.

2.4.2 Phương pháp RESTful API

REST API

a. Khái niệm
-

-

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API
cho các ứng dụng web (thiết kế Web services) để tiện cho việc
quản lý các resource. Nó chú trọng vào tài nguyên hệ thống
(tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao
gồm các trạng thái tài nguyên được định dạng và được truyền
tải qua HTTP.

API (Application Programming Interface) là một tập các quy
tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ
tương tác với một ứng dụng hay thành phần khác. API có thể


-

-

trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu
dữ liệu phổ biến như JSON hay XML.
REST (REpresentational State Transfer) là một dạng chuyển
đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API. Nó sử dụng
phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy.
Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông
tin người dùng, REST gửi một yêu cầu HTTP như GET, POST,
DELETE, vv đến một URL để xử lý dữ liệu.
Chức năng quan trọng nhất của REST là quy định cách sử dụng
các HTTP method (như GET, POST, PUT, DELETE…) và
cách định dạng các URL cho ứng dụng web để quản các
resource. RESTful không quy định logic code ứng dụng và
không giới hạn bởi ngơn ngữ lập trình ứng dụng, bất kỳ ngơn
ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một
RESTful API.

b. Ưu điểm
-

REST thích ứng tốt với các công nghệ web mới, dễ dàng sử
dụng và bảo trì.

Tách biệt rõ ràng giữa server và client, chỉ giao tiếp thông qua
các phương thức HTTP và URI (đọc lại bài viết REST 101).
Các thơng tin có thể được lưu lại phía client → tránh phải gọi
đến resource nhiều lần.
Có thể sử dụng bất kỳ cấu trúc nào (XML, JSON, hoặc cấu trúc
do server và client quy ước với nhau).

c. Nhược điểm
-

Chỉ hoạt động trên các giao thức HTTP.
Việc bảo mật và xác thực có thể khơng đảm bảo.


CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Phạm vi
3.1.1 Những việc sẽ làm:
-

Cung cấp cho người sử dụng, nhà quản lý một giao diện hỗ trợ tiện
ích cùng những chức năng cần thiết để thao tác, cũng như tương tác
với ứng dụng đồng thời có thể quản lý hoạt động của người dùng cũng
như việc làm để theo dõi tình hình phát triển của ứng dụng.

3.1.2 Những việc khơng làm
-

Ứng dụng chỉ cung cấp những thông tin cần thiết để hỗ trợ cho những
chuyến du lịch của người dùng. Cập nhật các đánh giá để phát triển
nhưng không sử dụng ứng dụng để theo dõi người dùng.


3.2 Đối tượng hướng đến
-

Đối tượng hướng đến chủ yếu là những người đang cần thông tin để xây
dựng các chuyến du lịch, các du khách nước ngồi hay những người có
mong muốn được đến những địa điểm mới.

3.3 Chức năng
-

Đăng nhập/ Đăng ký
Xem thơng tin bài viết/ thơng tin tour
Tìm kiếm bài viết
Đặt tour
Xem bài viết u thích
Xem giỏ hàng
Xem/ Sửa thơng tin người dùng
Bình luận
Hủy tour

3.4 Người sử dụng
-

Quản trị viên
Người dùng

3.5 Yêu cầu của từng người sử dụng
3.5.1 Người dùng
-


Đăng nhập/ Đăng ký
Tìm kiếm bài viết
Xem thơng tin tour/ bài viết
Xem/ sửa thơng tin cá nhân
Đặt tour/ Xóa tour
Xem giỏ hàng
Bình luận
u thích bài viết


-

Gửi thắc mắc, góp ý

3.5.2 Quản trị viên
-

Đăng nhập
Quản lý tour
Quản lý người dùng
Thêm - Sửa - Xóa bài viết/tour

3.6 Mô tả Use-case
3.6.1 Người dùng
Tên Usecase
Actor
Mô tả
Dữ liệu vào
Kết quả

Quá trình xử lí

Đăng nhập
Người dùng
Nhằm đảm bảo an tồn cho hệ thống và phân quyền người sử
dụng
Username
Password
Đăng nhập thành công nếu trong CSDL tồn tại username và
password, không thành công nếu sai username hoặc password
B1: Nhập username và password
B2: Kiểm tra trong CSDL và trả về kết quả

Tên Usecase

Đăng ký

Actor

Người dùng

Mơ tả

Nhằm đảm bảo an tồn cho hệ thống, phân quyền người sử dụng
và người dùng có thể thực hiện được các chức năng của ứng
dụng
Username
Password
Và các thông tin khác
Đăng ký thành công nếu nhập đầy đủ thông tin và nó khơng tồn

tại trong CSDL, khơng thành cơng nếu đã tồn tại username
B1: Nhập username, password và các thông tin
B2: Kiểm tra trong CSDL và trả về kết quả

Dữ liệu vào
Kết quả
Q trình xử lí

Tên Usecase
Actor

Tìm kiếm việc làm
Người dùng


Mơ tả
Dữ liệu vào
Kết quả
Q trình xử lí

Tên Usecase
Actor
Mơ tả
Dữ liệu vào
Kết quả
Q trình xử lí

Giúp người tìm việc có thể tìm ra được các thơng tin mà mình
mong muốn
Chuỗi đã nhập vào thanh tìm kiếm hoặc từ các option đã định

dạng sẵn
Tìm kiếm có kết quả nếu trong CSDL tồn tại chuỗi mà người
dùng nhập, khơng tìm thấy nếu chuỗi không hợp lệ hoặc không
tồn tại trong CSDL
B1: Nhập thơng tin cần tìm kiếm vào thanh tìm kiếm
B2: Kiểm tra trong CSDL và trả về kết quả

Bình luận bài viết/ tour
Người dùng
Nhằm để cho người dùng có thể đánh giá chân thực nhất về bài
viết
Mã người dùng
Mã bài viết/ tour
Thơng tin được nhập vào thanh bình luận bài viết/ tour
Bình luận thành cơng nếu đã nhập thơng tin vào thanh bình luận,
khơng thành cơng nếu chưa có bình luận
B1: Hiển thị trang chi tiết của bài viết
B2: Nhập bình luận vào thanh bình luận
B3: Bấm nút bình luận để đánh giá về bài viết


Tên Usecase
Actor
Mơ tả
Dữ liệu vào
Kết quả
Q trình xử lí

Tên Usecase
Actor

Mơ tả
Dữ liệu vào
Kết quả
Q trình xử lí

Tên Usecase
Actor
Mơ tả
Dữ liệu vào
Kết quả
Q trình xử lí

Tên Usecase
Actor
Mơ tả

Xem chi tiết bài viết/ tour
Người dùng
Giúp cho người tìm việc có thể xem được chi tiết của bài viết
hoặc tour mà mình muốn
Mã bài viết/ tour
Hiển thị trang chi tiết bài viết/ tour
B1: Hiển thị giao diện trang danh sách bài viết/ tour
B2: Chọn vào 1 bài viết cần xem chi tiết
B3: Hiển thị giao diện trang chi tiết

Yêu thích bài viết
Người dùng
Giúp cho người dùng có thể lưu lại các bài viết mà mình thích để
xem lại sau

Mã bài viết
Mã người dùng
Thêm vào CSDL các cơng việc u thích
B1: Hiển thị giao diện trang danh sách bài viết
B2: Nhấp chuột vào icon trái tim ở phần chi tiết bài viết
B3: Thêm vào CSDL các cơng việc u thích

Sửa thơng tin cá nhân
Người dùng
Giúp cho người dùng có thể cập nhật lại thơng tin cá nhân
Mã người dùng
Thay đổi thông tin cá nhân thành công nếu nhập đầy đủ thông tin
và đúng định dạng, không thành công nếu dữ liệu nhập vào
không đầy đủ hoặc sai định dạng
B1: Hiển thị giao diện thay đổi thông tin cá nhân
B2: Nhập lại các thông tin cần thay đổi
B3: Bấm nút thay đổi nếu đã hoàn thành xong
B4: Cập nhật lại CSDL về thông tin người dùng
B5: Hiển thị thay đổi thông tin thành công

Đặt tour
Người dùng
Giúp cho người dùng có thể đặt các tour mong muốn vào giỏ
hàng


Dữ liệu vào
Kết quả

Mã người dùng

Mã tour
Người dùng thêm được tour mong muốn vào giỏ hàng cá nhân

Quá trình xử lí

B1: Hiển thị tranh chi tiết tour
B2: Bấm vào nút thêm giỏ hàng
B3: Cập nhật lại CSDL về thông tin giỏ hàng
B4: Hiển thị thêm tour thành công

Tên Usecase
Actor
Mô tả
Dữ liệu vào

Xóa tour
Người dùng
Giúp cho người dùng có thể xóa tour khơng mong muốn
Mã người dùng
Mã tour
Xóa đi những tour khơng mong muốn.

Kết quả
Q trình xử lí

B1: Hiển thị giao diện giỏ hàng
B2: Bấm nút xóa hiển thị trước tour khơng mong muốn
B3: Bấm nút đồng ý nếu muốn xóa hoặc hủy khi không muốn
B4: Cập nhật lại CSDL về thông tin giỏ hàng
B5: Hiển thị thay đổi của giỏ hàng


Tên Usecase
Actor
Mơ tả

Gửi thắc mắc, góp ý
Người dùng
Giúp cho người dùng có thể gửi các thắc mắc góp ý về cho đội
ngũ phát triển ứng dụng
Mã người dùng
Thông tin nhập vào từ thanh góp ý
Góp ý được gửi đến cho đội ngũ phát triển ứng dụng

Dữ liệu vào
Kết quả
Quá trình xử lí

B1: Hiển thị giao diện góp ý
B2: Nhập vào các góp ý
B3: Bấm nút gửi nếu đã hồn thành xong
B4: Cập nhật lại CSDL thêm vào góp ý
B5: Quay lại giao diện góp ý

3.7 Mơ tả cơ sở dữ liệu
3.7.1 Các bảng trong cơ sở dữ liệu
Các trường

Kiểu dữ
liệu


Ràng buộc

Mô tả


1

IDTour

Int

Primary key

Mã tour

2

NameTour

Varchar

Not null

Tên tour

3

DepartureDay

Date


Not null

Ngày bắt đầu

4

Plan

Text

Not null

Kế hoạch

5

Howlong

Varchar

Not null

Số ngày của tour

6

Empty

Int


Not null

Số người

7

Image

Varchar

Not null

Hình ảnh

8

Money

Int

Not null

Số tiền

9

Continents

Varchar


Null

Châu lục của tour

10 Area

Varchar

Null

Khu vực

11 IDClassity

Int

Not null

Mã loại du lịch

Bảng Tour du lịch

Các trường

Kiểu dữ liệu

Ràng buộc

Mô tả


IDClassity

Int

Primary key

Mã loại du lịch

Place

Varchar

Not null

Tên loại

Bảng loại khu vực

Các trường

Kiểu dữ liệu

Ràng buộc

Mô tả

IDTour

Int


Primary key

Mã tour

Adult

Int

Not null

Giá cho người lớn

Child

Int

Not null

Giá cho trẻ em (7 – 17)

Baby

Int

Not null

Giá cho trẻ em (1 – 7)

Bảng giá tiền



Các trường

Kiểu dữ liệu

Ràng buộc

Mơ tả

IDTour

Int

Primary key

Mã Tour

Img1

Varchar

Not null

Hình ảnh chi tiết

Img2

Varchar


Not null

Hình ảnh chi tiết

Img3

Varchar

Not null

Hình ảnh chi tiết

Img4

Varchar

Not null

Hình ảnh chi tiết

Bảng hình ảnh chi tiết tour

Các trường

Kiểu dữ liệu

Ràng buộc

Mơ tả


IDBill

Int

Primary key

Mã hóa đơn

NameTour

Varchar

Not null

Tên tour

Image

Varchar

Not null

Hình ảnh

Day

Date

Not null


Số ngày

Status

Varchar

Not null

Trạng thái hóa đơn

IDTour

Int

Not null

Mã tour

Bảng hóa đơn

Các trường

Kiểu dữ liệu

Ràng buộc

Mô tả

ID


Int

Primary key

Mã số

Name

Varchar

Not null

Tên tour

Email

Varchar

Not null

Email

Avatar

Varchar

Not null

Ảnh đại diện


IDCustomer

Int

Not null

Mã mã người dùng

Bảng người dùng khác


Các trường

Kiểu dữ liệu

Ràng buộc

Mơ tả

IDBill

Int

Primary key

Mã Hóa đơn

IDCustomer

Int


Not null

Mã người dùng

NameCustome
r

Varchar

Not null

Tên người dùng

Email

Varchar

Not null

Email người dùng

Phone

Varchar

Not null

Số điện thoại người dùng


Address

Varchar

Not null

Địa chỉ người dùng

Status

Int

Not null

Trạng thái hồ sơ

Adult

Int

Not null

Số lượng người lớn

Child

Int

Not null


Số lượng người lớn

Baby

Int

Not null

Số lượng người lớn

Note

Varchar

Not null

Ghi chú

Status

Varchar

Not null

Trạng thái

TotalMoney

Varchar


Not null

Tổng tiền

Cancel

Varchar

Null

Hủy

Bảng chi tiết hóa đơn

Các trường

Kiểu dữ liệu

Ràng buộc

Mơ tả

IDCustomer

Int

Primary key

Mã người dùng


Email

Varchar

Not null

Email

Content

Varchar

Not null

Bình luận

Update_at

Timestamp

Not null

Thời gian sửa đổi

Created_at

Timestamp

Null


Thời gian gửi

Date

Date

Not null

Ngày gửi

Bảng bình luận


3.7.2 Liên kết giữa các bảng trong CSDl

Liên kết giữa các bảng trong csdl


3.8 Biểu đồ Use-case

Sơ đồ use-case người dùng

Sơ đồ use-case quản trị viên


Sơ đồ use-case hệ thống


3.9 Biểu đồ lớp


3.10 Biểu đồ tuần tự

Biểu đồ tuần tự đăng nhập của người dùng


×