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

Đồ án xây dựng ứng dụng trao đổi đồ dùng cũ cho sinh viên làng đại học

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 (3.59 MB, 87 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

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

BÁO CÁO ĐỒ ÁN MÔN HỌC

ĐỒ ÁN CHUYÊN NGÀNH
Đề tài: [62] Xây dựng ứng dụng trao đổi đồ dùng cũ
cho sinh viên làng đại học
Giảng viên hướng dẫn:
ThS. Nguyễn Thị Thanh Trúc
Nhóm thực hiện:
Lê Minh Tuấn

15520968

TP.HCM, Ngày 1 tháng 11 năm 2020

1


Nhận xét của giảng viên:
.......................................................................................
.........................................................................................
.......................................................................................
.........................................................................................
.......................................................................................
.........................................................................................
.......................................................................................


.........................................................................................
.......................................................................................
.........................................................................................
.......................................................................................
.........................................................................................
.......................................................................................
.........................................................................................
.......................................................................................
.........................................................................................

LỜI CẢM ƠN!
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô
Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô khoa
Công nghệ phần mềm đã giúp cho chúng em có những kiến thức cơ bản làm nền tảng
để thực hiện đề tài này.
Đặc biệt, nhóm chúng em xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất
tới thầy Nguyễn Thị Thanh Trúc (Giáo viên hướng dẫn môn đồ án chuyên ngành) người


đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến q báu giúp chúng
em hồn thành tốt báo cáo mơn học của mình.
Trong thời gian một học kỳ thực hiện đề tài, nhóm chúng em đã vận dụng
những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên
cứu những kiến thức mới. Từ đó, nhóm vận dụng tối đa những gì đã thu thập được để
hồn thành một báo cáo đồ án tốt nhất. Tuy nhiên, trong quá trình thực hiện, vẫn
khơng tránh khỏi những thiếu sót. Chính vì vậy, nhóm chúng em rất mong nhận được
những sự góp ý từ phía các Thầy Cơ nhằm hồn thiện những kiến thức mà nhóm đã học
tập và là hành trang để chúng em thực hiện tiếp các đề tài khác trong tương lai.
Xin chân thành cảm ơn quý Thầy Cơ!


TP. Hồ Chí Minh, tháng 11 năm 2020

Nhóm sinh viên thực hiện:
Lê Minh Tuấn

15520968


ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: [62] Xây dựng ứng dụng trao đổi đồ dùng cũ cho sinh viên làng đại
học
Giảng viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc
Thời gian thực hiện:
Sinh viên thực hiện:
Lê Minh Tuấn – 15520968

Nội dung đề tài:
Mục tiêu:
- Xây dựng ứng dụng cho phép người dùng (sinh viên trong làng đại học) trao đổi
các đồ đạc cũ (hoặc khơng có nhu cầu sửa dụng nửa).
- Tạo các yêu cầu trao đổi đồ đạc khi không dùng tới bằng đồ mong muốn, hoặc bất
kể món đồ nào ưng ý hoặc có thể cho đi món đồ.
- Tạo môi trường minh bạch, thuật lợi để trao đổi, đánh giá người dùng để tạo mơi
trường lành mạnh, vì lợi ích cộng đồng.
- Hệ thống điểm thưởng để khuyến khích người dùng sử dụng ứng dụng.
Phạm vi:
Phạm vi địa lý: Ứng dụng sử dụng tại Việt Nam cụ thể là ở cộng đồng sinh viên trong
“Làng đại học” đại học quốc gia thành phố Hồ Chí Minh.
Phạm vi chức năng:
- Quản lý Đăng nhập.

- Quản lý Tài khoản.
- Tìm kiếm
- Quản lý Giao dịch.


- Quản lý Thông báo.
- Quản lý Điểm thưởng.
Đối tượng sử dụng:
Các cá nhân có nhu cầu trao đổi hoặc cho đồ đạc trong phạm vi “Làng đại học”.
Phương pháp thực hiện:
-

Xây dựng giao diện trên nền tảng Android Platform.
Xây dựng database bằng hệ quản trị cơ sở dữ liệu FireBase.
Xây dựng hệ thống Restful API
Sử dụng Socket.IO để gửi và nhận thông báo.

Kết quả dự kiến:
-

Xây dựng một hệ thống giúp gắn kết các người dùng thông qua việc trao đổi
đồ đạc. Qua đó giúp họ bán sản phẩm với giá cao nhất, tìm món đồ mình cần

-

mà khơng tốn thêm chi phí thơng qua trao đổi bằng món đồ mình đang có.
Tạo ra mơi trường để mọi người dể dàng trao đổi đồ đạc một cách minh bạch
và tiện lợi.

Kế hoạch thực hiện:

Tuần

Công việc

Người thực
hiện

1
2

3

-

Lên ý tưởng, phân tích những chức năng cần có.
T́n
Phân rã chức năng, lựa chọn cơng nghệ phù hợp.
Tìm hiểu cơng nghệ và các tiện ích sử dụng.
Tuấn
Triển khai framework cơ bản cho back end và front

-

end.
Thiết kế cơ sở dữ liệu
Tuấn
Lên kế hoạch chi tiết
Lên ý tưởng về giao diện hiển thị.
Vẽ sơ đồ phân rã cấp 0,1 cho các chức năng trong
ứng dụng.



4

-

Viết mô tả cụ thể bằng lời cho từng chức năng.
Thực hiện chức năng đăng nhập, đăng kí.
Thực hiện chức năng quên mật khẩu.

5

-

Vẽ sơ đồ Use-case cho các chức năng trong ứng dụng. Tuấn
Thực hiện chức năng hiển thị danh sách đồ đạc, đăng

-

yêu cầu giao dịch.
Thực hiện chức năng chỉnh sửa thông tin người dùng.

6

-

Vẽ sơ đồ Sequence cho các chức năng trong ứng dụng.
Tuấn
Thực hiện chức năng hiển thị trang cá nhân.
Thực hiện chức năng bình luận, xóa đồ đạc và giao dịch.


7
8

-

Thực hiện chức năng tạo giao dịch.
Tuấn
Thực hiện chức năng lịch sử giao dịch
Tuấn
Thực hiện chức năng bình luận, đánh giá trong giao

-

dịch.
Vẽ sơ đồ thiết kế chi tiết cho từng chức năng đã làm Tuấn

-

được.
Thực hiện chức năng gửi và nhận thông báo sử dụng Tuấn

-

Socket.io.
Thực hiện các chức năng tự động của hệ thống (Tự Tuấn

9
10
11


Tuấn

động cho điểm thưởng, tự động hiển thị đánh giá
12

-

người dùng thông qua giao dịch…).
Chỉnh sửa lại UI/UX cho phù hợp.
Kiểm thử hệ thống và liệt kê các chức năng chưa hoàn

Tuấn

chỉnh.
13

-

Thực hiện kiểm thử và sửa lỗi,
Hoàn thiện các chức năng chưa hoàn chỉnh

Tuấn

14

-

Thực hiện kiểm thử và sửa lỗi,
Hoàn thiện các chức năng chưa hoàn chỉnh

Hoàn thành báo cáo.

Tuấn

15

Tuấn


MỤC LỤC
Chương 1. TỔNG QUAN..................................................................................................................10
5.1.

Đặt vấn đề...........................................................................................................................10

5.2.

Phần mềm liên quan..........................................................................................................11

4.2.1.

Ứng dụng Chợ tốt - Ứng dụng mua bán trao đổi......................................................11

4.2.2.

Ứng dụng Chilindo – Mua sản phẩm bằng đấu giá..................................................13

5.3.

Mục tiêu và phạm vi đề tài...............................................................................................14


4.3.1.

Mục tiêu......................................................................................................................14

4.3.2.

Phạm vi.......................................................................................................................15

5.4.

Đối tượng sử dụng.............................................................................................................15

5.5.

Kết quả dự kiến.................................................................................................................15

Chương 2. Cơ sở lý thuyết................................................................................................................17
2.1

Android...............................................................................................................................17

2.1.1

Giới thiệu về hệ điều hành Android và Android Studio...........................................17

2.1.2
2.2

Tại sao hiện thực ứng dụng bằng kotlin Android?................................................18

Hệ quản trị cơ sở dữ liệu Firebase...................................................................................18

2.2.1

Khái niệm.....................................................................................................................18

2.2.2

Lịch sử..........................................................................................................................19

2.2.3

Các dịch vụ của firebase trong việc giải quyết bài tốn.............................................19

2.2.4

Ưu điểm.......................................................................................................................20

2.3

Google API...........................................................................................................................20

2.3.1

Google API là gì?..........................................................................................................20

2.3.2

Tại sao sử dụng Google API.........................................................................................21


Chương 3. Phân tích thiết kế hệ thống............................................................................................22
3.1

Sơ đồ phân rã chức năng..................................................................................................22

3.2

Mơ hình Use-case...............................................................................................................23

3.2.1

Sơ đồ Use-case................................................................................................................23

3.2.2

Đặc tả Use-case..............................................................................................................29

3.2.2.1

Quản lý Đăng nhập...................................................................................................29

3.2.2.2

Quản lý tài khoản......................................................................................................31

3.2.2.3

Trò chuyện..................................................................................................................33

3.2.2.4


Quản lý giao dịch.......................................................................................................35


3.2.2.5
3.3

Tìm kiếm nhanh........................................................................................................37

Các sơ đồ và luồng xử lý...................................................................................................39

3.3.1

Tạo tài khoản.................................................................................................................39

3.3.1.1

Mô tả...............................................................................................................................39

3.3.2

Đăng nhập......................................................................................................................42

3.3.2.1

Mô tả...............................................................................................................................42

3.3.3

Quản lý tài khoản..........................................................................................................45


3.3.3.1

Mô tả...............................................................................................................................45

3.3.4

Quản lý giao dịch...........................................................................................................52

3.3.4.1

Mơ tả...............................................................................................................................52

3.3.5

Tìm kiếm.........................................................................................................................56

3.3.5.1

Mơ tả...............................................................................................................................56

3.3.6

Trị chuyện......................................................................................................................57

3.3.6.1

Mơ tả...............................................................................................................................57

3.3.7


Thơng báo.......................................................................................................................61

3.3.7.1

Mơ tả...............................................................................................................................61

3.4

Thiết kế kiến trúc...............................................................................................................64

3.4.1

Mơ hình kiến trúc..........................................................................................................64

3.4.2

Mơ tả...............................................................................................................................64

3.4.2.1

MVC................................................................................................................................64

3.4.2.2

API...................................................................................................................................65

3.4.2.3

Firebase...........................................................................................................................65


3.5

Thiết kế cơ sở dữ liệu........................................................................................................67

3.5.1

Tổng quan cơ sở dữ liệu................................................................................................67

3.5.2

Sơ đồ mô tả chi tiết........................................................................................................67

3.5.2.1

Category.........................................................................................................................67

3.5.2.2

Comment........................................................................................................................67

3.5.2.3

Notification.....................................................................................................................68

3.5.2.4

Post..................................................................................................................................68

3.5.2.5


User.................................................................................................................................69

3.5.2.6

WaitingNoti....................................................................................................................69

3.5.2.7

Chat.................................................................................................................................70

3.5.2.8

Diemthuong....................................................................................................................70

3.5.2.9

Đánh giá..........................................................................................................................70


3.6

Thiết kế giao diện...............................................................................................................71

3.6.1

Màn hình đăng nhập.....................................................................................................71

3.6.2


Màn hình đăng ký..........................................................................................................72

3.6.3

Màn hình quên mật khẩu.............................................................................................73

3.6.4

Màn hình trang chủ.......................................................................................................74

3.6.5

Màn hình quản lý bài viết.............................................................................................75

3.6.6

Màn hình chi tiết bài đăng...........................................................................................76

3.6.7

Màn hình trang cá nhân...............................................................................................77

3.6.8

Màn hình đánh giá........................................................................................................78

3.6.9

Màn hình đấu giá...........................................................................................................78


3.6.10

Màn hình tìm kiếm........................................................................................................78

3.6.11

Màn hình thơng báo......................................................................................................80

3.6.12

Màn hình bình luận.......................................................................................................80

3.6.13

Màn hình chat................................................................................................................80

Chương 4. Kiểm thử phần mềm.......................................................................................................81
4.1.

Môi trường kiểm thử...........................................................................................................81

4.2.

Thực thi kiểm thử................................................................................................................81

4.2.1.

Kiểm thử giao diện......................................................................................................81

4.2.2.


Kiểm thử chức năng....................................................................................................81

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

Kết luận................................................................................................................................85

5.2

Hướng phát triển.................................................................................................................86

Tài liệu kham khảo............................................................................................................................87


Chương 1. TỔNG QUAN
1.1 Đặt vấn đề
Nhu cầu trao đổi mua bán đồ đạc là một nhu cầu cấp thiết của con người. Ngày nay,
khi xã hội ngày càng tiến bộ, đời sống vật chất được cải thiện thì lượng đồ đạc của mỗi
người tăng lên, việc mua sắm các đồ đạc mới có tính năng cải tiến hoặc hợp thị hiếu ngày
càng gia tăng nên sẽ phát sinh ra các đồ đạc cũ khơng có nhu cầu sử dụng nữa. Đặc biệt
đối với các bạn sinh viên đa số chưa tự chủ tài chính thì việc chi tiêu cho đồ dùng cá nhân
và phục vụ học tập thì cần tiết kiệm và cân đối. Nhu cầu của các bạn là có thể bán đi đồ
cũ khơng cịn sử dụng với giá tối ưu nhất hoặc trao đổi món đồ theo u cầu mà khơng
phát sinh thêm chi phí, hoặc đơn giản là cho đi các món đồ cho người cần nó. Phổ biến
các đồ đạc mà sinh viên cần dùng như quần áo, đồ dùng sinh hoạt cá nhân, thiết bị IT,
phương tiện đi lại, sách giáo trình học tập... Việc tạo ra một môi trường để các bạn sinh
viên có thể trao đổi đồ đạc là cần thiết và thiết thực.
Bên cạnh đó, trong bối cảnh sự phát triển mạnh mẽ và nhanh chóng của các ứng
dụng trên thiết bị di động những năm gần đây. Việc sở hữu và sử dụng các thiết bị điện

thoại thông minh và kết nối internet là điều hiển nhiên với các bạn sinh viên. Nên việc có
một ứng dụng trên thiết bị di động là cách tiếp cận nhanh chóng hiện nay.
Những u cầu thực tế đó chính là tiền đề phát sinh ý tưởng về một ứng dụng có thể
giải quyết được bài toán xây dụng một kênh để các bạn sinh viên có thể trao đổi đồ đạc
của mình bằng đồ đạc của người khác. Đây là một ý tưởng mới và trên thị trường vẫn
chưa có nhiều ứng dụng đáp ứng được nhu cầu này. Nên có thể xem đây là một bước đi
mới, đáp ứng được nhu cầu, cũng như xu hướng hiện tại của ngành lập trình ứng dụng di
động và rất cần được nghiên cứu, khai thác.


1.2 Phần mềm liên quan
1.2.1 Ứng dụng Chợ tốt - Ứng dụng mua bán trao đổi
Chợ Tốt chính thức gia nhập thị trường Việt Nam vào đầu năm 2012, với mục đích tạo ra
cho bạn một kênh rao vặt trung gian, kết nối người mua với người bán lại với nhau bằng
những giao dịch cực kỳ đơn giản, tiện lợi, nhanh chóng, an tồn, mang đến hiệu quả bất
ngờ. Đến nay, Chợ Tốt tự hào là Website rao vặt được ưa chuộng hàng đầu Việt Nam.
Hàng ngàn món hời từ Bất động sản, Nhà cửa, Xe cộ, Đồ điện tử, Thú cưng, Vật dụng cá
nhân... đến tìm việc làm, thơng tin tuyển dụng, các dịch vụ - du lịch được đăng tin, rao
bán trên Chợ Tốt.

Ưu điểm:
Hoạt động mua bán nhiều lĩnh vực như: bất động sản, phương tiện xe cộ, đồ dùng, đồ
điện tử, vật nuôi thú cưng, tuyển dụng việc làm, du lịch, đồ ăn...
Rao vặt trực tuyến dễ dàng: dễ dành đăng tin, quản lý tin đăng chi tiết, chi tiết sản phẩm.


Giao diện bắt mắt, thân thiện người dùng. Với thiết kế phẳng, tập trung vào hình ảnh,
chotot.com mang lại trải nghiệm rất tốt cho người dùng. Thay vì phải mệt mỏi và rối mắt
với những dịng chữ, thơng tin thì khi truy cập vào chotot.com, bạn sẽ dễ dàng thấy được
hình ảnh và thơng tin tiêu biểu của từng sản phẩm. Điều này giúp bạn nhanh chóng ra

quyết định trong việc lựa chọn sản phẩm mình quan tâm.
Trao đổi trực tiếp: người bán và người mua tự động trao đổi với nhau thông qua số điện
thoại, chat trên ứng dụng hay gặp gỡ bên ngồi. Mọi thơng tin giao dịch đều không qua
bất kỳ bên thứ ba nào cả. Người mua có thể trả giá, thương lượng món hàng với người
bán hoặc yêu cầu thêm bất cứ điều gì nếu muốn.
Hỗ trợ thêm chuyên mục đăng tin việc làm và tìm việc: Bên cạnh tính năng trao đổi mua
bán, Chợ Tốt còn cung cấp đến bạn chuyên mục “Việc làm”. Tại chun mục này, bạn có
thể tìm kiếm việc đúng nhu cầu ứng tuyển, mọi thông tin tuyển dụng đều rõ ràng và tất
nhiên tiền lương cũng được công khai.
Cung cấp các dịch vụ Add on để việc giúp các tin rao vặt tiếp cận với nhiều người dùng
nhất có thể: Đẩy tin, Tin ửu tiên, Tin đặc biệt, nhãn nổi bật, cửa hàng, chuyên trang.
Quyền lợi mua bán được bảo đảm.
Hạn chế:
Khả năng kiểm duyệt tin rao vặt.
Giao dịch qua cho tốt là giao dịch dân sự tìm ẩn rủi ro (sim rác, thông tin giả).
Bị lợi dụng thành kênh lừa đảo bởi các gian thương: hàng giả, không đúng mô tả sản
phẩm do không quản lý việc thanh toán mà do trao đổi giữa người dùng với nhau.
Mất phí khi sử dụng khi sử dụng một số chức năng để tăng khả năng thành công của tin
rao.
Công nghệ:
Chotot hỗ trợ đầy đủ trên Web, Android, iOS.


1.2.2 Ứng dụng Chilindo – Mua sản phẩm bằng đấu giá

Chilindo là một công ty chuyên buôn bán các mặt hàng online dưới hình thức đấu giá
online. Cách thức bn bán của Chilindo là thơng qua hình thức đấu giá trực tuyến. Sản
phẩm được cung cấp vô cùng đa dạng và phong phú. Giá khởi điểm được đưa ra cho mỗi
mặt hàng là 1000 đồng. Người thắng cuộc là người trả giá cao nhất cho sản phẩm trong
khoảng thời gian hạn định tức thời gian trở về 0 theo cách đếm ngược.

Ưu điểm:
Nhiều mặt hàng, đa dạng lĩnh vực.
Hình thức đấu giá hấp dẫn, khởi điểm chỉ 1K.
Giao diện thân thiện, trực quan dễ sử dụng.
Nhược điểm:


Chưa quản lý việc bị đẩy giá ảo.
Chưa có tính năng chat với người bán đấu giá.
Chất lượng sản phẩm do công ty cung cấp không đảm bảo chất lượng.
Tốn chi phí giao hàng.
Cơng nghệ:
Chilindo hỗ trợ đầy đủ trên web, android, iOS.

Từ các ưu nhược điểm của các phần mềm hiện tại thì cần thiết phát triển một kênh trao
đổi mua bán phù hợp với các bạn sinh viên hơn. Tạo ra mội trường mua bán với đầy đủ
các phương thức trao đổi trong phạm vi Làng Đại học, phạm vi hẹp có thể trao đổi mua
bán trực tiếp hạn chế chi phí vận chuyển. Tạo mơi trường mua bán trao đổi văn minh,
trung thực nói khơng với lừa đảo. Phát triển cộng đồng uy tín hỗ trợ sinh viên.

1.3 Mục tiêu và phạm vi đề tài
1.3.1
-

Mục tiêu

Xây dựng một ứng dụng di động hoạt động trên nền tảng Android với mục đích
chính là giúp các bạn sinh viên có thể trao đổi đồ đạc khi khơng cịn có nhu cầu sử
dụng nữa.


-

Xây dựng các chức năng đăng yêu cầu giao dịch (trao đổi) linh hoạt các hình thức
giao dịch tiền mặt, đồ đổi đồ, đấu giá; bình luận trên yêu cầu giao dịch, tham gia
giao dịch.

-

Xây dựng chức năng đánh giá người dùng sau khi giao dịch kết thúc.

-

Xây dựng ứng dụng có thể quản lý thơng tin người dùng, danh sách đồ đạc, danh
sách các giao dịch và lịch sử giao dịch.

-

Xây dụng hệ thống điểm thưởng cho các bạn quyên góp đồ, cộng tác viên để có
thể dùng điểm thưởng đó để giao dịch.

-

Xây dựng thống đấu giá sản phẩm.


-

Xây dựng server theo thời gian thực, cập nhật các thơng báo cho người dùng.

1.3.2


Phạm vi

Sau khi tìm hiểu và nghiên cứu sơ bộ về nhu cầu sử dụng của người dùng, nhóm
quyết định phạm vi thực hiện đề tài như sau:
-

Phạm vi địa lý: Ứng dụng được sử dụng tại Việt Nam cụ thể là cộng đồng
sinh viên ở “Làng đại học” thuộc Đại học quốc gia thành phố Hồ Chí Minh.

-

Phạm vi chức năng:
 Quản lý Đăng nhập.
 Quản lý Thông tin người dùng.
 Quản lý Giao dịch.
 Trị chuyện(chat)
 Tìm kiếm.
 Thơng báo (theo thời gian thực).
 Đánh giá người dùng qua từng giao dịch.
 Gợi ý các món đồ theo nhu cầu, sở thích.

1.4 Đối tượng sử dụng
Các bạn sinh viên có đồ cũ khơng có nhu cầu sử dụng muốn trao đổi đồ đạc cũ.
1.5 Kết quả dự kiến
-

Hoàn thành một ứng dụng cung cấp các chức năng quản lý đồ đạc và các
giao dịch.


-

Hoàn thiện chức năng đánh giá người dùng sau mỗi giao dịch nhằm tăng độ
tin cậy khi sử dụng ứng dụng.


-

Hoàn thành server quản lý các tác vụ tự động gửi thơng báo cho người dùng
theo thời gian thực.

-

Hồn thành chức năng tính điểm thưởng cho người sử dụng.


Chương 2. Cơ sở lý thuyết
2.1

Android
2.1.1 Giới thiệu về hệ điều hành Android và Android Studio
Android là hệ điều hành mã nguồn mở, dựa trên Linux Kernel, dành cho các thiết bị

di động nói chung (điện thoại, máy tính bảng, đồng hồ thông minh, máy nghe nhạc, …).
Android cũng không phải là một thiết bị hay sản phẩm cụ thể, nó là một hệ điều hành dựa
trên Linux, nguồn mở, linh hoạt. Hiện Android là một thương hiệu của Google, có khả
năng tuỳ biến rất cao và có thể chạy trên nhiều thiết bị, nhiều kiến trúc vi xử lý.
Android Studio là một mơi trường phát triển ứng dụng tích hợp (IDE) dành riêng
cho Android, mã nguồn mở, dựa trên IDE Java IntelliJ của hãng JetBrains. Một số tính
năng nổi bật của Android Studio:

-

Bộ công cụ build ứng dụng dựa trên Gradle (thay vì Maven)

-

Chức năng dị và sửa lỗi nhanh, hướng Android

-

Cơng cụ chỉnh sửa màn hình dạng kéo thả tiện lợi

-

Các wizard tích hợp nhằm giúp lập trình viên tạo ứng dụng từ mẫu có sẵn

-

Tích hợp Google Cloud Platform, dễ dàng tích hợp với Google Cloud
Messaging và App Engine của Google

Đi kèm với Android Studio là Android SDK. Nếu Android Studio là trình soạn thảo
code thì Android SDK là bộ tổng hợp các công cụ để build app, các bản mẫu máy ảo
Android cần thiết đề làm ra một ứng dụng Android hồn chỉnh.
Java có thể xem là ngơn ngữ lập trình phổ biến nhất hiện nay, được sử dụng rộng rãi
trên nhiều thiết bị và hệ điều hành. Và dĩ nhiên, ứng dụng Android cũng được viết dựa
trên ngôn ngữ phổ biến nhất này.


2.1.2 Tại sao hiện thực ứng dụng bằng kotlin Android?

Lập trình ứng dụng bằng Kotlin là cách tạo ra một ứng dụng dạng native app và lập
trình native app có những ưu điểm sau đây:
-

Về mặt performance thì native app chạy nhanh hơn mobile app trong hầu hết
các trường hợp.

-

Về tính năng, native app có khả năng truy cập các phần cứng (như camera,
GPS, thiết bị thu âm…) và có thể truy cập đến các quyền local như: sao chép,
tạo, ghi, đọc tập tin (trên bộ nhớ của mobile), các thông tin danh bạ, thông tin
cá nhân, thực hiện cuộc gọi, nhắn tin, … Nói cách khác, native app có thể
khai thác được sức mạnh phần cứng nhiều nhất của nền tảng.

-

Về mặt hỗ trợ, hiện tại native app có một cộng đồng hỗ trợ đông đảo và
mạnh mẽ.

2.2 Hệ quản trị cơ sở dữ liệu Firebase
2.2.1 Khái niệm
-

Google firebase là gì: Đó là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên
nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh
các ứng dụng và trang web, bao gồm các API đơn giản và mạnh mẽ mà không cần

-


backend hay server.
Google FireBase bao gồm việc:
o Lưu trữ dữ liệu thời gian thực.
o Xác thực người dùng
o Firebase hosting tới cơ sở dữ liệu.

2.2.2 Lịch sử
-

Gần một thập niên trước, Firebase ra đời với tiền thân là Envolve. Đây là một nền
tảng đơn giản chuyên cung cấp những API cần thiết để tích hợp tính năng chat vào


trang web. Bên cạnh ứng dụng nhắn tin trực tuyến, Envolve còn được người dùng sử
dụng để truyền và đồng bộ hóa dữ liệu cho những ứng dụng khác như các trị chơi
trực tuyến … Do đó, các nhà sáng lập đã tách biệt hệ thống nhắn tin trực tuyến và
đồng bộ dữ liệu thời gian thực thành hai phần riêng biệt.

-

Trên cơ sở đó, năm 2012, Firebase ra đời với sản phẩm cung cấp là dịch vụ Backendas-a-Service. Tiếp đến, vào năm 2014, Google mua lại Firebase và phát triển nó thành
một dịch vụ đa chức năng được hàng triệu người sử dụng cho đến hiện nay.
2.2.3 Các dịch vụ của firebase trong việc giải quyết bài toán

Firebase Authentication:
-

Hoạt động nổi bật của Firebase là xây dựng các bước xác thực người dùng bằng
Email, Facebook, Twitter, GitHub, Google. Đồng thời cũng xác thực nặc danh cho các
ứng dụng. Hoạt động xác thực có thể giúp thơng tin cá nhân của người sử dụng được


-

an tồn và đảm bảo khơng bị đánh cắp tài khoản.
Áp dụng Firebase Authentication để giải quyết chắc năng đăng nhập, tạo tài khoản,
kiểm tra quyền khi người dùng sử dụng app

Firebase Realtime Database
-

Khi đăng ký một tài khoản trên Firebase để tạo ứng dụng, bạn đã có một cơ sở dữ liệu
thời gian thực. Dữ liệu bạn nhận được dưới dạng JSON. Đồng thời nó cũng luôn được

-

đồng bộ thời gian thực đến mọi kết nối client.
Đối với các ứng dụng đa nền tảng, tất cả các client đều sử dụng cùng một cơ sở dữ
liệu. Nó được tự động cập nhật dữ liệu mới nhất bất cứ khi nào các lập trình viên phát
triển ứng dụng. Cuối cùng, tất cả các dữ liệu này được truyền qua kết nối an tồn SSL

-

có bảo mật với chứng nhận 2048 bit.
Trong trường hợp bị mất mạng, dữ liệu được lưu lại ở local, vì thế khi có mọi sự thay
đổi nào đều được tự động cập nhật lên Server của Firebase. Bên cạnh đó, đối với các
dữ liệu ở local cũ hơn với Server thì cũng tự động cập nhật để được dữ liệu mới nhất.


-


Với những ưu điểm của Realtime Database, chúng ta có thể giải quyết các bài toán
liên quan đến việc cập nhật liên tục mà không cần liên tục gửi request. Với Realtime
Database, các bài tốn chat, đấu giá, thơng báo được giải quyết nhanh, ít tốn chi phí.
2.2.4 Ưu điểm

-

Triển khai ứng dụng cực nhanh: Firebase cung cấp cho bạn khá nhiều các API, hỗ trợ
đa nền tảng giúp bạn tiết kiệm thời gian quản lý cũng như đồng bộ dữ liệu cung cấp
hosting, hỗ trợ xác thực người dùng thì việc triển khai ứng dụng sẽ giảm được rất

-

nhiều thời gian phát triển.
Bảo mật: Với việc sử dụng các kết nối thông qua giao thức bảo mật SSL hoạt động
trên nền tảng cloud đồng thời cho phép phân quyền người dùng database bằng cú pháp

-

javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn.
Sự ổn định: Firebase hoạt động dựa trên nền tảng cloud cung cấp bởi Google do đó
hãy yên tập về việc một ngày đẹp trời nào đó server ngừng hoạt động hay như DDOS
hoặc là tốc độ kết nối như rùa bò. Một điều đáng lưu ý nữa đó là do hoạt động trên
nền tảng Cloud vì vậy việc nâng cấp hay bảo trì server cũng diễn ra rất đơn giản mà
khơng cần phải dừng server.

2.3 Google API
2.3.1 Google API là gì?
Google API là một tập hợp các API được công ty Google phát triển và cung cấp cho
phép giao tiếp với các dịch vụ của Google và tích hợp các dịch vụ của Google với các

ứng dụng hoặc dịch vụ khác. Để có thể sử dụng được các dịch vụ của Google, chúng ta
bắt buộc phải cài đặt Google API và Google Play Service.
2.3.2 Tại sao sử dụng Google API
Các phần mềm, ứng dụng liên kết, làm việc với nhau thông qua API vì vậy việc sử
dụng API là điều cần thiết khi xây dựng và phát triển ứng dụng. Trong khi đó, Google
được xem như là “gã khổng lồ” trong công nghệ, nên việc sử dụng Google API sẽ mang
lại nhiều lợi ích khi thực hiện đề tài. Cụ thể như:


-

Dễ dàng cài đặt và sử dụng

-

Cung cấp nhiều chức năng đa dạng và phong phú

-

Các API của google được sử dụng với số lượng người dùng lớn

-

Các API được cập nhật thường xuyên

-

Nhận được sự hỗ trợ từ Google và cộng đồng lập trình viên đơng đảo



Chương 3. Phân tích thiết kế hệ thống
3.1

Sơ đồ phân rã chức năng


3.2

Mơ hình Use-case
3.2.1 Sơ đồ Use-case

Sơ đồ Usecase




×