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

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁ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 (11.22 MB, 118 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

NGUYỄN HỒNG PHÚC

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁCH
Building an app to share and exchange books

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2020


ĐẠ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

NGUYỄN HỒNG PHÚC – 16520951

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁCH
Building an app to share and exchange books

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM


GIẢNG VIÊN HƯỚNG DẪN
Ths. LÊ THANH TRỌNG

TP. HỒ CHÍ MINH, 2020


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
…………………… ngày ………………….. của Hiệu trưởng Trường Đại học Công
nghệ Thông tin.
1. ................................................. – Chủ tịch.
2. ................................................. – Thư ký.
3. ................................................. – Ủy viên.
4. ................................................. – Ủy viên.


ĐHQG TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TP. HCM, ngày…..tháng…..năm 2020

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁCH
Nhóm SV thực hiện:


Cán bộ hướng dẫn:

Nguyễn Hồng Phúc

16520951

Ths. Lê Thanh Trọng

Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang

97 _____

Số chương

5 ______

Số bảng số liệu

23 _____

Số hình vẽ

51 _____

Số tài liệu tham khảo

18 _____


Sản phẩm

1 ______

Một số nhận xét về hình thức cuốn báo cáo:
................................................................................................................................
................................................................................................................................
................................................................................................................................
2. Về nội dung nghiên cứu:
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
3. Về chương trình ứng dụng:
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................


4. Về thái độ làm việc của sinh viên:
................................................................................................................................
................................................................................................................................
................................................................................................................................
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ
sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Nguyễn Hồng Phúc:………../10
Người nhận xét

(Ký tên và ghi rõ họ tên)


ĐHQG TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TP. HCM, ngày…..tháng…..năm 2020

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁCH
Nhóm SV thực hiện:

Cán bộ phản biện:

Nguyễn Hồng Phúc

16520951

*Name of lecturer*

Đánh giá Khóa luận
5. Về cuốn báo cáo:
Số trang

97 _____


Số chương

5 ______

Số bảng số liệu

23 _____

Số hình vẽ

51 _____

Số tài liệu tham khảo

18 _____

Sản phẩm

1 ______

Một số nhận xét về hình thức cuốn báo cáo:
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
6. Về nội dung nghiên cứu:
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

7.

Về chương trình ứng dụng:

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


.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
8. Về thái độ làm việc của sinh viên:
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ
sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Nguyễn Hồng Phúc:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)


LỜI CẢM ƠN

Khoá luận tốt nghiệp với đề tài “Xây dựng ứng dụng chia sẻ và trao đổi
sách” là minh chứng cho q trình cố gắng khơng ngừng trong việc tìm tịi, học
hỏi trong suốt hơn 4 năm học tập tại trường Đại học Công nghệ Thông tin. Thể
hiện khả năng của bản thân trong việc áp dụng kiến thức chun mơn vào giải
quyết bài tốn thực tế.
Trong q trình thực hiện khoá luận, em đã nhận được sự hướng dẫn tận tình từ

q thầy cơ, sự giúp đỡ và hỗ trợ từ gia đình cũng như bạn bè. Một cách đặc biệt, em
xin được gửi lời cảm ơn chân thành đến:
Các thầy cô trường Đại học Công nghệ Thông Tin nói chung và các thầy cơ
trong Khoa Cơng nghệ Phần mềm nói riêng đã tận tình truyền đạt kiến thức tới em
trong những năm học tập tại trường. Đó là tài sản q báu đã giúp em hồn thành
khố luận và cũng là hành trang cho con đường sự nghiệp của bản thân sau này.
Em xin được gửi lời cảm ơn sâu sắc tới Ths. Lê Thanh Trọng, người đã trực tiếp
hướng dẫn, chỉ bảo, giúp đỡ em những lúc khó khăn, đưa ra những lời khun bổ ích
để khố luận được hồn thành đúng tiến độ và đáp ứng các yêu cầu đề ra ban đầu.
Cảm ơn giảng viên phản biện và các thầy cô trong hội đồng chấm luận văn với
những lời khuyên, góp ý quý báu và bổ ích. Từ đó bài luận văn của em được trở nên
hoàn thiện hơn.
Lời cuối cùng, em xin dành lời cảm ơn gửi tới gia đình, anh chị, bạn bè đã ln
bên cạnh để động viên và đóng góp ý kiến trong q trình hồn thành khố luận này.

Thành phố Hồ Chí Minh, tháng 01 năm 2020
Sinh viên
Nguyễn Hồng Phúc


ĐHQG 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


ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁCH
Cán bộ hướng dẫn: Ths. Lê Thanh Trọng
Thời gian thực hiện: Từ ngày 07/09/2020 đến ngày 02/01/2021
Sinh viên thực hiện:
Nguyễn Hồng Phúc - 16520951
Nội dung đề tài:
Mục tiêu:
-

Xây dựng ứng dụng kết nối những người yêu sách, tạo môi trường chia sẻ, học
hỏi từ sách cũng như khuyến khích thói quen đọc sách của mọi người.

-

Tận dụng nguồn tài nguyên sách trong cộng đồng thơng qua chức năng mượn
và trao đổi sách.

-

Tìm hiểu và ứng dụng các công nghệ mới, nâng cao kỹ năng phát triển phần
mềm.

Phạm vi:
Đề tài tập trung vào xây dựng ứng dụng trên nền tảng di động (iOS) với các chức
năng chính:
-

Trị chuyện: Dễ dàng nhắn tin với bạn bè hỗ trợ các định dạng văn bản, biểu

tượng cảm xúc, nhãn dán, hình ảnh.


-

Thảo luận: Chia sẻ, bàn luận và thể hiện cảm xúc ngay tức thì về bài học/ trích
dẫn trong một thể loại sách bất kỳ.

-

Nhận xét/ Đánh giá: Bất kỳ người dùng nào cũng có thể để lại đánh giá và nhận
xét sách trên nhiều tiêu chí, giúp những người dùng khác chọn được cuốn sách
phù hợp sở thích.

-

Trao đổi sách: Tìm kiếm, trao đổi sách giấy.

-

Mượn sách: Yêu cầu mượn sách giấy trên kho sách chung (kho sách chứa tất cả
cuốn sách của người dùng ở trạng thái “sẵn sàng cho mượn”) tới chủ sở hữu.

-

Quản lý tủ sách: Thêm mới, cập nhật tình trạng và trạng thái sách. Thêm các bài
học rút ra từ những cuốn sách trong tủ.

-


Thông báo: Luôn nhận được thông báo kể cả khi không mở ứng dụng.

-

Khởi tạo tài khoản: Không cần đăng ký, tích hợp với mạng xã hội Facebook.

Đối tượng sử dụng:
Là những người sử dụng thiết bị di động (iOS) có một trong các nhu cầu:
-

Người có sở thích đọc và chia sẻ về sách.

-

Người có nhu cầu tìm kiếm sách phù hợp để đọc.

-

Người sở hữu sách muốn lan toả tri thức bằng cách cho mượn sách.

Phương pháp thực hiện:
-

Tìm hiểu và đánh giá các giải pháp đã có.

-

Đề xuất, cải thiện các tính năng cần thiết.

-


Áp dụng mơ hình thác nước vào xây dựng ứng dụng.

Kết quả mong đợi:
-

Hiểu rõ các framework liên quan (Vapor, Websocket, Combine, SwiftUI, …)
để có thể ứng dụng vào xây dựng ứng dụng chia sẻ và trao đổi sách.

-

Hoàn thành ứng dụng chạy trên nền tảng iOS với đầy đủ các yêu cầu chức năng
đề ra.

-

Ứng dụng có độ hồn thiện cao, có khả năng đưa vào thực tiễn.


Kế hoạch thực hiện:
Khoá luận được thực hiện trong 15 tuần, thời gian và mô tả nội dung công việc được
thể hiện ở bảng bên dưới:
Giai đoạn

Công việc thực hiện
-

Khảo sát các ứng dụng tương tự

-


Phát biểu bài tốn

Phân tích u cầu, nghiên cứu kỹ

-

Phân tích, xác định chức năng

thuật

-

Tìm hiểu các cơng nghệ được sử dụng
trong khố luận (Vapor, SwiftUI, APNs,

(09/2020)

Combine, Amazone Web Services,
SMTP, WebSocket, …)

Thiết kế hệ thống
(10/2020)

-

Thiết kế kiến trúc phần mềm

-


Thiết kế cấu trúc dữ liệu

-

Thiết kế giao diện bằng công cụ Figma

-

Tạo đặc tả phần mềm (sơ đồ use case, sơ
đồ tuần tự)

Hiện thực các mô-đun và kiểm thử

-

Xây dựng tầng giao diện

đơn vị

-

Xây dựng tầng nghiệp vụ

(10/2020 – 12/2020)

-

Xây dựng server (Data, core business)

Tích hợp và kiểm thử hệ thống


-

Tích hợp hệ thống

(12/2020)

-

Kiểm thử chức năng và phi chức năng

Triển khai

-

Triển khai server ứng dụng lên Cloud
(Heroku)

(12/2020)
Tổng hợp và hoàn tất báo cáo
(01/2021)

-

Chỉnh sửa, hoàn thiện và viết báo cáo


Xác nhận của CBHD

TP. HCM, ngày 01 tháng 10 năm 2020


(Ký tên và ghi rõ họ tên)

Sinh viên
(Ký tên và ghi rõ họ tên)

Nguyễn Hồng Phúc


MỤC LỤC
TÓM TẮT KHÓA LUẬN ..........................................................................................1
Chương 1.

MỞ ĐẦU ..............................................................................................2

1.1.

Giới thiệu đề tài ............................................................................................2

1.2.

Lý do chọn đề tài ..........................................................................................3

Chương 2.

TỔNG QUAN ĐỀ TÀI .........................................................................5

2.1.

Mục tiêu .......................................................................................................5


2.2.

Phạm vi ........................................................................................................5

2.3.

Phương pháp thực hiện ................................................................................6

2.4.

Ý nghĩa thực tiễn ..........................................................................................6

2.5.

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

Chương 3.
3.1.

Khảo sát hiện trạng ......................................................................................7

3.1.1.

Các ứng dụng liên quan ........................................................................8

3.1.1.1.

Ứng dụng GAT..............................................................................8


3.1.1.2.

Ứng dụng Goodreads ....................................................................9

3.1.2.

3.2.

CƠ SỞ LÝ THUYẾT ...........................................................................7

Đánh giá hiện trạng và hướng giải quyết ............................................10

3.1.2.1.

Đánh giá hiện trạng .....................................................................10

3.1.2.2.

Hướng giải quyết .........................................................................11

Công nghệ sử dụng.....................................................................................12

3.2.1.

Vapor ..................................................................................................12

3.2.2.

SwiftUI ...............................................................................................13


3.2.3.

Combine ..............................................................................................15


3.2.4.

WebSocket ..........................................................................................18

3.2.5.

Apple Push Notification service .........................................................20

3.2.6.

PostgreSQL .........................................................................................24

3.2.7.

Bcrypt .................................................................................................26

3.2.8.

Alamofire ............................................................................................29

3.2.9.

Amazon Web Services – S3 ...............................................................29

3.2.10.


Heroku .............................................................................................30

3.2.11.

SMTP ..............................................................................................31

Chương 4.
4.1.

XÂY DỰNG ỨNG DỤNG CHIA SẺ VÀ TRAO ĐỔI SÁCH..........34

Phân tích yêu cầu hệ thống ........................................................................34

4.1.1.

Phân tích yêu cầu chức năng ..............................................................34

4.1.1.1.

Yêu cầu lưu trữ ............................................................................34

4.1.1.2.

Yêu cầu về tính năng ...................................................................34

4.1.2.

Phân tích yêu cầu phi chức năng ........................................................35


4.1.3.

Phân tích u cầu người dùng.............................................................35

4.2.

4.1.3.1.

Mơ hình use case toàn hệ thống ..................................................36

4.1.3.2.

Danh sách các Actors ..................................................................37

4.1.3.3.

Danh sách các Use case ...............................................................37

Phân tích thiết kế hệ thống .........................................................................40

4.2.1.

Thiết kế xử lý ......................................................................................40

4.2.1.1.

Lược đồ tuần tự thao tác đăng ký ................................................41

4.2.1.2.


Lược đồ tuần tự thao tác đăng nhập ............................................42

4.2.1.3.

Lược đồ tuần tự thao tác khôi phục mật khẩu .............................44

4.2.1.4.

Lược đồ tuần tự thao tác cập nhật thông tin cá nhân...................46


4.2.1.5.

Lược đồ tuần tự thao tác thêm đầu sách ......................................47

4.2.1.6.

Lược đồ tuần tự cho thao tác thêm sách vào tủ ...........................48

4.2.1.7.

Lược đồ tuần tự cho thao tác quản lý lịch sử trao đổi sách .........50

4.2.1.8.

Lược đồ tuần tự cho thao tác thêm mới ghi chú ..........................52

4.2.1.9.

Lược đồ tuần tự cho thao tác cập nhật sách người dùng .............53


4.2.1.10. Lược đồ tuần tự cho thao tác đánh giá sách ................................54
4.2.1.11. Lược đồ tuần tự cho thao tác trao đổi sách .................................55
4.2.1.12. Lược đồ tuần tự cho thao tác mượn sách ....................................59
4.2.1.13. Lược đồ tuần tự cho thao tác nhắn tin .........................................62
4.2.1.14. Lược đồ tuần tự cho thao tác tạo bài viết ....................................63
4.2.1.15. Lược đồ tuần tự cho thao tác bình luận .......................................65
4.2.2.

4.2.2.1.

Lược đồ cơ sở dữ liệu ..................................................................66

4.2.2.2.

Mô tả các bảng dữ liệu ................................................................67

4.2.3.

Thiết kế kiến trúc hệ thống .................................................................78

4.2.3.1.

Kiến trúc tổng thể ........................................................................78

4.2.3.2.

Kiến trúc ứng dụng di động .........................................................79

4.2.4.


4.3.

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

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

4.2.4.1.

Danh sách màn hình ....................................................................80

4.2.4.2.

Giao diện một số màn hình của ứng dụng ...................................83

Triển khai hệ thống ....................................................................................89

4.3.1.

Máy chủ ..............................................................................................89

4.3.2.

Ứng dụng di động ...............................................................................91

Chương 5.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..........................................92



5.1.

Kết quả đạt được ........................................................................................92

5.2.

Thuận lợi và khó khăn................................................................................93

5.2.1.

Thuận lợi .............................................................................................93

5.2.2.

Khó khăn .............................................................................................93

5.3.

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

TÀI LIỆU THAM KHẢO ........................................................................................95


DANH MỤC HÌNH
Hình 3.1: Buổi chia sẻ sách tại KTX Khu B do Đội hỗ trợ sinh viên nội trú tổ chức 7
Hình 3.2: Logo ứng dụng GAT...................................................................................8
Hình 3.3: Logo ứng dụng Goodreads .........................................................................9
Hình 3.4: Logo Vapor Framework ...........................................................................12
Hình 3.5: Logo SwiftUI Framework.........................................................................13
Hình 3.6: Triển khai mã nguồn hiệu ứng trái tim bằng SwiftUI...............................14

Hình 3.7: Nút hiển thị Toggle trên macOS và iOS ...................................................15
Hình 3.8: Sơ đồ mơ tả hoạt động của Combine Framework ....................................17
Hình 3.9: Mơ tả cách hoạt động của WebSocket ......................................................18
Hình 3.10: Mơ tả các thành phần trong mỗi Frame gửi đi bởi WebSocket ..............19
Hình 3.11: Logo Apple Push Notications service.....................................................20
Hình 3.12: Các chứng chỉ cần thiết để tạo thơng báo đẩy ........................................21
Hình 3.13: Lược đồ tuần tự cho thao tác nhận token của thiết bị .............................22
Hình 3.14: Lược đồ tuần tự cho q trình tạo thơng báo đẩy ...................................23
Hình 3.15: Logo PostgreSQL ...................................................................................24
Hình 3.16: Minh hoạ bộ dữ liệu được lưu trong bảng của PostgreSQL ...................24
Hình 3.17: Tốc độ băm của 1 số thuật toán phổ biến ...............................................27
Hình 3.18: Mã giải thuật tốn băm Bcrypt ...............................................................28
Hình 3.19: Kết qủa cuối cùng của quá trình băm .....................................................28
Hình 3.20: Logo Amazone Web Services ................................................................29
Hình 3.21: Logo nền tảng đám mây Heroku ............................................................30
Hình 3.22: Quá trình truyền nhận thư bằng SMTP và POP/IMAP ..........................32
Hình 3.23 Ví dụ về tương tác SMTP ........................................................................33
Hình 4.1: Lược đồ Use case hệ thống .......................................................................36
Hình 4.2: Lược đồ tuần tự cho thao tác đăng ký.......................................................41
Hình 4.3: Lược đồ tuần tự cho thao tác đăng nhập ...................................................42
Hình 4.4: Lược đồ tuần tự cho thao tác đăng nhập với Facebook ............................43
Hình 4.5: Lược đồ tuần tự cho thao tác khôi phục mật khẩu ....................................44


Hình 4.6: Lược đồ tuần tự cho thao tác cập nhật thơng tin cá nhân .........................46
Hình 4.7: Lược đồ tuần tự cho thao tác thêm đầu sách ............................................47
Hình 4.8: Lược đồ tuần tự cho thao tác thêm sách vào tủ ........................................48
Hình 4.9: Lược đồ tuần tự cho thao tác quản lý lịch sử trao đổi sách ......................50
Hình 4.10: Lược đồ tuần tự cho thao tác thêm mới ghi chú .....................................52
Hình 4.11: Lược đồ tuần tự cho thao tác cập nhật sách người dùng ........................53

Hình 4.12: Lược đồ tuần tự cho thao tác đánh giá sách............................................54
Hình 4.13: Lược đồ tuần tự cho thao tác tạo nhu cầu đổi sách .................................55
Hình 4.14: Lược đồ tuần tự cho thao tác yêu cầu trao đổi sách................................56
Hình 4.15: Lược đồ tuần tự cho thao tác phản hồi trao đổi sách ..............................58
Hình 4.16: Lược đồ tuần tự cho thao tác yêu cầu mượn sách...................................59
Hình 4.17: Lược đồ tuần tự cho thao tác phản hồi mượn sách .................................60
Hình 4.18: Lược đồ tuần tự cho thao tác nhắn tin ....................................................62
Hình 4.19: Lược đồ tuần tự cho thao tác tạo bài viết................................................63
Hình 4.20: Lược đồ tuần tự cho thao tác bình luận bài viết .....................................65
Hình 4.21: Lược đồ cơ sở dữ liệu .............................................................................66
Hình 4.22: Kiến trúc tổng thệ hệ thống ....................................................................78
Hình 4.23: Kiến trúc ứng dụng di động ....................................................................79
Hình 4.24: Màn hình tạo bài viết ..............................................................................83
Hình 4.25: Màn hình hiển thị bài viết .......................................................................83
Hình 4.26: Màn hình hiển thị chi tiết bài viết ...........................................................83
Hình 4.27: Màn hình sách được u thích nhất ........................................................83
Hình 4.28: Màn hình các cuốn sách đang chờ trao đổi .............................................84
Hình 4.29: Màn hình danh sách người dùng có sẵn sách cho mượn ........................84
Hình 4.30: Màn hình gửi yêu cầu mượn sách ...........................................................84
Hình 4.31: Màn hình tạo sách chờ trao đổi ...............................................................84
Hình 4.32: Màn hình kết quả đổi sách ......................................................................85
Hình 4.33: Màn hình lịch sử mượn và trao đổi sách.................................................85
Hình 4.34: Màn hình trang cá nhân ..........................................................................85


Hình 4.35: Màn hình tủ sách cá nhân .......................................................................85
Hình 4.36: Màn hình chi tiết cuốn sách cá nhân .......................................................86
Hình 4.37: Màn hình thơng báo hoạt động ...............................................................86
Hình 4.38: Màn hình cài đặt tài khoản......................................................................86
Hình 4.39: Màn hình cập nhật vị trí hiện tại .............................................................86

Hình 4.40: Màn hình u cầu truy cập vị trí .............................................................87
Hình 4.41: Màn hình danh sách cuộc trị chuyện .....................................................87
Hình 4.42: Màn hình đăng nhập lần đầu ...................................................................87
Hình 4.43: Màn hình nhắn tin ...................................................................................87
Hình 4.44: Màn hình đánh giá sách ..........................................................................88
Hình 4.45: Màn hình tạo yêu cầu đổi sách ...............................................................88
Hình 4.46: Màn hình chi tiết đầu sách ......................................................................88
Hình 4.47: Màn hình chấp nhận yêu cầu mượn sách ................................................88
Hình 4.48: Màn hình xem yêu cầu mượn sách .........................................................89
Hình 4.49: Quá trình triển khai ứng dụng lên nền tảng đám mây ............................90
Hình 4.50: Thơng tin máy chủ đã triển khai .............................................................90
Hình 4.51: Thơng tin cơ sở dữ liệu đã triển khai ......................................................91


DANH MỤC BẢNG
Bảng 3.1 Bảng giới hạn kích thước của dữ liệu trong PostgreSQL ..........................26
Bảng 4.1: Danh sách actor trong hệ thống ................................................................37
Bảng 4.2: Danh sách các Use case trong hệ thống ...................................................40
Bảng 4.3: Danh sách thuộc tính của bảng Account ..................................................67
Bảng 4.4: Danh sách thuộc tính của bảng User ........................................................68
Bảng 4.5: Danh sách thuộc tính của bảng Book .......................................................68
Bảng 4.6: Danh sách thuộc tính của bảng Post .........................................................69
Bảng 4.7: Danh sách thuộc tính của bảng NotyfyType ............................................69
Bảng 4.8: Danh sách thuộc tính của bảng Notify .....................................................70
Bảng 4.9: Danh sách thuộc tính của bảng Reaction .................................................70
Bảng 4.10: Danh sách thuộc tính của bảng Devices .................................................71
Bảng 4.11: Danh sách thuộc tính của bảng Category ...............................................71
Bảng 4.12: Danh sách thuộc tính của bảng PostComment .......................................71
Bảng 4.13: Danh sách thuộc tính của bảng Setting ..................................................72
Bảng 4.14: Danh sách thuộc tính của bảng Chat ......................................................72

Bảng 4.15: Danh sách thuộc tính của bảng Message ................................................73
Bảng 4.16: Danh sách thuộc tính của bảng MessageType .......................................73
Bảng 4.17: Danh sách thuộc tính của bảng UserFollow ...........................................74
Bảng 4.18: Danh sách thuộc tính của bảng BookReview .........................................74
Bảng 4.19: Danh sách thuộc tính của bảng UserCategory .......................................75
Bảng 4.20: Danh sách thuộc tính của bảng BorrowBook .........................................75
Bảng 4.21: Danh sách thuộc tính của bảng ExchangeBook .....................................76
Bảng 4.22: Danh sách thuộc tính của bảng UserBook .............................................77
Bảng 4.23: Danh sách thuộc tính của bảng Note ......................................................77


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

STT

Từ viết tắt

1

STT

2

UI

Tên đầy đủ
Số thứ tự
User Interface
Application


3

API

Programming
Interface

4

SDK

Software
Development Kit

Diễn giải
Số thứ tự trong bảng
Là những gì chúng ta nhìn thấy và
giao tiếp với ứng dụng
Giao diện lập trình ứng dụng. Sử
dụng để truy cập 1 số phương thức
của hệ thống, từ đó có thể trao đổi
dữ liệu từ các ứng dụng
Là các công cụ và phần mềm dùng
để phát triển ứng dụng thông qua
một nền tảng nhất định
Giao thức truyền tải siêu văn bản.

5

HTTP


HyperText Transfer
Protocol

Đây là giao thức tiêu chuẩn cho
Word Wide Web để truyền tải dữ
liệu dưới dạng văn bản, âm thanh,
hình ảnh, video

6

REST

Representational State
Transfer

Một kiểu kiến trúc lập trình, định
nghĩa các quy tắc để thiết kế web
service.


TÓM TẮT KHÓA LUẬN
-

Tổng quan đề tài: Đặt vấn đề, lý do chọn đề tài, xác định mục tiêu, phạm vi và
hướng tiếp cận đề tài.

-

Tìm hiểu thực trạng trao đổi, chia sẻ sách từ đó phân tích u cầu chức năng

cho hệ thống.

-

Tìm hiểu các cơng nghệ mới, phù hợp để áp dụng vào phát triển hệ thống.

-

Phân tích, thiết kế hệ thống, thiết kế cơ sở dữ liệu và giao diện ứng dụng.

-

Phát triển ứng dụng hoàn chỉnh chạy trên nền tảng iOS.

-

Triển khai máy chủ lên nền tảng đám mây Heroku

-

Trình bày báo cáo, đưa ra kết luận và hướng phát triển cho ứng dụng chia sẻ
và trao đổi sách.

1


Chương 1.
1.1.

MỞ ĐẦU


Giới thiệu đề tài
Sách chứa đựng nguồn kiến thức vô cùng lớn của nhân loại. Những bài học,

kinh nghiệm của người đi trước, những nghiên cứu, phát minh được lưu lại đã giúp
tác động trực tiếp theo hướng tích cực đến cuộc sống của con người. Sách giúp ta kết
nối với thế giới bên ngoài, tiếp cận các kiến thức mới của xã hội, thúc đẩy khả năng
sáng tạo, nâng cao dân trí và tu dưỡng nhân cách.
Năm 2014, hưởng ứng Ngày Sách và Bản quyền Thế giới, Thủ tướng Chính phủ đã
ban hành quyết định 284/QĐ – TTg lấy ngày 21/4 hằng năm là Ngày Sách Việt
Nam nhằm:
1. Khuyến khích và phát triển phong trào đọc sách trong cộng đồng, nâng cao
nhận thức của nhân dân về ý nghĩa to lớn và tầm quan trọng của việc đọc
sách đối với việc nâng cao kiến thức và kỹ năng, phát triển tư duy, giáo dục
và rèn luyện nhân cách con người.
2. Tôn vinh giá trị của sách, khẳng định vai trị, vị trí, tầm quan trọng của sách
trong đời sống xã hội; tôn vinh người đọc và những người tham gia sưu tầm,
sáng tác, xuất bản, in, phát hành, lưu giữ, quảng bá sách.
3. Nâng cao trách nhiệm của các cấp, các ngành, các cơ quan chức năng và
các tổ chức xã hội đối với việc xây dựng và phát triển văn hóa đọc Việt
Nam.
Qua đó ta thấy được sự quan tâm của nhà nước về việc đọc sách, và tất cả mọi ngời
đều có trách nhiệm để góp phần hồn thành mục tiêu chung, đẩy mạnh xây dựng xã
hội học tập.

2


Theo một khảo sát1 gần đây, dữ liệu thu được cho thấy việc đọc sách việc đọc sách
của người Việt Nam cịn vơ cùng khiêm tốn. Dữ liệu thể hiện bao gồm 30% số người

đọc sách thường xuyên, 44% thỉnh thoảng đọc sách và 26% không đọc sách. Đồng
thời thời lượng đọc sách mỗi tuần của người Việt Nam chưa tới 1 giờ, thuộc nhóm có
thời lượng đọc sách thấp nhất của các nước được khảo sát.
Vì vậy, để góp phần khích lệ tinh thần, hình thành hói quen đọc sách của mọi người
và kết nối những người có cùng sở thích đọc sách, đề tài khố luận đã được lên ý
tưởng và thực hiện.
1.2.

Lý do chọn đề tài
Có những cuốn sách đọc mãi không chán, cứ đọc hết lần này tới lần khác. Mỗi

lần mở sách ra đọc chúng ta lại học thêm được điều gì mới mẻ. Nhưng cũng có những
cuốn sách ta chỉ đọc 1 lần rồi đặt lên tủ sách mà khơng cịn đọc tới lần thứ 2, nổi bật
nhất là các cuốn sách giáo trình và sách truyện. Việc để những cuốn sách nằm yên
trên kệ sẽ rất lãng phí vì ngồi kia, rất nhiều người u sách nhưng khơng đủ tiền mua
hay đang tìm kiếm những cuốn sách đã ngừng xuất bản. Hiện nay cũng đã có vài
phương pháp được triển khai, điển hình là trao đổi sách qua các nhóm trên mạng xã
hội Facebook. Tuy nhiên, việc đăng tải và trao đổi trên nền tảng không được thiết kế
phù hợp với trao đổi sách khiến các bài tìm kiếm, trao đổi dễ bị trơi và chìm vào qn
lãng. Người đọc cũng khó khăn để quản lý những cuốn sách đã mượn/cho mượn của
bản thân.
Cùng với đó, việc tìm kiếm được cuốn sách hay và phù hợp với bản thân là
bước đầu tiên và cũng là bước vô cùng quan trọng khi bắt đầu hành trình khám phá
một cuốn sách mới. Vậy làm thế nào để lựa chọn đúng sách giữa hàng ngàn đầu sách
được xuất bản mỗi tháng? Một sự lựa chọn nhanh chóng là ta có thể xem đánh giá
trên cửa hàng sách trực tuyến, gợi ý của mạng xã hội Goodreads, … Nhưng tất cả

1

Tham khảo từ: />

3


những nguồn gợi ý kể trên đều có đánh giá chung với số sao nhất định. Mọi thứ sẽ
tuyệt vời hơn nếu ta có đánh giá chi tiết về các tiêu chí khác nhau và chọn ra cuốn mà
tiêu chí mình quan tâm được nhiều bình chọn nhất.
Từ những thực trạng, vấn đề được nêu trên, em đã lên ý tưởng về một hệ thống
kết nối và phục vụ những nhu cầu thường nhật dành cho những người yêu sách.
Trong quá trình hình thành ý tưởng, em cũng đã tham khảo và tìm hiểu các hệ
thống đã giải quyết các vấn đề nêu ra. Kết quả là nhận thấy chưa có hệ thống nào phù
hợp, giải quyết đầy đủ. Tuy nhiên, nhờ tham khảo các hệ thống khác mà em rút ra
được những kinh nghiệm hữu ích và quyết định tạo ra ứng dụng chia sẻ và trao đổi
sách.

4


×