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

KHÓA LUẬN tốt NGHIỆP xây DỰNG ỨNG DỤNG CHIA sẻ địa DANH LỊCH sử

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.46 MB, 106 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

LÊ NHỰT VINH - 15521016

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

XÂY DỰNG ỨNG DỤNG CHIA SẺ ĐỊA DANH LỊCH SỬ
Building a historic places sharing application

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

TP. HỒ CHÍ MINH, 2021


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

LÊ NHỰT VINH - 15521016

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

XÂY DỰNG ỨNG DỤNG CHIA SẺ ĐỊA DANH LỊCH SỬ
Building a historic places sharing application

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


GIẢNG VIÊN HƯỚNG DẪN
TS. Nguyễn Hà Giang
ThS. Nguyễn Thị Thanh Trúc

TP. HỒ CHÍ MINH, 2021


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

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.


ĐẠI HỌC QUỐC GIA 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
TP. HCM, ngày…..tháng…..năm……..

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Ẻ ĐỊA DANH LỊCH SỬ
Nhóm SV thực hiện:
Lê Nhựt Vinh

Cán bộ hướng dẫn/phản biện:
15521016

TS. Nguyễn Hà Giang
ThS. Nguyễn Thị Thanh Trúc

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

________

Số chương

________

Số bảng số liệu

________

Số hình vẽ

________

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


________

Sản phẩm

________

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:

……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………..
Điểm từng sinh viên:
Lê Nhựt Vinh: …… /10
Người nhận xét
(Ký tên và ghi rõ họ tên)


ĐẠI HỌC QUỐC GIA 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
TP. HCM, ngày…..tháng…..năm……..

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Ẻ ĐỊA DANH LỊCH SỬ
Nhóm SV thực hiện:
Lê Nhựt Vinh

Cán bộ hướng dẫn/phản biện:
15521016


TS. Nguyễn Hà Giang
ThS. Nguyễn Thị Thanh Trúc

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

________

Số chương

________

Số bảng số liệu

________

Số hình vẽ

________

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

________

Sản phẩm

________


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:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………..
Điểm từng sinh viên:
Lê Nhựt Vinh: …… /10
Người nhận xét

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


LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn đến ban giám hiệu, quý thầy cô của trường đại
học Công Nghệ Thông Tin, đặc biệt là các thầy cơ trong khoa Cơng Nghệ Phần Mềm
đã tận tình giảng dạy, trang bị cho em những kiến thức cần thiết trong những năm
học tập tại trường.
Em xin gửi lời cảm ơn đến thầy Nguyễn Hà Giang và cô Nguyễn Thị Thanh Trúc,
người đã tận tình hướng dẫn và giúp đỡ trong suốt q trình thực hiện đồ án để em
có thể hoàn thành tốt đồ án này.
Mặc dù đã cố gắng hoàn thành đồ án với tất cả sự nỗ lực, nhưng khố luận chắc chắn
khơng tránh khỏi những thiếu sót, em kính mong q thầy cơ tận tình chỉ bảo.
Sau cùng, em xin kính chúc q thầy cơ ở khoa Công Nghệ Phần Mềm, thầy Nguyễn
Hà Giang và cô Nguyễn Thị Thanh Trúc thật dồi dào sức khỏe, niềm tin để tiếp tục
thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau. Em
xin chân thành cảm ơn!


ĐẠI HỌC QUỐC GIA 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ẻ địa danh lịch sử
TÊN TIẾNG ANH: Building a historic places sharing application

Cán bộ hướng dẫn: TS. Nguyễn Hà Giang, ThS. Nguyễn Thị Thanh Trúc
Thời gian thực hiện: Từ ngày 01/03/21 đến ngày 26/06/21
Sinh viên thực hiện:
Lê Nhựt Vinh - 15521016

Nội dung đề tài:
Lịch sử là khúc ca hào hùng của dân tộc, là quá khứ không thể nào quên của lớp người
đi trước. Học lịch sử khơng chỉ là tìm về nguồn cội, mà còn thêm tự hào về dân tộc,
tiếp thêm sức mạnh để xây dựng và phát triển đất nước. Tuy vậy, việc học và tìm hiểu
lịch sử đối với nhiều người khá khô khan và không tạo được hứng thú. Mọi người chỉ
chăm chú vào những trận chiến chống quân xâm lược hay mở mang bờ cõi nước nhà
mà quên đi rằng lịch còn còn thể hiện qua những chi tiết nhỏ trong cuộc sống hằng ngày
như: tên đường phố, chùa chiền, nhà thờ, các địa danh du lịch.... Khơng chỉ vậy, việc
tìm hiểu lịch sử qua các kênh truyền thống như báo đài, hình ảnh, tài liệu cũng gây khó
khăn khơng nhỏ cho những người thật sự có lịng muốn tìm hiểu.
Từ những suy nghĩ đó, em muốn nghiên cứu và xây dựng một ứng dụng hỗ trợ người
dùng tìm hiểu lịch sử dựa trên các địa danh, ở đây là thành phố Hồ Chí Minh. Ứng dụng
dựa trên bản đồ để mọi người có thể tìm kiếm các địa danh lịch sử, ngồi ra người dùng
có thể đóng góp và cập nhật địa danh mới để chia sẻ với mọi người.
- Mục tiêu:


+ Xây dựng ứng dụng giúp người dùng có thể tìm kiếm và chia sẻ thơng tin kiến thức
về các địa danh lịch sử.
+ Xây dựng ứng dụng có giao diện trực quan phù hợp với đối tượng người dùng.
+ Nghiên cứu thuật toán, phương pháp để phát triển ứng dụng chia sẻ, kiểm duyệt nội
dung đăng tải của người dùng.

- Đối tượng nghiên cứu:
+ Nghiên cứu phương pháp cách thiết kế, xây dựng một nền tảng chia sẻ thông tin hoàn
chỉnh.
+ Nghiên cứu Stateful Server với NodeJS.
+ Nghiên cứu React Libary để xây dựng website.
+ Nghiên cứu cơ chế quản lý thông tin người dùng cung cấp tránh các trường hợp người
dùng tải lên các thông tin sai hoặc trái pháp luật.
- Pham vi nghiên cứu:
+ Tập trung tìm hiểu phương pháp thiết kế, xây dựng, phát triển và giữ cho một hệ
thống hoàn chỉnh hoạt động hiệu quả.
+ Ứng dụng hỗ trợ người dùng tìm kiếm, đóng góp, chia sẻ những địa danh lịch sử.
- Đối tượng triển khai:
+ Service API
+ Web Application
- Phương pháp:
+ Tìm hiểu các phương pháp thiết kế, xây dựng, phát triển và giữ cho một hệ thống
hoàn chỉnh hoạt động hiệu quả.
+ Thiết kế cơ sở dữ liệu phù hợp với nền tảng
+ Thiết kế UI/UX cho website


+ Thu thập, xử lý, tạo bộ dữ liệu các địa danh lịch sử ở Thành phố Hồ Chí Minh.
+ Sử dụng NodeJS để xây dựng stateful server quản lý thông tin các địa danh lịch sử
(ảnh + văn bản), quản lý người dùng.
+ Sử dụng thư viện React, Map API để xây dựng Website cho người dùng và CMS cho
quản trị viên của nền tảng.
- Kết quả mong đợi:
+ Hồn thiện ứng dụng với các chức năng:



Đối với người dùng: Có thể đăng nhập, đăng ký, bình luận, chia sẻ và cập nhật
thông tin các địa danh lịch sử. Người dùng có thể sử dụng ứng dụng qua Website
để đánh dấu và cập nhật các địa danh dễ dàng hơn.



Đối với quản trị viên: Quản lý tồn bộ người dùng, kiểm duyệt lại những cập
nhật của người dùng tránh trường hợp nội dung bị xuyên tạc gây hiểu nhầm.

+ Về thẩm mỹ: Giao diện ứng dụng đơn giản, dễ dùng.
+ Về bảo mật: Không để lộ thông tin người dùng tạo điều kiện cho kẻ xấu đánh cắp.
+ Ứng dụng dễ dàng mở rộng để phát triển thêm trong tương lai.
Kế hoạch thực hiện:

Thời gian

1

2

Nội dung

01/03 -

Phân tích và tìm hiểu các kiến thức liên

07/03

quan đến bài tốn.


08/03 -

Tìm hiểu về FE và BE:

14/03

- Thiết kế cơ sở dữ liệu.
- Tìm hiểu React Library.
- Tìm hiểu NodeJS.

Phân

Chú

cơng

thích

Vinh

Vinh


3

15/03 -

Khảo sát người dùng, review các ứng dụng

21/03


tương tự.

Vinh

Thiết kế giao diện FE cho website.
4

22/03 -

Xây dựng cơ sở dữ liệu từ thiết kế,

28/03

sau đó thu thập dữ liệu thông tin về các địa

Vinh

danh.
Thiết lập môi trường deploy lên Server
Dev.
5

29/03 -

Thiết kế các API cần thiết cho nền tảng.

Vinh

12/04 -


Xây dựng Website và CMS dựa trên thiết

Vinh

25/04

kế .

26/04 -

Triển khai và chạy thử toàn hệ thống ở

09/05

Server Dev.

10/05 -

Triển khai hệ thống phía Production.

Vinh

17/05 -

Thu thập ý kiến từ người dùng và bảo trì hệ

Vinh

20/06


thống.

11/04
6

7

8

Vinh

16/05
9

10 01/06 26/06

Hồn thiện và chuẩn bị báo cáo luận văn.

Vinh


Xác nhận của CBHD

TP. HCM, ngày 05 tháng 03 năm 2021

GVHD1

Sinh viên


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

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

TS Nguyễn Hà Giang

Lê Nhựt Vinh

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

Ths. Nguyễn Thị Thanh Trúc


MỤC LỤC
Chương 1. TỔNG QUAN ........................................................................................2
1.1. Lý do chọn đề tài ...........................................................................................2
1.2. Mục tiêu và phạm vi đề tài ............................................................................2
1.2.1. Mục tiêu ..................................................................................................2
1.2.2. Phạm vi ...................................................................................................3
Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ ..............................................3
2.1. Khảo sát các hệ thống liên quan ....................................................................3
2.1.1. Các hệ thống nước ngoài ........................................................................4
2.1.1.1. World History Project ( ) ..............4
2.1.1.2. Hictoric UK ( ) .................................5
2.1.1.3. Wikipedia ( ).............................................5
2.1.1.4. Google Maps ( - Historial Sites ) ...7
2.1.2. Các hệ thống trong nước.........................................................................8
2.1.2.1. Diễn đàn lịch sử Việt Nam ( ) .........................8
2.1.2.2. Nghiên cứu Lịch sử ( ) ......................9

2.1.2.3. Các trang blog về lịch sử ...............................................................10
2.1.3. Nhận xét chung .....................................................................................10
2.2. Tìm hiểu một số phương pháp, thuật tốn và cơng nghệ ............................11
2.2.1. Các phương pháp và thuật toán sử dụng ..............................................11
2.2.1.1. Scale-invariant feature transform (SIFT) .......................................11
2.2.1.2. K-Nearest Neighbors (KNN) .........................................................12
2.2.1.3. REST (REpresentational State Transfer) .......................................14
2.2.1.4. JSON Web Token (JWT) ...............................................................16
2.2.2. Các công nghệ sử dụng .........................................................................16
2.2.2.1. JavaScript .......................................................................................16
2.2.2.2. Python ............................................................................................17
2.2.2.3. ReactJS...........................................................................................18
2.2.2.4. NodeJS ...........................................................................................19


2.2.2.5. MongoDB, Mongoose ...................................................................19
2.2.2.6. Google App Engine .......................................................................20
2.2.2.7. Imagekit.io .....................................................................................21
2.2.2.8. Mapbox ..........................................................................................22
Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ..........................................23
3.1. Danh sách yêu cầu .......................................................................................23
3.1.1. Người dùng ...........................................................................................23
3.1.2. Quản trị viên, Điều hành viên ...............................................................23
3.2. Mô tả yêu cầu ..............................................................................................23
3.2.1. Người dùng ...........................................................................................23
3.2.1.1. Tìm kiếm các địa danh ...................................................................23
3.2.1.2. Chia sẻ địa danh mới......................................................................24
3.2.1.3. Đóng góp chỉnh sửa các địa danh đã có.........................................24
3.2.1.4. Xem thơng tin các địa danh ...........................................................24
3.2.1.5. Thảo luận tại các địa danh .............................................................24

3.2.1.6. Báo cáo các địa danh, bình luận ....................................................24
3.2.2. Quản trị viên, Điều hành viên ...............................................................25
3.2.2.1. Quản lí người dùng ........................................................................25
3.2.2.2. Quản lí điều hành viên ...................................................................25
3.2.2.3. Quản lí địa danh .............................................................................25
3.2.2.4. Kiểm duyệt đóng góp .....................................................................25
3.2.2.5. Xử lí các báo cáo ...........................................................................25
3.3. Phân tích yêu cầu.........................................................................................26
3.3.1. Sơ đồ Usecase .......................................................................................26
3.3.2. Danh sách các Usecase .........................................................................26
3.3.3. Danh sách các Actor .............................................................................28
3.3.4. Đặc tả yêu cầu phần mềm .....................................................................29
3.3.4.1. Đăng nhập ......................................................................................29
3.3.4.2. Đăng kí...........................................................................................31


3.3.4.3. Đăng xuất .......................................................................................33
3.3.4.4. Cập nhật thông tin tài khoản ..........................................................34
3.3.4.5. Tìm kiếm địa danh .........................................................................36
3.3.4.6. Chia sẻ và đóng góp địa danh ........................................................37
3.3.4.7. Xem thơng tin địa danh ..................................................................39
3.3.4.8. Bình luận ........................................................................................40
3.3.4.9. Báo cáo địa danh, bình luận ...........................................................42
3.3.4.10. Quản lí người dùng.......................................................................43
3.3.4.11. Quản lí điều hành viên .................................................................46
3.3.4.12. Quản lí địa danh ...........................................................................48
3.3.4.13. Kiểm duyệt đóng góp ...................................................................51
3.3.4.14. Xử lí báo cáo ................................................................................53
Chương 4. THIẾT KẾ VÀ PHÁT TRIỂN HỆ THỐNG ........................................55
4.1. Thiết kế cơ sở dữ liệu ..................................................................................55

4.1.1. Lược đồ cơ sở dữ liệu ...........................................................................55
4.1.2. Mô tả các bảng dữ liệu .........................................................................55
4.1.2.1. Bảng UserRole ...............................................................................55
4.1.2.2. Bảng User ......................................................................................56
4.1.2.3. Bảng Location ................................................................................56
4.1.2.4. Bảng Contibution ...........................................................................57
4.1.2.5. Bảng Place .....................................................................................57
4.1.2.6. Bảng Photo.....................................................................................58
4.1.2.7. Bảng Comment ..............................................................................59
4.1.2.8. Bảng Report ...................................................................................59
4.2. Thiết kế kiến trúc hệ thống ..........................................................................60
4.2.1. Màn hình trang chủ ...............................................................................61
4.2.1.1. Giao diện tìm kiếm ........................................................................63
4.2.1.2. Giao diện quản lí tài khoản người dùng.........................................64
4.2.2. Màn hình chi tiết địa danh ....................................................................65


4.2.3. Màn hình đóng góp địa danh ................................................................67
4.2.4. Màn hình khám phá ..............................................................................68
4.2.5. Màn hình quản trị .................................................................................70
4.2.5.1. Giao diện trang chủ quản trị ..........................................................70
4.2.5.2. Giao diện quản lí người dùng ........................................................71
4.2.5.3. Giao diện quản lí địa danh .............................................................72
4.2.5.4. Giao diện kiểm duyệt đóng góp .....................................................73
4.2.5.5. Giao diện quản lí báo cáo ..............................................................74
4.2.6. Màn hình kiểm duyệt đóng góp ............................................................75
4.3. Triển khai hệ thống .....................................................................................77
4.3.1. Font-end Server ....................................................................................77
4.3.2. Back-end Server ...................................................................................79
4.3.2.1. Node.js ...........................................................................................79

4.3.2.2. Python ............................................................................................79
Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................80
5.1. Kết quả đạt được .........................................................................................80
5.2. Thuận lợi và khó khăn .................................................................................80
5.2.1. Thuận lợi...............................................................................................80
5.2.2. Khó khăn ..............................................................................................81
5.3. Hạn chế ........................................................................................................81
5.4. Hướng phát triển..........................................................................................81


DANH MỤC HÌNH VẼ
Hình 2.1 Giao diện website WHP ...............................................................................4
Hình 2.2 Bản đồ các lâu đài ........................................................................................5
Hình 2.3 Thơng tin về Dinh Độc Lập tại website Wikipedia .....................................6
Hình 2.4 Giao diện website Historical Sites được xây dựng bằng My Maps .............7
Hình 2.5 Giao diện website lichsuvn.net ....................................................................8
Hình 2.6 Chi tiết một bài viết tại website nghiencuulichsu.com ................................9
Hình 2.7 Sơ đồ ý tưởng của SIFT .............................................................................11
Hình 2.8 Bảng đồ của 1 NN ......................................................................................13
Hình 2.9 Thiết kế RESTful .......................................................................................14
Hình 2.10 Cấu trúc JSON Web Token .....................................................................16
Hình 2.11 Logo JavaScript .......................................................................................17
Hình 2.12 Logo ReactJS ...........................................................................................18
Hình 2.13 Logo NodeJS............................................................................................19
Hình 2.14 Logo MongoDB .......................................................................................20
Hình 2.15 Kiến trúc Google App Engine .................................................................20
Hình 2.16 Logo Imagekit.io ......................................................................................21
Hình 2.17 Logo Mapbox ...........................................................................................22
Hình 3.1 Sơ đồ Usecase ............................................................................................26
Hình 3.2 Lược đồ tuần tự cho thao tác Đăng nhập ...................................................30

Hình 3.3 Lược đồ tuần tự cho thao tác Đăng kí ........................................................32
Hình 3.4 Lược đồ tuần tự cho thao tác Đăng xuât ....................................................33
Hình 3.5 Lược đồ tuần tự cho thao tác Cập nhật thơng tin tài khoản .......................35
Hình 3.6 Lược đồ tuần tự cho thao tác Tìm kiếm địa danh ......................................36
Hình 3.7 Lược đồ tuần tự cho thao tác Chia sẻ và đóng góp địa danh .....................38
Hình 3.8 Lược đồ tuần tự cho thao tác Xem thơng tin địa danh ...............................39
Hình 3.9 Lược đồ tuần tự cho thao tác Bình luận .....................................................41
Hình 3.10 Lược đồ tuần tự cho thao tác Báo cáo địa danh, bình luận ......................43
Hình 3.11 Lược đồ tuần tự cho thao tác Quản lí người dùng ...................................45


Hình 3.12 Lược đồ tuần tự cho thao tác Quản lí điều hành viên ..............................47
Hình 3.13 Lược đồ tuần tự cho thao tác Quản lí địa danh ........................................50
Hình 3.14 Lược đồ tuần tự cho thao tác Kiểm duyệt đóng góp ................................52
Hình 3.15 Lược đồ tuần tự cho thao tác Xử lí báo cáo .............................................54
Hình 4.1 Lược đồ cơ sở dữ liệu ................................................................................55
Hình 4.2 Minh hoạ kiến trúc hệ thống của ứng dụng ...............................................60
Hình 4.3 Màn hình trang chủ ....................................................................................61
Hình 4.4 Giao diện xem chi tiết ảnh .........................................................................62
Hình 4.5 Giao diện tìm kiếm bằng tên ......................................................................63
Hình 4.6 Giao diện tìm kiếm bằng hình ảnh .............................................................63
Hình 4.7 Giao diện quản lí tài khoản người dùng .....................................................64
Hình 4.8 Màn hình chi tiết địa danh .........................................................................65
Hình 4.9 Màn hình đóng góp ....................................................................................67
Hình 4.10 Màn hình khám phá .................................................................................68
Hình 4.11 Màn hình khám phá trên thiết bị di động .................................................69
Hình 4.12 Giao diện trang chủ quản trị ....................................................................70
Hình 4.13 Giao diện chi tiết người dùng ..................................................................71
Hình 4.14 Giao diện quản lí địa danh .......................................................................72
Hình 4.15 Giao diện khơi phục phiên bản trước địa danh ........................................72

Hình 4.16 Giao diện danh sách đóng góp .................................................................73
Hình 4.17 Giao diện quản lí báo cáo địa danh ..........................................................74
Hình 4.18 Giao diện quản lí báo cáo bình luận ........................................................74
Hình 4.19 Giao diện kiểm duyệt đóng góp điạ danh mới .........................................75
Hình 4.20 Giao diện kiểm duyệt đóng góp địa danh đã có .......................................76
Hình 4.21 Cấu hình Cloud Server React.js ...............................................................77
Hình 4.22 Chạy lệnh "yarn build" tạo folder build ...................................................78
Hình 4.23 Chạy lệnh "gcloud app deploy" deploy ứng dụng ...................................78
Hình 4.24 Cấu hình Cloud Server Node.js ...............................................................79
Hình 4.25 Cấu hình Cloud Server Python ................................................................79


DANH MỤC BẢNG
Bảng 3.1 Danh sách các Usecase ..............................................................................28
Bảng 3.2 Danh sách các Actor ..................................................................................28
Bảng 3.3 Đặc tả usecase "Đăng nhập" ......................................................................29
Bảng 3.4 Đặc tả usecase "Đăng kí" ..........................................................................32
Bảng 3.5 Đặc tả usecase “Đăng xuất” ......................................................................33
Bảng 3.6 Đặc tả usecase "Cập nhật thông tin tài khoản" ..........................................34
Bảng 3.7 Đặc tả usecase “Tìm kiếm địa danh”.........................................................36
Bảng 3.8 Đặc tả usecase “Chia sẻ và đóng góp địa danh”........................................37
Bảng 3.9 Đặc tả usecase "Xem thông tin địa danh" .................................................39
Bảng 3.10 Đặc tả usecase "Bình luận"......................................................................40
Bảng 3.11 Đặc tả usecase "Báo cáo địa danh, bình luận".........................................42
Bảng 3.12 Đặc tả usecase "Quản lí người dùng" ......................................................44
Bảng 3.13 Đặc tả usecase "Quản lí điều hành viên" .................................................46
Bảng 3.14 Đặc tả usecase "Quản lí địa danh" ...........................................................49
Bảng 3.15 Đặc tả usecase "Kiểm duyệt đóng góp" ..................................................52
Bảng 3.16 Đặc tả usecase "Xử lí báo cáo"................................................................53
Bảng 4.1 Danh sách thuộc tính của bảng UserRole ..................................................56

Bảng 4.2 Danh sách thuộc tính của bảng User .........................................................56
Bảng 4.3 Danh sách thuộc tính của bảng Location...................................................57
Bảng 4.4 Danh sách thuộc tính của bảng Contribution ............................................57
Bảng 4.5 Danh sách thuộc tính của bảng Place ........................................................58
Bảng 4.6 Danh sách thuộc tính bảng Photo ..............................................................58
Bảng 4.7 Danh sách thuộc tính bảng Comment........................................................59
Bảng 4.8 Danh sách thuộc tính bảng Report ............................................................60


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Ý nghĩa

API (Application programming

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

interface)
CSDL

Cơ sở dữ liệu.

DOM (Document Object Model)

Mơ hình các đối tượng trong tài liệu
HTML.

HTML (Hypertext Markup


Ngơn ngữ đánh dấu được thiết kế ra để tạo

Language)

nên các trang web trên World Wide Web

ID (Identity)

Định danh.

UI/UX (User interface / User

Giao diện và trải nghiệm người dùng.

experience)
UID (Unique identity)

Định danh duy nhất.

URL (Uniform Resource Locator)

Địa chỉ web, là một tham chiếu đến tài
nguyên web chỉ định vị trí của nó trên một
mạng máy tính và cơ chế để truy xuất nó.

XML (eXtensible Markup

Ngơn ngữ đánh dấu với mục đích chung do

Language)


W3C đề nghị, để tạo ra các ngôn ngữ đánh
dấu khác.


DANH MỤC THUẬT NGỮ
Thuật ngữ

Ý nghĩa

Browser

Trình duyệt

Client

Phía người dung

Code

Mã lệnh

Database

Cơ sở dữ liệu

Deploy

Triển khai phần mềm


Document

Tài liệu

Email

Địa chỉ thư điện tử

Framework

Nền tảng

Libary

Thư viện

Server

Máy chủ

Service

Chức năng hệ thống

Validation

Xác nhận

Website


Trang mạng

Wiki

Một loại ứng dụng xây dựng và quản lý các
trang thông tin do nhiều người cùng phát
triển.


TĨM TẮT KHĨA LUẬN
Trong khố luận này, em nghiên cứu và phát triển ứng dụng giúp mọi người có thể
cùng đóng góp chia sẻ về các địa danh lịch sử. Người dùng có thể dễ dàng chia sẻ,
tìm kiếm thơng tin hơn so với các nguồn tài liệu, báo đài, sách vở, … đa phần được
chia sẻ trên các diễn đàn, hội nhóm chuyên về lịch sử. Người dùng có thể chia sẻ nội
dung bằng cách đóng góp chỉnh sửa các địa danh hoặc thảo luận chia sẻ những người
dùng khác. Ngồi ra, để hạn chế các thơng tin sai lệch, người dùng có thể báo cáo các
địa danh và bình luận để đội ngũ quản trị xử lí.
Do là một hệ thống chia sẻ thông tin về lịch sử và mục đích chính để cộng đồng cùng
phát triển nên tất cả thông tin của từng địa danh chỉ thay đổi bởi các đóng góp chỉnh
sửa chia sẻ thơng tin của người dùng. Đội ngũ quản trị khơng có quyền chỉnh sửa các
thông tin này.
Các thông tin mà người dùng đóng góp sẽ được đội ngũ quản trị viên kiểm duyệt và
cập nhật, tất cả các đóng góp được cập nhật sẽ được đánh số phiên bản của từng địa
danh giúp cho đội ngũ quản trị có thể kiểm tra và khôi phục lại các phiên bản trước
của từng địa danh.
Nội dung khóa luận được trình bày trong 5 chương:
-

Chương 01: Tổng quan


Trình bày sơ bộ về đề tài, lý do thực hiện và ý nghĩa thực tiễn.
-

Chương 02: Cơ sở lý thuyết và cơng nghệ

Trình bày các phương pháp, thuật tốn và cơng nghệ được ứng dụng để phát triển
khóa luận.
-

Chương 03: Phân tích và thiết kế hệ thống

Phân tích các yêu cầu và thiết kế cơ sở dữ liệu, kiến trúc cho hệ thống.
-

Chương 04: Cài đặt và phát triển hệ thống

Trình bày đặc tả các chức năng ứng dụng, giao diện của hệ thống.
-

Chương 05: Kết luận và hướng phát triển

Những thuận lợi, khó khăn trong quá trình phát triển đề tài và nêu ra hướng phát triển
trong tương lai.
1


Chương 1. TỔNG QUAN
1.1. Lý do chọn đề tài
Lịch sử là khúc ca hào hùng của dân tộc, là quá khứ không thể nào quên của lớp người
đi trước. Học Lịch sử khơng chỉ là tìm về nguồn cội, mà còn thêm tự hào về dân tộc,

tiếp thêm kiến thức, kinh nghiệm và sử dụng những điều đó trong hiện tại và tương
lai. Nhưng hiện nay, phần đông mọi người, nhất là thế hệ trẻ đều khơng thích mơn
Lịch sử bởi những con số, sự kiện và kiến thức khô khan. Cùng với đó các bài kiểm
tra, thi học kì của mơn Lịch sử thường là đề đóng, chỉ cần trả lời đúng ý là được. Nó
gián tiếp tạo thành một thói quen “học vẹt” để qua mơn, sau đó thì quên đi, hệ quả là
tạo nên một định kiến về lịch sử là môn khô khan không cần thiết.
Mọi người chỉ chăm chú vào những trận chiến chống quân xâm lược hay mở mang
bờ cõi nước nhà mà quên đi rằng lịch sử còn còn thể hiện qua những chi tiết nhỏ trong
cuộc sống hằng ngày như: con đường, dãy phố, chùa chiền, nhà thờ, các địa danh du
lịch.... Trong khi các nguồn tài liệu, báo đài, hình ảnh, … cịn rất ít đa phần được chia
sẻ trên các diễn đàn, hội nhóm chuyên về lịch sử nên việc đó gây một khó khăn khơng
nhỏ cho những người muốn tìm hiểu.
Chính vì thế nên em đã lên ý tưởng về Memorii - ứng dụng giúp người dùng dễ dành
tìm kiếm và chia sẻ những thông tin kiến thức về các địa danh lịch sử, ở đây là Thành
Phố Hồ Chí Minh. Ứng dụng giúp mọi người có một góc nhìn khác về Lịch sử cũng
như biết thêm về những sự kiện, những địa danh lịch sử của thành phố mình đang
sinh sống.
1.2. Mục tiêu và phạm vi đề tài
1.2.1.

Mục tiêu

Xây dựng ứng dụng giúp người dùng có chia sẻ và tìm kiếm thơng tin kiến thức về
các địa danh lịch sử.
Xây dựng ứng dụng có giao diện trực quan phù hợp với đối tượng người dùng.

2


Nghiên cứu phương pháp để phát triển ứng dụng chia sẻ, tìm kiếm, kiểm duyệt nội

dung đăng tải của người dùng.
1.2.2.

Phạm vi

Phạm vi chức năng:
-

Người dùng:
o Đăng nhập/ đăng kí.
o Chỉnh sửa thơng tin tài khoản.
o Đóng góp, cập nhật các địa danh lịch sử.
o Báo cáo các địa danh, bình luận chứa nội dung vi phạm.
o Trao đổi, bình luận và chia sẻ về các địa danh lịch sử.

-

Quản trị viên:
o Quản lí người dùng.
o Quản lí điều hành viên.
o Quản lí các địa danh, bao gồm xét duyệt, cập nhật các đóng góp về địa
danh của người dùng và khôi phục phiên bản.
o Tiếp nhận báo cáo các địa danh, bình luận vi phạm.

Ngơn ngữ ứng dụng : Tiếng Việt
Chương 2.

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

2.1. Khảo sát các hệ thống liên quan

Phần này sẽ nêu lên một số hệ thống liên quan đến các hệ thống tìm kiếm và chia sẻ
thơng tin. Các hệ thống, phần mềm được chia theo phạm vi khảo sát bao gồm trong
nước và ngoài nước. Phần khảo sát mỗi hệ thống bao gồm mơ tả chung và nhận xét
hệ thống đó.
Thơng qua việc khảo sát, có thể biết được ý tưởng đã tồn tại hay chưa, học hỏi những
ưu điểm, chức năng hay của mỗi hệ thống, hiểu được nhu cầu của người dùng, từ đó
phát triển chức năng phù hợp cho hệ thống.

3


×