Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
4,85 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGOẠI NGỮ- TIN HỌC TP HCM KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: Xây dựng mạng xã hội cho sức khoẻ dựa sở liệu đồ thị Giảng viên hướng dẫn: Th.S Lê Thị Minh Nguyện Sinh viên thực hiện: Nguyễn Vương Phi Tịnh - 15DH110375 Đỗ Huỳnh Như - 15DH110047 TP HỒ CHÍ MINH, Ngày 11 tháng năm 2019 LỜI CẢM ƠN Đề tài “Xây dựng mạng xã hội dựa sở liệu đồ thị” nội dung chúng em chọn để nghiên cứu làm khóa luận tốt nghiệp sau năm theo học chương trình đại học, chuyên ngành Công nghê phần mềm trường Đại học Ngoại ngữ Tin học Thành phố Hồ Chí Minh Để hoàn thành hoàn thiện đề tài này, lời chúng em xin chân thành cảm ơn sâu sắc đến Cô Lê Thị Minh Nguyện thuộc khoa Công nghệ thông tin, trường Đại học Ngoại ngữ Tin học Thành phố Hồ Chí Minh, người tận tình bảo hướng dẫn chúng em suốt thời gian thực khóa luận Ngồi ra, chúng em xin chân thành cảm ơn Thầy (Cô) khoa Công nghệ thơng tin tận tình truyền đạt kiến thức năm em học tập Những kiến thức q báu khơng tảng cho q trình nghiên cứu khóa luận mà cịn hành trang quý báu để chúng em áp dụng vào thực tế cách vững tự tin Sau xin gửi lời cảm ơn đến gia đình bạn bè động viên, giúp đỡ chúng em q trình làm khóa luận Do kiến thức cịn hạn hẹp nên khơng tránh khỏi thiếu sót cách hiểu vấn đề lỗi trình bày Chúng em mong nhận đóng góp, ý kiến quý thầy để báo cáo khóa luận đạt kết tốt Cuối chúng em kính chúc quý thầy cô dồi sức khỏe thành công nghiệp giảng dạy Một lần chúng em xin gửi đến thầy cơ, gia đình bạn bè lời cảm ơn chân thành tốt đẹp nhất! i MỤC LỤC DANH MỤC CÁC HÌNH ẢNH v DANH MỤC BẢNG BIỂU vii DANH MỤC CÁC TỪ VIẾT TẮT viii CHƯƠNG GIỚI THIỆU Mở đầu Mục tiêu Giới thiệu mạng xã hội sức khỏe: 1.3.1 Mạng xã hội gì? 1.3.2 Mạng xã hội sức khỏe 1.3.3 Các khảo sát mạng xã hội cho sức khỏe: Tổng quan sở liệu (CSDL) đồ thị 1.4.1 Đồ thị gì? 1.4.2 Sức mạnh CSDL đồ thị 1.4.3 Ứng dụng CSDL đồ thị CHƯƠNG CƠ SỞ DỮ LIỆU ĐỒ THỊ 11 Nhược điểm CSDL quan hệ toán xây dựng mạng xã hội: 11 CSDL đồ thị bao quát mối quan hệ toán mạng xã hội: 13 2.2.1 Mơ hình hóa liệu đồ thị 14 CSDL đồ thị Neo4j 17 2.3.1 Nút (Node) 18 2.3.2 Mối quan hệ 18 2.3.3 Thuộc tính 21 2.3.4 Nhãn 22 2.3.5 Đường kết nối 23 2.3.6 Duyệt đồ thị 23 2.3.7 Ngôn ngữ truy vấn đồ thị Cypher 24 2.3.8 Cài đặt Neo4j thực truy vấn: 26 2.3.9 Ruby on rails: 28 CHƯƠNG ỨNG DỤNG MẠNG XÃ HỘI SỨC KHỎE 30 Các chức mạng xã hội sức khỏe 30 ii 3.1.1 Quản lý người dùng 30 3.1.2 Quản lý liên lạc 30 3.1.3 Chia sẻ thông tin: 31 3.1.4 Admin: 32 Phân tích thiết kế: 33 3.2.1 Biểu đồ use case 33 3.2.2 Biểu đồ lớp 37 3.2.3 Biểu đồ hoạt động 38 3.2.4 Biểu đồ 40 3.2.5 Các chức bên client 40 3.2.6 Các chức bên server 41 Thiết kế sở liệu 42 CHƯƠNG CÀI ĐẶT 46 Xây dựng CSDL 46 Giao diện 46 4.2.1 Giao diện đăng ký tài khoản 46 4.2.2 Giao diện đăng nhập 48 4.2.3 Giao diện trang chủ trước đăng nhập 49 4.2.4 Giao diện trang chủ sau đăng nhập 50 4.2.5 Giao diện tạo viết với định dạng chữ 52 4.2.6 Giao diện tạo viết với định dạng hình ảnh 54 4.2.7 Giao diện chi tiết viết 55 4.2.8 Giao diện hiển thị viết theo chủ đề 57 4.2.9 Giao diện tạo nhóm 58 4.2.10 Giao diện thông tin nhóm 60 4.2.11 Giao diện quản lý nhóm 61 4.2.12 Giao diện chỉnh sửa thông tin cá nhân 63 4.2.13 Giao diện tìm kiếm 64 4.2.14 Giao diện admin quản lý người dùng 65 4.2.15 Giao diện admin quản lý viết 68 4.2.16 Giao diện admin quản lý nhóm 70 iii 4.2.17 Giao diện admin quản lý bình luận 72 4.2.18 Giao diện admin quản lý loại bệnh 73 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 76 Kết luận 76 Hướng phát triển ứng dụng: 77 TÀI LIỆU THAM KHẢO 78 iv DANH MỤC CÁC HÌNH ẢNH Hình 1-1 Ví dụ mạng xã hội Hình 2-1 CSDL quan hệ thiếu mối quan hệ 11 Hình 2-2 CSDL đồ thị bao quát mối quan hệ 13 Hình 2-3 Mơ hình đồ thị thuộc tính 16 Hình 2-4 Nút Neo4j 18 Hình 2-5 Mối quan hệ Neo4j 19 Hình 2-6 Chiều mối quan hệ 19 Hình 2-7 Mạng xã hội đơn giản 20 Hình 2-8 Mơ tả thuộc tính 21 Hình 2-9 Mơ tả nhãn 22 Hình 2-10 Mơ tả đường kết nối 23 Hình 2-11 Truy vấn đồ thị 24 Hình 2-12 Giao diện neo4j server 27 Hình 3-1 Use case tổng quát 33 Hình 3-2 Use case quản lý định danh 34 Hình 3-3 Use case quản lý liên lạc 35 Hình 3-4 Use case quản lý liên lạc 36 Hình 3-5 Use case quản lý tất 36 Hình 3-6 Biểu đồ lớp 37 Hình 3-7 Biểu đồ hoạt động chức quản lý định danh 38 Hình 3-8 Biểu đồ hoạt động chức quản lý liên lạc 38 Hình 3-9 Biểu đồ hoạt động chức chia sẻ thông tin 39 Hình 3-10 Biểu đồ hoạt động chức tìm kiếm 39 Hình 3-11 Biểu đồ 40 Hình 3-12 Thiết kế CSDL quan hệ Person 43 Hình 3-13 Thiết kế CSDL chia sẻ thông tin 44 Hình 3-14 Thiết kế CSDL quan hệ person-group 44 Hình 3-15 Thiết kế CSDL 45 Hình 4-1 Xây dựng CSDL 46 v Hình 4-2 Giao diện đăng ký tài khoản 46 Hình 4-3 Giao diện đăng nhập 48 Hình 4-4 Giao diện trang chủ trước đăng nhập 49 Hình 4-5 Giao diện trang chủ sau đăng nhập 50 Hình 4-6 Giao diện tạo viết với định dạng chữ 52 Hình 4-7 Giao diện tạo viết với định dạng hình ảnh 54 Hình 4-8 Giao diện chi tiết viết 55 Hình 4-9 Giao diện hiển thị viết theo chủ đề 57 Hình 4-10 Giao diện tạo nhóm 58 Hình 4-11 Giao diện thơng tin nhóm 60 Hình 4-12 Giao diện quản lý nhóm 61 Hình 4-13 Giao diện chỉnh sửa thông tin cá nhân 63 Hình 4-14 Giao diện tìm kiếm 64 Hình 4-15 Giao diện admin quản lý người dùng (1) 65 Hình 4-16 Giao diện admin quản lý người dùng (2) 66 Hình 4-17 Giao diện admin quản lý viết thành viên 67 Hình 4-18 Giao diện quản lý chung viết 68 Hình 4-19 Giao diện admin quản lý chi tiết viết 69 Hình 4-20 Giao diện admin quản lý chung nhóm 70 Hình 4-21 Giao diện admin quản lý chi tiết nhóm 71 Hình 4-22 Giao diện admin quản lý bình luận 72 Hình 4-23 Giao diện admin quản lý chung loại bệnh 73 Hình 4-24 Giao diện tạo loại bệnh 74 vi DANH MỤC BẢNG BIỂU Bảng 2-1 Biểu diễn mối quan hệ Person-Group 21 Bảng 4-1 Giải thích giao diện đăng ký tài khoản 47 Bảng 4-2 Giải thích giao diện đăng nhập 48 Bảng 4-3 Giải thích giao diện trang chủ trước đăng nhập 49 Bảng 4-4 Giải thích giao diện trang chủ sau đăng nhập 51 Bảng 4-5 Giải thích giao diện tạo viết với định dạng chữ 53 Bảng 4-6 Giải thích giao diện tạo viết với định dạng hình ảnh 54 Bảng 4-7 Giải thích giao diện chi tiết viết 56 Bảng 4-8 Giải thích giao diện hiển thị viết theo chủ đề 57 Bảng 4-9 Giải thích giao diện tạo nhóm 59 Bảng 4-10 Giải thích giao diện thơng tin nhóm 60 Bảng 4-11 Giải thích giao diện quản lý nhóm 62 Bảng 4-12 Giải thích giao diện chỉnh sửa thơng tin cá nhân 63 Bảng 4-13 Giải thích giao diện tìm kiếm 64 Bảng 4-14 Giải thích giao diện quản lý người dùng (1) 65 Bảng 4-15 Giải thích giao diện admin quản lý người dùng (2) 66 Bảng 4-16 Giải thích giao diện admin quản lý viết thành viên 67 Bảng 4-17 Giải thích giao diện quản lý chung viết 68 Bảng 4-18 Giải thích giao diện admin quản lý chi tiết viết 69 Bảng 4-19 Giải thích giao diện admin quản lý chung nhóm 70 Bảng 4-20 Giải thích giao diện admin quản lý chi tiết nhóm 71 Bảng 4-21 Giải thích giao diện admin quản lý bình luận 72 Bảng 4-22 Giải thích giao diện admin quản lý chung loại bệnh 73 Bảng 4-23 Giải thích giao diện tạo loại bệnh 74 vii DANH MỤC CÁC TỪ VIẾT TẮT API Application Programming Interface CSDL Cơ sở liệu HQT Hệ quản trị viii CHƯƠNG GIỚI THIỆU Mở đầu Nhu cầu kết nối, chia sẻ thông tin trực tuyến góp phần tạo nên phát triển mạnh mẽ Internet Đồng hành với phát triển đời mạng xã hội Trải qua hàng chục năm phát triển, từ email gửi nhà nghiên cứu Thụy Sĩ vào năm 1971 đến trang mạng xã hội lớn Facebook, Twitter, Google+… mạng xã hội dần trở thành mơi trường cộng đồng mà người có hội kết nối, chia sẻ thơng tin với cách dễ dàng Mạng xã hội ngày chứng tỏ sức hút vai trò mặt đời sống xã hội từ giải trí đến thương mại, giáo dục, y tế Trong đó, lĩnh vực y tế ngày nhiều người quan tâm đến Chính vậy, đề tài “Xây dựng mạng xã hội cho sức khỏe dựa sở liệu đồ thị” chọn làm đề tài cho khóa luận tốt nghiệp chúng em Mục tiêu Đề tài sâu vào tìm hiểu cách thức hoạt động trang mạng xã hội sở liệu đồ thị Từ liệt kê chức cần có trang mạng xã hội ứng dụng kiến thức sở liệu đồ thị để xây dựng trang mạng xã hội cho sức khỏe dựa sở liệu đồ thị Việt Nam Với mục tiêu cuối đáp ứng nhu cầu kết nối chia sẻ thông tin bệnh nhân, bác sĩ người bình thường, ứng dụng cung cấp đủ chức cần thiết tạo viết, bình luận viết, đánh giá viết nhóm người dùng có nhu cầu chia thơng tin lĩnh vực giống tạo nhóm tham gia nhóm Người dùng theo dõi (follow) người dùng khác để cập nhật thường xuyên viết họ 4.2.13 Giao diện tìm kiếm Hình 4-14 Giao diện tìm kiếm Giải thích giao diện Giao diện Giải thích Các tùy chọn kết cho thành viên Nếu thành viên muốn tìm kiếm nhóm người dùng chọn tùy chọn Communities and Users, muốn tìm viết chọn tùy chon Posts Bảng 4-13 Giải thích giao diện tìm kiếm 64 4.2.14 Giao diện admin quản lý người dùng 4.2.14.1 Giao diện quản lý chung tất người dùng Hình 4-15 Giao diện admin quản lý người dùng (1) Giải thích giao diện (1) Giao diện Giải thích Admin nhập vào để tìm kiếm thành viên Admin nhấp vào để quản lý viết thành viên Ở có hai tùy chọn cho Admin, Delete xóa tài khoản thành viên khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết thành viên Bảng 4-14 Giải thích giao diện quản lý người dùng (1) 65 4.2.14.2 Giao diện admin quản lý chi tiết người dùng Hình 4-16 Giao diện admin quản lý người dùng (2) Giải thích giao diện (2) Giao diện Giải thích Hiển thị nhóm mà thành viên làm chủ Hiển thị nhóm mà thành viên tham gia Hiển thị tất post thành viên Ở có hai tùy chọn cho Admin, Delete xóa nhóm khỏi CSDL, tùy chọn thứ hai chuyển đến trang thơng tin nhóm Bảng 4-15 Giải thích giao diện admin quản lý người dùng (2) 66 4.2.14.3 Giao diện admin quản lý viết thành viên Hình 4-17 Giao diện admin quản lý viết thành viên Giải thích giao diện Giao diện Giải thích Admin nhập vào để tìm kiếm viết Ở có hai tùy chọn cho Admin, Delete xóa viết thành viên khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết viết Bảng 4-16 Giải thích giao diện admin quản lý viết thành viên 67 4.2.15 Giao diện admin quản lý viết 4.2.15.1 Giao diện quản lý chung viết Hình 4-18 Giao diện quản lý chung viết Giải thích giao diện Giao diện Giải thích Admin nhập vào để tìm kiếm viết Ở có hai tùy chọn cho Admin, Delete xóa viết khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết viết Bảng 4-17 Giải thích giao diện quản lý chung viết 68 4.2.15.2 Giao diện admin quản lý chi tiết viết Hình 4-19 Giao diện admin quản lý chi tiết viết Giải thích giao diện Giao diện Giải thích Ở có hai tùy chọn cho Admin, Delete xóa viết khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết viết Hiển thị bình luận trả lời viết Bảng 4-18 Giải thích giao diện admin quản lý chi tiết viết 69 4.2.16 Giao diện admin quản lý nhóm 4.2.16.1 Giao diện quản lý chung nhóm Hình 4-20 Giao diện admin quản lý chung nhóm Giải thích giao diện Giao diện Giải thích Admin nhập vào để tìm kiếm nhóm Ở có hai tùy chọn cho Admin, Delete xóa nhóm khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết nhóm Bảng 4-19 Giải thích giao diện admin quản lý chung nhóm 70 4.2.16.2 Giao diện admin quản lý chi tiết nhóm Hình 4-21 Giao diện admin quản lý chi tiết nhóm Giải thích giao diện Giao diện Giải thích Ở có hai tùy chọn cho Admin, Delete xóa viết khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết viết Hiển thị thông tin thành viên nhóm Bảng 4-20 Giải thích giao diện admin quản lý chi tiết nhóm 71 4.2.17 Giao diện admin quản lý bình luận Hình 4-22 Giao diện admin quản lý bình luận Giải thích giao diện Giao diện Giải thích Admin nhập vào để tìm kiếm bình luận trả lời bình luận Ở có hai tùy chọn cho Admin, Delete xóa bình luận trả lời khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết bình luận trả lời Bảng 4-21 Giải thích giao diện admin quản lý bình luận 72 4.2.18 Giao diện admin quản lý loại bệnh 4.2.18.1 Giao diện admin quản lý chung loại bệnh Hình 4-23 Giao diện admin quản lý chung loại bệnh Giải thích giao diện Giao diện Giải thích Admin nhập vào để tìm kiếm loại bệnh Ở có hai tùy chọn cho Admin, Delete xóa loại bệnh khỏi CSDL, tùy chọn thứ hai xem thông tin chi tiết loại bệnh Admin tạo loại bệnh Bảng 4-22 Giải thích giao diện admin quản lý chung loại bệnh 73 Giao diện tạo loại bệnh Hình 4-24 Giao diện tạo loại bệnh Giải thích giao diện Giao diện Giải thích Admin nhập vào tên loại bệnh Admin nhập vào mô tả loại bệnh Admin chọn màu cho loại bệnh Sau điền đủ thông tin, admin nhấp Create để tạo loại bệnh mới, khơng muốn tạo rời cách nhấp vào Cancel Bảng 4-23 Giải thích giao diện tạo loại bệnh 74 Tổng quan lại trang mạng xã hội thực chức trang mạng xã hội Bên cạnh nhóm chúng em xây dựng thêm tính tạo chế độ cho nhóm để thành viên chia sẻ thông tin lĩnh vực mà quan tâm Nhóm có chế độ để phân biệt mức độ chia sẻ thơng tin Điển chế độ Public cho phép tất người xem thơng tin nhóm, tạo viết, đánh giá viết bình luận vào viết đó; chế độ Restricted người xem thơng tin nhóm, thành viên cho phép người tạo nhóm có quyền tạo viết bình luận; cuối nhóm chế độ Private, chế độ không cho phép thành viên xem thơng tin nhóm, người kiểm duyệt vào nhóm có quyền xem thơng tin, tạo viết bình luận vào viết khác Ngồi cịn có tính hiển thị viết theo tùy chọn (new), tốt (best), nhiều đánh giá tốt (most voted), nhiều bình luận (most commented) Ngồi việc hiển thị viết theo loại bệnh, trang mạng chúng em cịn có tính hiển thị nhóm có nhiều viết theo loại bệnh để thành viên tiện theo dõi tham gia nhóm để nhận viết thường xuyên Các thành viên đánh giá trả lời bình luận nhau, trả lời trả lời bình luận 75 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Sau trình nghiên cứu thực hiện, nhóm chúng em thực chức trang mạng xã hội như: Đăng ký/đăng nhập Tạo, chỉnh sửa xóa viết Bình luận viết Xóa, sửa bình luận Trả lời bình luận Xóa sửa trả lời bình luận Đánh giá viết, bình luận, trả lời bình luận Tạo nhóm Tham gia nhóm Duyệt thành viên tham gia nhóm Duyệt viết nhóm Xem thơng tin nhóm (bài viết, giới thiệu, số lượng thành viên) Theo dõi/bỏ theo dõi thành viên khác Xem thơng tin cá nhân thành viên khác (bài viết, bình luận gần đây, lượt theo dõi) Tùy chọn hiển thị viết theo chủ đề (new, best ) Tìm kiếm thành viên, nhóm, viết Thành viên chỉnh sửa thông tin cá nhân (email, password) Admin quản lý người dùng, viết, nhóm, bình luận phân loại chủ đề Bên cạnh chức thực được, cịn có kết mà nhóm chưa đạt như: Giao diện cịn đơn giản, chưa có giao diện dành cho di động Chưa thực tạo viết với định dạng video Chưa thực chức nhắn tin thành viên dự định 76 Chưa thực tính chuyển đổi nhiều ngôn ngữ Chưa thực chèn liên kết vào viết, bình luận Tìm kiếm cịn đơn giản Chưa có tính gửi thơng báo cho thành viên có người bình luận đánh giá viết, thơng báo nhóm có viết mới, thơng báo có thành viên muốn tham gia nhóm kín Hướng phát triển ứng dụng: Do có nhiều tính chưa thực nên dự định tương lại nhóm em phát triển thêm tính cho chương trình như: Bổ sung hiển thị giao diện di động Thêm tính nhắn tin thành viên Thêm tính chuyển đổi nhiều ngơn ngữ Thêm tính tạo viết với định dạng video Thêm tính chèn liên kết vào viết, bình luận Nâng cấp tìm kiếm Thêm tính gửi thơng báo cho thành viên có người bình luận đánh giá viết, thơng báo nhóm có viết mới, thơng báo có thành viên muốn tham gia nhóm kín Thêm tính đăng nhập Google, Facebook, Twitter 77 TÀI LIỆU THAM KHẢO [1] Wikipedia, "Dịch vụ mãng xã hội," 2019 [Online] Available: https://vi.wikipedia.org/wiki/Dịch_vụ_mạng_xã_hội [2] zxthanhhuy, "Graph Database- Tổng quan đồ thị," 20 12 2017 [Online] Available: https://zxthanhhuy.wordpress.com/2017/12/20/graph-db-5-csdl-dothi-neo4j/ [3] P T Dao, "Giới thiệu Ruby," 28 03 2017 [Online] Available: https://viblo.asia/p/ruby-la-gi-gioi-thieu-ve-ruby-oOVlYEV4l8W [4] H T T Nga, "Giới thiệu ngôn ngữ Ruby," Techblog, 2017 [Online] Available: https://techblog.vn/gioi-thieu-ve-ngon-ngu-ruby [5] "Getting start with Neo4j and Ruby," Neo4j®, Neo Technology® and Cypher®, 2019 [Online] Available: https://neo4j.com/developer/ruby-course/ [6] "Neo4j.rb," [Online] Available: http://neo4jrb.io/ [7] "Using Neo4j from Ruby," Neo4j®, Neo Technology® and Cypher®, 2019 [Online] Available: https://neo4j.com/developer/ruby/ [8] B U R Chris Grigg, "Welcome to Neo4j.rb’s documentation!," 2015 [Online] Available: https://neo4jrb.readthedocs.io/en/stable/ [9] D H Hansson, "Rails https://guides.rubyonrails.org/ Guides," [Online] Available: [10] V Hưng, "Slim template for Rail," 28 2015 [Online] Available: https://viblo.asia/p/slim-template-for-rail-KAyQMpOYR0Ek [11] J & E E I Robinson, "Graph Database," in New opprtunities for connected data, United States of America, 2015, 2015, p O'Reily Media 78