Tải bản đầy đủ (.pdf) (69 trang)

Đồ án ứng dụng gọi xe chung cho sinh 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 (1.13 MB, 69 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

ỨNG DỤNG GỌI XE CHUNG CHO SINH VIÊN

GV HƯỚNG DẪN:
Trần Anh Dũng
SV THỰC HIỆN:
Lê Minh Quân – 20520708
Nguyễn Hoàng Kiệt - 20520068

TP. HỒ CHÍ MINH, 07/2023


LỜI CẢM ƠN
Lời đầu tiên, nhóm thực hiện xin gửi lời cảm ơn đến trường Đại Học Công
Nghệ Thông Tin – Đại học Quốc gia Thành phố Hồ Chí Minh và khoa công nghệ
phần mềm đã tạo điều kiện cho nhóm có cơ hội học tập và làm việc với môn học này,
luôn tạo điều kiện tốt nhất để sinh viên có thể hồn thành tốt q trình học tại trường
nói chung và trong mơn học này nói riêng.
Tiếp theo, nhóm em xin gửi lời cảm ơn chân thành tới thầy Trần Anh Dũng,
giảng viên trực tiếp phụ trách giảng dạy lớp với môn Đồ án 1. Thầy đã tận tình hướng
dẫn, chỉ bảo với những phân tích định hướng rõ ràng cho nhóm trong suốt q trình
thực hiện đề tài, là tiền đề để nhóm có thể hồn thành đề tài đúng hạn. Thầy cũng tạo
điều kiện thuận lợi nhất có thể với các tài liệu cần thiết liên quan, giải đáp thắc mắc
tại lớp khi các nhóm gặp khó khăn.
Và cuối cùng, xin cảm ơn tất cả các bạn trong nhóm đã cùng nhau chia sẻ cơng


việc, hồn thành tốt trách nhiệm của cá nhân trong suốt quá trình thực hiện với sự
hướng dẫn của thầy và phân cơng của nhóm trưởng, là yếu tố quan trọng nhất để hồn
thành tốt mục tiêu mơn học. Mặc dù đã cố gắng hoàn thành đề tài với tất cả sự cố
gắng nhưng tất nhiên chúng em vẫn còn mắc phải những sai sót, khuyết điểm trong
đề tài, mong nhận được sự thông cảm của Thầy và những lời nhận xét để giúp nhóm
cải thiện.
Nhóm rất mong nhận sự góp ý từ phía thầy nhằm giúp nhóm rút ra những kinh
nghiệm quý báu, hoàn thiện vốn kiến thức đã học tập để là hành trang cho nhóm có
thể tiếp tục hồn thành những đồ án tiếp theo trong tương lai.
Xin chân thành cảm ơn thầy!


MỤC LỤC
DANH MỤC HÌNH ....................................................................................................1
DANH MỤC BẢNG ...................................................................................................2
DANH MỤC TỪ VIẾT TẮT ......................................................................................3
TÓM TẮT ĐỒ ÁN......................................................................................................4
NỘI DUNG ĐỒ ÁN..................................................................................................12
CHƯƠNG 1. MỞ ĐẦU ...........................................................................................12
1.1. Lý do chọn đề tài ............................................................................................12
1.2. Mục đích nghiên cứu ......................................................................................12
1.2.1. Khách quan..............................................................................................12
1.2.2. Chủ quan .................................................................................................13
1.3. Đối tượng nghiên cứu.....................................................................................13
1.3.1. Các công nghệ nghiên cứu ......................................................................13
1.3.2. Đối tượng sử dụng đề tài hướng đến .......................................................13
1.4. Phạm vi nghiên cứu ........................................................................................14
1.4.1. Phạm vi môi trường.................................................................................14
1.4.2. Phạm vi chức năng ..................................................................................14
CHƯƠNG 2. KIẾN THỨC NỀN TẢNG .................................................................15

2.1. Flutter .............................................................................................................15
2.2. NodeJs ............................................................................................................16
2.3. MongoDb .......................................................................................................17
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG..................................................................18
3.1. Kiến trúc hệ thống: Mơ hình Client-Server ...................................................18
3.2. Chi tiết các thành phần trong hệ thống ..........................................................18


3.3. Thiết kế sơ đồ lớp ...........................................................................................20
CHƯƠNG 4. ĐẶC TẢ USE-CASE .........................................................................21
4.1. Đăng kí tài khoản ...........................................................................................21
4.2. Đăng nhập bằng tài khoản ..............................................................................22
4.3. Quên mật khẩu ...............................................................................................23
4.4. Đăng nhập bằng phương thức khác ................................................................24
4.5. Xem thông tin cá nhân ...................................................................................25
4.6. Thay đổi thông tin cá nhân .............................................................................25
4.7. Thêm mới bài đăng ........................................................................................27
4.8. Xem thông tin bài đăng (qua bản đồ): ............................................................28
4.9. Xem thông tin bài đăng qua trang bài đăng: ..................................................29
4.10. Xem bài đăng của tơi....................................................................................30
4.11. Tìm kiếm thơng tin bài đăng ........................................................................31
4.12. Ứng tuyển vào bài đăng ...............................................................................33
4.13. Xem danh sách ứng tuyển bài đăng của mình .............................................34
4.14. Deal giá bài đăng ..........................................................................................35
4.15. Bắt đầu chuyến đi .........................................................................................36
4.16. Xem danh sách các cuộc trò chuyện ............................................................37
4.17. Nhắn tin, video call ......................................................................................38
4.18. Đánh giá sau chuyến đi ................................................................................40
4.19. Xem đánh giá ...............................................................................................41
CHƯƠNG 5. THIẾT KẾ CƠ SỞ DỮ LIỆU .............................................................43

5.1. Sơ đồ logic .....................................................................................................43
5.2. Danh sách các quan hệ ...................................................................................43


CHƯƠNG 6. THIẾT KẾ GIAO DIỆN .....................................................................45
6.1. Mô tả danh sách màn hình .............................................................................45
6.2. Mơ tả chi tiết từng màn hình ..........................................................................45
6.2.1. Màn hình Đăng nhập ...............................................................................46
6.2.2. Màn hình đăng ký....................................................................................47
6.2.3. Màn hình quên mật khẩu .........................................................................48
6.2.4. Màn hình xem thơng tin cá nhân .............................................................49
6.2.5. Màn hình chỉnh sửa thơng tin cá nhân ....................................................50
6.2.6. Màn hình danh sách các cuộc trị chuyện ...............................................51
6.2.7. Màn hình khung nhắn tin ........................................................................52
6.2.8. Màn hình khung gọi điện ........................................................................53
6.2.9. Màn hình đăng chuyến đi ........................................................................54
6.2.10. Màn hình danh sách chuyến đi ..............................................................55
6.2.11. Màn hình trang chủ ...............................................................................57
6.2.12. Màn hình ứng tuyển vào bài đăng .........................................................58
6.2.13. Màn hình quản lý người muốn đi cùng .................................................59
6.2.14. Màn hình đánh giá của bản thân ...........................................................60
CHƯƠNG 7. CÀI ĐẶT VÀ KIỂM THỬ .................................................................61
7.1. Môi trường cài đặt và kiểm thử ......................................................................61
7.2. Kết quả kiểm thử ............................................................................................61
CHƯƠNG 8. TỔNG KẾT.........................................................................................62
8.1. Kết quả đạt được ............................................................................................62
8.1.1. Thành quả ................................................................................................62
8.1.2. Hạn chế....................................................................................................62



8.2. Hướng phát triển ............................................................................................62
TÀI LIỆU THAM KHẢO .........................................................................................63


DANH MỤC HÌNH

Hình 2. 1 Flutter ........................................................................................................15
Hình 2. 2 NodeJs .......................................................................................................16
Hình 2. 3 MongoDb ..................................................................................................17
Hình 3. 1 Sơ đồ mơ hình Client-Server .....................................................................18
Hình 3. 2 Sơ đồ lớp ...................................................................................................20
Hình 4. 1 Use-case quản lý tài khoản........................................................................21
Hình 4. 2 Use-case quản lý bài đăng .........................................................................27
Hình 4. 3 Use-case nhận bài đăng .............................................................................33
Hình 5. 1 Sơ đồ logic ................................................................................................43
Hình 6. 1 Màn hình đăng nhập ..................................................................................46
Hình 6. 2 Màn hình đăng ký......................................................................................47
Hình 6. 3 Màn hình quên mật khẩu ...........................................................................48
Hình 6. 4 Màn hình xem thơng tin cá nhân ...............................................................49
Hình 6. 5 Màn hình chỉnh sửa thơng tin cá nhân ......................................................50
Hình 6. 6 Màn hình danh sách các cuộc trị chuyện .................................................51
Hình 6. 7 Màn hình khung nhắn tin ..........................................................................52
Hình 6. 8 Màn hình khung gọi điện ..........................................................................53
Hình 6. 9 Màn hình đăng chuyến đi ..........................................................................54
Hình 6. 10 Màn hình danh sách chuyến đi ................................................................55
Hình 6. 11 Màn hình trang chủ .................................................................................57
Hình 6. 12 Màn hình ứng tuyển vào bài đăng ...........................................................58
Hình 6. 13 Màn hình quản lý người muốn đi cùng ...................................................59
Hình 6. 14 Màn hình đánh giá của bản thân .............................................................60


1


DANH MỤC BẢNG

Bảng 3. 1 Các thành phần trong hệ thống .................................................................19
Bảng 5. 1 Danh sách các quan hệ ..............................................................................44
Bảng 6. 1 Danh sách các màn hình ...........................................................................45
Bảng 7. 1 Kết quả kiểm thử ......................................................................................61

2


DANH MỤC TỪ VIẾT TẮT

#

Từ viết tắt

Từ đầy đủ

Ý nghĩa

1

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu cho ứng dụng


2

API

Application Programming
Interface

Giao diện lập trình ứng dụng

3

HTTP

HyperText Transfer
Protocol

Giao thức truyền siêu văn bản

3


TÓM TẮT ĐỒ ÁN
Trong bối cảnh, sinh viên thường sống ở các khu vực xa trường và cần di
chuyển hàng ngày để đến lớp học hoặc tham gia các hoạt động ngoại khố. Khoảng
cách và thời gian di chuyển có thể gây phiền toái và tốn kém. Sở hữu một phương
tiện cá nhân hoặc sử dụng dịch vụ giao thông cơng cộng có thể tốn kém cho sinh viên.
Cùng một lúc, nhiều sinh viên có cùng hướng đi và có thể tận dụng tài nguyên giao
thông chung để giảm chi phí. Hệ thống giao thơng cơng cộng khơng ln đáp ứng
được nhu cầu di chuyển linh hoạt và tiện lợi cho sinh viên.

Ứng dụng gọi xe chung cho sinh viên giải quyết những vấn đề này bằng cách
tạo ra một cộng đồng sinh viên có thể chia sẻ chuyến đi và tận dụng hiệu quả tài
nguyên giao thông. Điều này giúp giảm thiểu thời gian di chuyển, giảm chi phí và
mang lại sự thuận tiện và linh hoạt cho sinh viên trong việc di chuyển trong khu vực
sinh sống của mình. Bên cạnh đó, ứng dụng cịn góp phần tăng cường mối quan hệ
xã hội, tạo cơ hội giao lưu và tương tác giữa các sinh viên trong cùng một cộng đồng.
Ứng dụng gọi xe chung cho sinh viên là một ứng dụng di động nhằm kết nối
sinh viên trong cùng một trường đại học hoặc khu vực sinh sống để chia sẻ chuyến đi
và tận dụng hiệu quả tài ngun giao thơng. Hệ thống hỗ trợ các tiện ích:
-

Chức năng đăng ký và đăng nhập

-

Tìm kiếm chuyến đi

-

Quản lý chuyến đi

-

Giao tiếp

-

Đánh giá và phản hồi

ĐỀ CƯƠNG CHI TIẾT


4


TÊN ĐỀ TÀI: Ứng dụng gọi xe chung cho sinh viên.

Cán bộ hướng dẫn:
- ThS. Trần Anh Dũng

Thời gian thực hiện: Từ ngày 01/03/2023 đến ngày kết thúc môn Đồ án 1

Sinh viên thực hiện:
Lê Minh Quân – 20520708
Nguyễn Hoàng Kiệt – 20520068

5


Nội dung đề tài
1. Lý do chọn đề tài:
Trong những năm gần đây, thuật ngữ “nền kinh tế chia sẻ” đang ngày càng được
nhắc đến nhiều hơn trên thế giới cũng như tại Việt Nam. Mơ hình này tận dụng được
giá trị của những tài sản, dịch vụ cá nhân một cách tối đa, giảm bớt sự lãng phí khi
các tài sản này không được sử dụng đồng thời tiết kiệm thời gian, chi phí cho các cá
nhân đang có nhu cầu sử dụng. Các hình thức kinh doanh theo mơ hình kinh tế chia
sẻ đặc biệt là trong lĩnh vực dịch vụ vận tải như Grab, Gojek,... cạnh tranh trực tiếp
với các hình thức vận tải truyền thống như xe ôm, taxi,... bởi giá cả rõ ràng minh
bạch và rẻ hơn rất nhiều so với xe ôm truyền thống. Khi đó, thế hệ trẻ, đặc biệt là
các sinh viên, sẽ là bộ phận khách hàng thường xuyên nhất của ứng dụng gọi xe.
Với mong muốn tạo ra một nền tảng để cùng nhau kết nối và chia sẻ chi phí cho

những bạn có cùng nhu cầu về di chuyển, đồ án “Ứng dụng gọi xe chung cho sinh
viên” thực sự là một đề tài thực tế để tối ưu hơn việc đặt xe cho các bạn trẻ nói chung
và các bạn sinh viên nói riêng.
2. Mục tiêu:
- Xây dựng ứng dụng:
● Ứng dụng có thể chạy trên Android và IOS, 2 phiên bản có sự đồng bộ về cơ
sở dữ liệu.
● Quản lý được các thông tin của người dùng như vị trí, thơng tin cá nhân,...
● Đưa ra các gợi ý cho người dùng có thể tối ưu được chuyến xe để tiết kiệm
được chi phí.
● Đưa ra được thống kê, báo cáo, và lịch sử về chuyến đi của người dùng.
● Cung cấp giao diện rõ ràng, dễ sử dụng, người dùng có thể theo dõi chuyến
đi của mình thơng qua bản đồ trên app.
3. Phạm vi:
- Phạm vi môi trường: Mobile (IOS và Android)
- Phạm vi chức năng:
- Đối với ứng dụng:

6


● Cung cấp chức năng đăng tải, thay đổi và xóa bài viết tìm tài xế và tìm người
đi chung.
● Cung cấp các chức năng nhắn tin, gọi điện giữa tài xế và hành khách, hoặc
với người đi chung.
● Cung cấp chức năng đánh giá sau mỗi chuyến đi (dành cho cả hành khách và
tài xế).
● Cung cấp chức năng theo dõi hành trình chuyến đi cho cả tài xế và người đi
cùng.
● Cung cấp chức năng quản lý thông tin cá nhân của người dùng và hiển thị

thông tin cá nhân của tài xế khi bắt đầu chuyến đi.
4. Đối tượng sử dụng:
- Ứng dụng chủ yếu dành cho các bạn sinh viên có nhu cầu tìm người để chở để
kiếm thêm thu nhập hoặc các bạn sinh viên có mong muốn tìm người đi chung với
mình để tiết kiệm chi phí.
5. Phương pháp thực hiện:
- Phương pháp làm việc:
● Làm việc nhóm 2 thành viên thơng qua cả 2 phương thức online và offline
dưới sự hướng dẫn của giảng viên hướng dẫn.
- Phương pháp nghiên cứu:
● Nghiên cứu về những hệ thống đặt xe sẵn có và nghiên cứu nhu cầu, thói
quen của người dùng ứng dụng.
● Nghiên cứu tài liệu các công nghệ liên quan.
- Phương pháp công nghệ:
● Công cụ xây dựng phần mềm: Visual Studio Code 2022.
● Hệ quản trị cơ sở dữ liệu: MongoDB
● Mơn học lập trình ứng dụng trên di động nói chung và các ngơn ngữ lập trình
Dart (Flutter - xây dựng giao diện mobile), Javascript (NodeJS - xây dựng
server).
● Quản lý source code thông qua Github
● Sử dụng Google doc, Office 365 Word… để quản lý tiến trình và tài liệu

7


6. Nền tảng công nghệ:
- Front-end: Flutter
- Back-end: Node JS - Express
- Database: MongoDB
- Visual Studio Code

- Android Studio
7. Kết quả mong đợi:
- Ứng dụng di động hoạt động ổn định, có thể xử lý thơng tin nhanh chóng…
8. Hướng phát triển của đề tài:
- Thêm các tính năng thanh tốn online cho chuyến đi có tốn phí (tìm tài xế).
- Nâng cấp giao diện, thêm bộ chuyển đổi ngôn ngữ sang tiếng Anh.
- Nâng cấp source code, tăng tốc độ xử lý của ứng dụng nhanh chóng, ổn định.
9. Kế hoạch làm việc:
- Thời gian thực hiện từ ngày 01/3/2022 đến ngày kết thúc môn Đồ án 1
- Gồm 7 sprint với thời gian mỗi sprint kéo dài 2 tuần
● Sprint 1: Soạn đề cương chi tiết
● Sprint 2: Khâu chuẩn bị, chuẩn bị tài liệu, chuẩn bị bản vẽ, xây dựng CSDL
● Sprint 3: Xây dựng ứng dụng, tập trung vào các phần liên kết (liên kết
Database,...).
● Sprint 4: Lập trình các tính năng cơ bản
● Sprint 5 và 6 : Hồn thiện tính năng của ứng dụng và kiểm thử
● Sprint 7: Tổng kiểm thử và viết báo cáo

Sprint

Thời gian

Công việc dự kiến

8


Sprint 1

01/03/2023 – 17/03/2023


Tìm hiểu và xác định phạm vi,
hướng phát triển của đề tài
Tìm hiểu và phân tích các yêu cầu
nghiệp vụ của đề tài
Viết tài liệu, đề cương chi tiết

Sprint 2

18/03/2023 – 31/03/2023

Tìm hiểu cơng nghệ
Xây dựng bản vẽ
Xây dựng CSDL

Sprint 3

01/4/2023 – 14/04/2023

Lập trình giao diện ứng dụng
Lập trình các tính năng cơ bản của
ứng dụng
Liên kết CSDL vào ứng dụng

Sprint 4

15/10/2023 – 28/04/2023

Lập trình giao diện ứng dụng
Lập trình các tính năng cơ bản của

ứng dụng

Sprint 5

29/04/2023 – 12/05/2023

Tiếp tục hồn thiện các tính năng
của ứng dụng
Kiểm thử ứng dụng

9


Sprint 6

13/05/2023 – 26/05/2023

Tiếp tục hồn thiện các tính năng
của ứng dụng
Kiểm thử ứng dụng
Triển khai ứng dụng

Sprint 7

27/05/2023 – 10/06/2023

Tổng kiểm thử ứng dụng đã triển
khai
Viết báo cáo


10. Phân cơng cơng việc:

Cơng việc

Mơ tả cơng việc

Cơng việc chung

Tìm hiểu cơng nghệ
Phân tích u cầu
Kiểm thử ứng dụng
Triển khai ứng dụng
Chuẩn bị tài liệu, viết báo cáo

Nguyễn Hoàng Kiệt

10

Lê Minh Quân


Cơng việc cá nhân

Lập trình Back-end

Lập trình Front-end

Xây dựng CSDL

Xây dựng bản vẽ


Quản lý tiến độ

Liên kết CSDL

Tp.Hồ Chí Minh, ngày 01 tháng 03 năm 2023

11


NỘI DUNG ĐỒ ÁN
CHƯƠNG 1. MỞ ĐẦU
1.1. Lý do chọn đề tài
Sinh viên thường phải đối mặt với lịch trình bận rộn với nhiều buổi học, công
việc thêm và các hoạt động ngoại khóa. Trong tình huống này, một ứng dụng gọi xe
chung sẽ trở thành một công cụ hữu ích, giúp sinh viên dễ dàng tìm và đặt xe để di
chuyển trong và ngồi khn viên trường. Khơng cịn phải lo lắng về việc tìm kiếm
giao thơng cơng cộng hoặc tìm xe riêng, sinh viên có thể dễ dàng đặt xe qua ứng dụng
và di chuyển một cách thuận tiện và nhanh chóng.
Việc di chuyển thơng qua gọi xe chung thường cho phép chia sẻ chi phí giữa
các hành khách. Điều này đặc biệt hữu ích cho sinh viên, nhất là khi họ phải di chuyển
thường xuyên giữa các địa điểm như ký túc xá, trường học, cửa hàng hoặc các địa
điểm giải trí. Nhờ việc chia sẻ chi phí, sinh viên có thể tiết kiệm một phần lớn chi phí
di chuyển của mình, giúp họ có thể quản lý tài chính cá nhân một cách hiệu quả hơn.
Ứng dụng này cung cấp thông tin về tài xế và phương tiện, giúp đảm bảo an
toàn cho người sử dụng. Các tính năng như đánh giá tài xế và theo dõi vị trí xe cũng
giúp tăng cường sự yên tâm và đảm bảo cho người dùng. Sinh viên có thể yên tâm
khi sử dụng dịch vụ gọi xe chung, biết rằng họ đang đi trên một phương tiện an toàn
và có thể theo dõi q trình di chuyển của mình trên ứng dụng.
1.2. Mục đích nghiên cứu

1.2.1. Khách quan
Đánh giá hiệu quả và tiện ích của ứng dụng gọi xe chung trong việc cung cấp
dịch vụ di chuyển cho sinh viên.
Đánh giá mức độ sự tin cậy và an toàn của hệ thống gọi xe chung, bao gồm
việc xác định và giám sát tài xế và phương tiện.
Đánh giá tác động của ứng dụng gọi xe chung đến việc giảm ùn tắc giao thông
và tăng cường sự thống nhất trong việc di chuyển sinh viên.

12


Đánh giá tầm ảnh hưởng của ứng dụng đến môi trường, bao gồm việc giảm
khí thải và tiếng ồn từ số lượng xe cá nhân giảm.
1.2.2. Chủ quan
Khám phá các trải nghiệm, thái độ và sự hài lòng của sinh viên khi sử dụng
ứng dụng gọi xe chung trong việc di chuyển hàng ngày.
Tìm hiểu cách sinh viên tận dụng lợi ích của ứng dụng, bao gồm việc tiết kiệm
thời gian, chi phí và tăng cường tính linh hoạt trong việc di chuyển.
Nghiên cứu ý kiến của sinh viên về tính năng và giao diện của ứng dụng, đồng
thời đề xuất cải tiến và phát triển để nâng cao trải nghiệm người dùng.
1.3. Đối tượng nghiên cứu
1.3.1. Các công nghệ nghiên cứu
-

Đối với thiết kế hệ thống:
▫ Client-server
▫ Kết nối và trao đổi giữa website, android application đến database
thông qua RESTful API

-


Đối với Database: MongoDb

-

Đối với server
▫ Node.js (ExpressJs)
▫ npm

-

Đối với Android/IOS Application
▫ Flutter
1.3.2. Đối tượng sử dụng đề tài hướng đến
Đối tượng sử dụng của đề tài ứng dụng gọi xe chung cho sinh viên hướng đến

chính là sinh viên đang học tập trong các trường đại học, cao đẳng và trung học phổ
thông.
Cụ thể, đối tượng này bao gồm các sinh viên có nhu cầu di chuyển trong và
ngồi khn viên trường, từ ký túc xá đến các tịa nhà học, các khu vực giải trí, cửa
hàng hoặc các địa điểm khác trên địa phương.

13


Ngồi ra, đối tượng sử dụng cũng có thể mở rộng để bao gồm các thành viên
khác trong cộng đồng học sinh và sinh viên, chẳng hạn như giáo viên, nhân viên hành
chính hoặc những người tham gia các hoạt động ngoại khóa trong trường.
Mục tiêu là đáp ứng nhu cầu di chuyển của đối tượng này bằng cách cung cấp
một ứng dụng gọi xe chung thuận tiện và tiết kiệm chi phí, giúp họ di chuyển một

cách an tồn, nhanh chóng và hiệu quả.
1.4. Phạm vi nghiên cứu
1.4.1. Phạm vi môi trường
Android/IOS trên mobile
1.4.2. Phạm vi chức năng
Đối với ứng dụng (các tính năng cơ bản được hỗ trợ ở android/ios):
● Cung cấp trò chuyện, gọi điện
● Cung cấp thông tin mới nhất về chuyến đi, người muốn đi cùng
● Cung cấp các chức năng quản lý đánh giá viết bao gồm đăng tải, cập nhập,
xóa bỏ và thống kê danh sách đánh giá
● Cung cấp các chức năng quản lý người dùng bao gồm đăng ký, đăng nhập

14


CHƯƠNG 2. KIẾN THỨC NỀN TẢNG
2.1. Flutter

Hình 2. 1 Flutter
Flutter là một framework phát triển ứng dụng di động đa nền tảng (crossplatform) được phát triển bởi Google. Nó cho phép bạn xây dựng các ứng dụng di
động đẹp, tương tác và nhanh chóng trên cả nền tảng Android và iOS từ một mã
nguồn duy nhất.
Với Flutter, bạn chỉ cần viết một mã nguồn duy nhất và có thể triển khai ứng
dụng trên cả Android và iOS. Flutter cung cấp một tương tác gần như native trên các
nền tảng này và đảm bảo tính đồng nhất trên các thiết bị khác nhau.
Cộng đồng lớn và hỗ trợ mạnh mẽ: Flutter có một cộng đồng phát triển đơng
đảo và năng động. Bạn có thể tìm thấy nhiều tài liệu, ví dụ mã, gói mở rộng và hỗ trợ
từ cộng đồng này.

15



2.2. NodeJs

Hình 2. 2 NodeJs
NodeJS là mã nguồn mở chạy trên mơi trường V8 JavaScript runtime (một
trình thơng dịch JavaScript chạy cực nhanh trên trình duyệt Chrome). NodeJS giúp
các nhà phát triển xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở
rộng.
NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhau như các
ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực, máy
chủ REST API... Tuy nhiên, NodeJS thường được dùng chủ yếu để xây dựng các
chương trình mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET.
Vì đây là mã nguồn mở nên cho phép bạn sử dụng miễn phí và đồng thời được
liên tục được chỉnh sửa, cải tiến bởi cộng đồng các nhà phát triển toàn cầu

16


2.3. MongoDb

Hình 2. 3 MongoDb
MongoDB là một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL) phổ biến
được thiết kế để lưu trữ và xử lý dữ liệu phi cấu trúc. Nó là một hệ thống cơ sở dữ
liệu linh hoạt, có thể mở rộng và hỗ trợ các ứng dụng có quy mơ lớn. MongoDB là
một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL) phổ biến được thiết kế để lưu trữ
và xử lý dữ liệu phi cấu trúc. Nó là một hệ thống cơ sở dữ liệu linh hoạt, có thể mở
rộng và hỗ trợ các ứng dụng có quy mơ lớn.

17



CHƯƠNG 3. XÂY DỰNG HỆ THỐNG
3.1. Kiến trúc hệ thống: Mơ hình Client-Server
Client chính là khách hàng sử dụng dịch vụ. Nó có thể là một tổ chức hay cá
nhân cụ thể nào đó. Và khi khái niệm này được sử dụng trong lĩnh vực kỹ thuật số thì
cũng mang ý nghĩa tương tự như vậy. Trong Client Server thì Client chính là một
máy tính (Host). Chúng có khả năng nhận thông tin từ nhà cung cấp và sử dụng dịch
vụ cụ thể (Server).
Server là từ dùng để nói về một máy chủ hoặc một phương tiện được sử dụng
để phục vụ các dịch vụ nào đó. Khi khái niệm này được sử dụng trong lĩnh vực cơng
nghệ thì Server là một máy tính từ xa. Chúng có chức năng là cung cấp các thông tin
(dữ liệu) cho một dịch vụ cụ thể nào đó hoặc quyền truy cập đối với dịch vụ.

Hình 3. 1 Sơ đồ mơ hình Client-Server
3.2. Chi tiết các thành phần trong hệ thống

STT

Thành phần

Chi tiết

18


1

Giao diện người dùng


Cung cấp một giao diện cho người dùng
thực hiện các thao tác nhập/xuất dữ liệu.
Đồng thời, trong lúc sử dụng, thơng báo
cho người dùng nếu có lỗi xảy ra

2

Mơ hình Client-Server

Tiếp nhận u cầu từ giao diện người
dùng, kiểm tra tính đúng đắn theo ràng
buộc và thực thi yêu cầu nếu điều kiện
được đáp ứng

3

Cơ sở dữ liệu

Lưu trữ tồn bộ dữ liệu liên quan đến
thơng tin trung tâm.

Bảng 3. 1 Các thành phần trong hệ thống

19


×