ĐẠ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. ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH NAM Độc Lập - Tự Do - Hạnh Phúc TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT TP. 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: Cán bộ hướng dẫn/phản biện: Lê Nhựt Vinh 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: ………………………………………………………………………………………………… … ………………………………………………………………………………………………… … ………………………………………………………………………………………………… … ……………………………………………………………………………………………………. Về nội dung nghiên cứu: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ……………………………………………………………………………………………………. Về chương trình ứng dụng: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ……………………………………………………………………………………………………. 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 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc 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: Cán bộ hướng dẫn/phản biện: Lê Nhựt Vinh 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: ………………………………………………………………………………………………… … ………………………………………………………………………………………………… … ………………………………………………………………………………………………… … ……………………………………………………………………………………………………. Về nội dung nghiên cứu: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ……………………………………………………………………………………………………. Về chương trình ứng dụng: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… ……………………………………………………………………………………………………. 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 quá 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 khoá luận chắc chắn không tránh khỏi những thiếu sót, em kính mong quý thầy cô tận tình chỉ bảo. Sau cùng, em xin kính chúc quý 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 NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT TRƯỜNG ĐẠI HỌC NAM Độc Lập - Tự Do - Hạnh Phúc ĐỀ 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ử, ngoà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: + Hoà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ý toà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 Nội dung Phân Chú công thích 1 01/03 - Phân tích và tìm hiểu các kiến thức Vinh 07/03 liên quan đến bài toán. 2 08/03 - Tìm hiểu về FE và BE: Vinh 14/03 - Thiết kế cơ sở dữ liệu. - Tìm hiểu React Library. 3 15/03 - Khảo sát người dùng, review các ứng Vinh 21/03 dụng tương tự. 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ế, Vinh 28/03 sau đó thu thập dữ liệu thông tin về các địa 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 11/04 6 12/04 - Xây dựng Website và CMS dựa trên Vinh 25/04 thiết kế . 7 26/04 - Triển khai và chạy thử toàn hệ thống Vinh 09/05 ở Server Dev. 8 10/05 - Triển khai hệ thống phía Production. Vinh 16/05 9 17/05 - Thu thập ý kiến từ người dùng và bảo trì Vinh 20/06 hệ thống. 10 01/06 Hoàn thiện và chuẩn bị báo cáo luận văn. Vinh - 26/06 Xác nhận của CBHD TP. HCM, ngày 05 tháng 03 năm GVHD1 2021 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. Lý do chọn đề tài. Mục tiêu và phạm vi đề tài. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ. Khảo sát các hệ thống liên quan. Các hệ thống nước ngoài . World History Project ( https://worldhistoryproject. Hictoric UK ( https://www. Wikipedia ( https://vi. Google Maps ( https://www.com/maps - Historial Sites ). Các hệ thống trong nước. Diễn đàn lịch sử Việt Nam ( https://lichsuvn. Nghiên cứu Lịch sử ( https://nghiencuulichsu. Các trang blog về lịch sử . Nhận xét chung. Tìm hiểu một số phương pháp, thuật toán và công nghệ . Các phương pháp và thuật toán sử dụng . Scale-invariant feature transform (SIFT). JSON Web Token (JWT). Các công nghệ sử dụng. Google App Engine . PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG. Danh sách yêu cầu. Người dùng. Quản trị viên, Điều hành viên. Mô tả yêu cầu . Người dùng. Tìm kiếm các địa danh. Chia sẻ địa danh mới. Đóng góp chỉnh sửa các địa danh đã có. Xem thông tin các địa danh . Thảo luận tại các địa danh . Báo cáo các địa danh, bình luận . Quản trị viên, Điều hành viên. Quản lí người dùng . Quản lí điều hành viên. Quản lí địa danh. Kiểm duyệt đóng góp. Phân tích yêu cầu. Danh sách các Usecase . Danh sách các Actor. Đặc tả yêu cầu phần mềm. Cập nhật thông tin tài khoản. Tìm kiếm địa danh .