➢ Thực hiện khảo sát những ứng dụng đã hiện có ➢ Thực hiện triển khai sản phẩm dạng công khai ➢ Thực hiện liên kết với các trang mạng xã hội khác ➢ Xây dựng các chức năng sau cho hệ thốn
TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong bối cảnh Cách mạng Công nghiệp 4.0 đang biến đổi toàn diện cả xã hội, tri thức và công nghệ trở thành những yếu tố chủ chốt quyết định sự tiến bộ của mỗi quốc gia Thế hệ trẻ, những người sẽ định hình tương lai, cần tiếp cận, tiếp thu, và ứng dụng tri thức một cách hiệu quả Tuy nhiên, họ đang đối mặt với nhiều thách thức như giảm sút về số lượng sách đọc, thời gian học tập và sự xuất hiện của các trang web độc hại, tiêu cực
Hệ thống giáo dục đang phải thích nghi với áp lực lớn từ cuộc cách mạng công nghiệp, với công nghệ trở thành phần không thể thiếu để chuẩn bị cho tương lai đầy thách thức Việc xây dựng một nền tảng mạng xã hội chia sẻ kiến thức trở nên vô cùng quan trọng và cần thiết Nền tảng này không chỉ là một không gian chia sẻ tri thức mà còn là công cụ giáo dục mạnh mẽ, tạo môi trường giúp giới trẻ tìm kiếm, trao đổi, và sáng tạo tri thức một cách tự do
Nền tảng mạng xã hội chia sẻ còn là cầu nối giữa cá nhân và cộng đồng, tạo nên hiệu ứng lan tỏa mạnh mẽ, giúp đưa thông điệp về tầm quan trọng của học vấn và nghiên cứu đến cộng đồng lớn hơn Việc tham gia nền tảng này không chỉ là học hỏi mà còn là cơ hội phát triển tinh thần tự giác và trách nhiệm, góp phần vào sự phát triển toàn diện của thế hệ trẻ và hình ảnh phồn thịnh của quốc gia Chính vì lẽ đó, việc xây dựng nền tảng này là vô cùng cấp bách và cần thiết để kết nối, lan tỏa tinh thần học tập và đam mê nghiên cứu cho thế hệ trẻ - những người nắm giữ tương lai đất nước.
MỤC TIÊU ĐỀ TÀI
Đề tài “Xây dựng nền tảng mạng xã hội chia sẻ kiến thức” có mục tiêu cần đạt được là:
- Xây dựng với giao diện trực quan với người dùng cùng với đó là những chức năng hỗ trợ người dùng một cách cụ thể nhất
- Xây dựng ứng dụng gần gũi thực tiễn với nhu cầu sử dụng của người dùng như xem tin tức, quản lý thông tin,…
- Cung cấp giải pháp tối ưu cho nhà quản trị hệ thống để đảm bảo tính xác thực và độ tin cậy hệ thống
- Đảm bảo tính xác thực và đáng tin cậy của nội dung: Một hệ thống kiểm duyệt và xác minh nội dung để đảm bảo tính chính xác và đáng tin cậy của thông tin được chia sẻ trên nền tảng
- Khả năng mở rộng và tích hợp: Xây dựng nền tảng sao cho có khả năng mở rộng và có thể tích hợp dễ dàng với các công nghệ và dịch vụ khác, nhằm mở rộng khả năng phục vụ và tạo điều kiện cho sự phát triển bền vững
- Triển khai hiệu quả và linh hoạt: Thực hiện triển khai website trên một nền tảng đám mây mạnh mẽ, đảm bảo khả năng phục hồi và mở rộng tài nguyên nhanh chóng theo nhu cầu sử dụng
- Áp dụng được kiến thức về các công nghệ phát triển website vào trong đồ án.
PHƯƠNG PHÁP THỰC HIỆN
- Nghiên cứu trên cơ sở tài liệu hiện có và tổng hợp trên mạng những kiến thức lý thuyết về các công nghệ phần mềm và cách thức xây dựng của trang web
- Phương pháp nghiên cứu thực nghiệm:
Tìm hiểu quy trình xây dựng và quản lý website thực tiễn Lên ý tưởng thiết kế website
Tiến hành xây dựng ứng dụng
Nghiên cứu về người dùng: Phần nghiên cứu người dùng đã được thực hiện để đánh giá sở thích, nhu cầu và mục đích sử dụng của khách truy cập đối với trang web đọc kiến thức Qua quá trình này, chúng em đã thu thập được thông tin về các yêu cầu và mong muốn của mọi người, từ đó thiết kế giao diện trang web và nội dung phù hợp với nhu cầu của người dùng một cách tốt nhất
Nghiên cứu về tính năng: Trong phần này, chúng em đã nghiên cứu các trang web mạng xã hội khác và tìm hiểu những tính năng phổ biến mà họ đang sử dụng Dựa trên đó, chúng em đã đưa ra quyết định về những tính năng cần bổ sung hoặc loại bỏ trên trang web của chúng em
Nghiên cứu về công nghệ: Trong phần này, chúng em đã nghiên cứu kỹ về các công nghệ MERN STACK để áp dụng vào trang web của chúng em Chúng em đã tìm kiếm các tài liệu, hướng dẫn và các trang web tham khảo để học hỏi thêm về các công nghệ này.Cùng với đó sẽ tìm hiểu quy trình xây dựng và quản lý Website thực tiễn Bên cạnh đó còn nghiên cứu sử dụng các mẫu thiết kế phần mềm hợp lý cho đề tài
Nghiên cứu về thiết kế đáp ứng: Vì số lượng người dùng truy cập trang web từ các thiết bị di động đang tăng, việc thiết kế trang web của bạn để đáp ứng với các thiết bị di động là rất quan trọng Bạn có thể nghiên cứu về các kỹ thuật thiết kế đáp ứng và kiểm tra trang web của mình trên nhiều thiết bị
Phương pháp nghiên cứu thực nghiệm:
Tìm hiểu quy trình xây dựng và quản lý website thực tiễn
Phân tích yêu cầu ứng dụng
Lên ý tưởng thiết kế website
Lựa chọn công cụ thiết kế phần mềm
Tiến hành xây dựng ứng dụng
CƠ SỞ LÝ THUYẾT
ReactJS
ReactJS là một thư viện JavaScript mã nguồn mở, được phát triển bởi Facebook vào năm 2013, cho phép xây dựng giao diện người dùng (UI) linh hoạt và hiệu quả ReactJS chủ yếu tập trung vào phát triển các thành phần UI có thể tái sử dụng, giúp việc phát triển ứng dụng web trở nên dễ dàng và hiệu quả hơn
ReactJS được sử dụng rộng rãi trong phát triển các ứng dụng web, từ các trang web tĩnh đơn giản đến các ứng dụng web phức tạp như bảng điều khiển, mạng xã hội, và các công cụ quản lý dự án Một số ứng dụng nổi tiếng sử dụng ReactJS bao gồm Facebook, Instagram, WhatsApp, và Netflix
Hiệu Suất Cao: ReactJS sử dụng Virtual DOM (DOM ảo) để tối ưu hóa việc cập nhật UI Thay vì cập nhật toàn bộ trang web mỗi khi có sự thay đổi, React chỉ cập nhật các thành phần thay đổi, giúp cải thiện hiệu suất đáng kể
Tính Mô-đun: ReactJS khuyến khích việc phát triển ứng dụng theo cách mô-đun, với các thành phần (component) nhỏ và tái sử dụng Điều này giúp quản lý mã nguồn trở nên dễ dàng và tăng khả năng bảo trì
JSX: ReactJS sử dụng JSX (JavaScript XML), một cú pháp mở rộng cho JavaScript cho phép viết HTML trực tiếp trong mã JavaScript JSX giúp lập trình
5 viên dễ dàng thiết kế UI bằng cách kết hợp mã JavaScript và HTML
Cộng Đồng Lớn: Với sự phát triển mạnh mẽ và cộng đồng đông đảo, ReactJS có rất nhiều thư viện và công cụ hỗ trợ, giúp lập trình viên dễ dàng tích hợp và mở rộng chức năng của ứng dụng
NodeJS
Node.js là một nền tảng JavaScript mã nguồn mở, đa nền tảng, được xây dựng trên công cụ V8 JavaScript Engine của Google Chrome Node.js được phát triển bởi Ryan Dahl vào năm 2009, với mục tiêu chính là giúp lập trình viên xây dựng các ứng dụng mạng hiệu suất cao và mở rộng dễ dàng bằng JavaScript phía máy chủ
Node.js cũng nổi tiếng với mô hình không đồng bộ (asynchronous) trong xử lý I/O, giúp ứng dụng xử lý đồng thời hàng nghìn kết nối mà không gây ra tình trạng chờ đợi (blocking) Điều này giúp tăng cường hiệu suất và đáp ứng của ứng dụng
Node.js có một số đặc điểm nổi bật mà làm cho nó trở thành một công nghệ phổ biến và mạnh mẽ trong việc phát triển ứng dụng mạng Dưới đây là một số trong những đặc điểm quan trọng của Node.js:
Mô hình không đồng bộ (Asynchronous Model): Node.js sử dụng mô hình không đồng bộ trong xử lý I/O, điều này cho phép ứng dụng xử lý nhiều yêu cầu mà không cần chờ đợi các thao tác I/O hoàn thành, tăng cường hiệu suất và độ phản hồi của ứng dụng
JavaScript trên cả máy chủ và trình duyệt: Với Node.js, lập trình viên có thể sử dụng cùng một ngôn ngữ lập trình (JavaScript) cho cả phía máy chủ và phía khách
6 hàng của ứng dụng, giúp tạo điều kiện thuận lợi cho việc chia sẻ mã nguồn và kiến thức giữa các nhóm phát triển
Mô-đun npm (Node Package Manager): Node.js đi kèm với npm - một cơ sở dữ liệu thư viện mã nguồn mở lớn nhất thế giới Npm cung cấp hàng ngàn thư viện và công cụ hữu ích để phát triển ứng dụng, giúp tăng cường năng suất và tiết kiệm thời gian cho các nhà phát triển
Linh hoạt và mở rộng: Node.js cho phép xây dựng các ứng dụng mạng mở rộng được một cách dễ dàng nhờ vào khả năng xử lý hàng nghìn kết nối đồng thời mà không cần tạo ra các luồng mới cho mỗi kết nối
Cộng đồng mạnh mẽ: Node.js có một cộng đồng lập trình viên rộng lớn và nhiệt tình, cung cấp sự hỗ trợ, tài liệu và các tài nguyên học tập trực tuyến, giúp làm cho việc học và sử dụng Node.js trở nên dễ dàng và nhanh chóng.MongoDB
MongoDB
MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL (Not Only SQL), được phát triển bởi MongoDB Inc với mục đích lưu trữ và truy vấn dữ liệu một cách linh hoạt và hiệu quả So với các hệ quản trị cơ sở dữ liệu quan hệ, MongoDB sử dụng một cấu trúc dữ liệu dựa trên tài liệu JSON-like, giúp cho việc lưu trữ và truy vấn dữ liệu trở nên đơn giản và linh hoạt hơn
MongoDB là một giải pháp lưu trữ dữ liệu phổ biến trong các ứng dụng web, di động và IoT, nơi yêu cầu lưu trữ dữ liệu linh hoạt và mở rộng để đáp ứng nhu cầu phát triển và mở rộng của ứng dụng
Cấu trúc dữ liệu linh hoạt: MongoDB sử dụng một cơ sở dữ liệu dạng tài liệu (document database), cho phép lưu trữ dữ liệu dưới dạng các tài liệu JSON có cấu trúc linh hoạt Điều này giúp dễ dàng thay đổi cấu trúc dữ liệu mà không cần phải thay đổi schema hoặc thực hiện các bước phức tạp như trong hệ quản trị cơ sở dữ liệu quan hệ
Tính linh hoạt và mở rộng: MongoDB hỗ trợ tính linh hoạt và mở rộng cao, cho phép bạn mở rộng cụm máy chủ một cách dễ dàng để xử lý lưu lượng dữ liệu lớn và tăng cường khả năng chịu tải của hệ thống
Hỗ trợ cho truy vấn phức tạp: MongoDB cung cấp một ngôn ngữ truy vấn mạnh mẽ và linh hoạt, cho phép bạn thực hiện các truy vấn phức tạp như truy vấn dựa trên điều kiện, truy vấn dựa trên vị trí (geospatial queries), và các truy vấn theo nhiều tiêu chí khác nhau
Khả năng tự động sao chép và sao lưu: MongoDB hỗ trợ tính năng tự động sao chép và sao lưu dữ liệu, giúp bảo vệ dữ liệu của bạn khỏi mất mát và giúp phục hồi dữ liệu nhanh chóng trong trường hợp xảy ra sự cố
Hệ sinh thái phong phú: MongoDB có một hệ sinh thái phong phú với nhiều công cụ và thư viện hỗ trợ cho các ngôn ngữ lập trình phổ biến như JavaScript, Python, Java, và Node.js Điều này giúp cho việc phát triển ứng dụng dựa trên MongoDB trở nên dễ dàng và nhanh chóng
Cộng đồng và tài liệu phong phú: MongoDB có một cộng đồng lớn và nhiệt tình, cung cấp sự hỗ trợ và giúp đỡ cho các nhà phát triển thông qua các diễn đàn, tài liệu và các tài nguyên học tập trực tuyến Điều này làm cho việc học và sử dụng MongoDB trở nên dễ dàng hơn đối với người mới bắt đầu và các nhà phát triển kinh nghiệm
Express.js
1.4.1 Giới thiệu về Express.js
Express.js, thường được gọi là Express, là một framework nhẹ và linh hoạt cho Node.js, giúp xây dựng các ứng dụng web và API nhanh chóng và dễ dàng Ra đời vào năm 2010 bởi TJ Holowaychuk, Express.js cung cấp một lớp trừu tượng trên các chức năng HTTP của Node.js, giúp xử lý các yêu cầu và phản hồi của máy chủ một cách dễ dàng hơn
Đơn Giản và Nhẹ: Express.js được thiết kế để dễ học và sử dụng, với một cấu trúc đơn giản và trực quan Nó cung cấp các phương pháp ngắn gọn và hiệu quả cho việc xử lý các yêu cầu HTTP
Tính Linh Hoạt Cao: Dễ dàng tích hợp với các middleware để mở rộng chức năng Express.js không ràng buộc lập trình viên vào một cấu trúc cụ thể, cho phép tự do xây dựng ứng dụng theo cách mà họ muốn
Hỗ Trợ Middleware: Hỗ trợ một hệ sinh thái middleware phong phú, cho phép thêm các chức năng như xử lý tệp tin, xác thực, bảo mật, v.v mà không cần viết lại mã từ đầu
KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ
Phân tích hiện trạng
Tầm ảnh hưởng toàn cầu: Mạng xã hội hiện nay đã trở thành một phần không thể thiếu trong đời sống của hàng tỷ người trên toàn thế giới Các nền tảng như Facebook, Instagram, Twitter, TikTok và LinkedIn đã có hàng triệu đến hàng tỷ người dùng
Sự đa dạng của các nền tảng: Mỗi mạng xã hội có một mục đích sử dụng và đối tượng người dùng khác nhau Ví dụ, Facebook chủ yếu để kết nối cá nhân và cộng đồng, Instagram tập trung vào chia sẻ hình ảnh và video, trong khi LinkedIn hướng đến môi trường chuyên nghiệp và kết nối công việc
Giao tiếp và kết nối: Mạng xã hội đã cách mạng hóa cách chúng ta giao tiếp, cho phép kết nối với bạn bè, gia đình và cộng đồng dù ở bất kỳ đâu trên thế giới
Ảnh hưởng đến ý kiến công chúng: Mạng xã hội có sức mạnh lớn trong việc hình thành và thay đổi ý kiến công chúng Tin tức và thông tin lan truyền nhanh chóng qua các nền tảng này, đôi khi dẫn đến những cuộc tranh luận hoặc phong trào xã hội lớn
Quyền riêng tư và bảo mật dữ liệu: Các vụ bê bối liên quan đến việc thu thập và sử dụng dữ liệu cá nhân đã đặt ra nhiều câu hỏi về quyền riêng tư và bảo mật trên mạng xã hội
Thông tin sai lệch và tin giả: Sự lan truyền của thông tin sai lệch và tin giả là một vấn đề nghiêm trọng, ảnh hưởng đến nhận thức và hành vi của người dùng
Tác động đến sức khỏe tâm lý: Việc sử dụng mạng xã hội quá mức có thể dẫn đến các vấn đề sức khỏe tâm lý như lo âu, trầm cảm và cảm giác cô đơn, đặc biệt là ở người trẻ
Nội dung độc hại và bắt nạt trên mạng: Sự xuất hiện của nội dung độc hại, bạo lực và hành vi bắt nạt trên mạng gây ảnh hưởng tiêu cực đến người dùng, đặc biệt là trẻ em và thanh thiếu niên
Ứng dụng trí tuệ nhân tạo (AI): Các mạng xã hội đang tích cực áp dụng AI để cải thiện trải nghiệm người dùng, từ việc gợi ý nội dung, quản lý quảng cáo đến phát hiện và ngăn chặn nội dung vi phạm
Tăng cường bảo mật và quyền riêng tư: Đáp ứng các yêu cầu từ người dùng và cơ quan quản lý, các mạng xã hội đang tăng cường các biện pháp bảo vệ dữ liệu và
Mạng xã hội đã trở thành một phần quan trọng trong cuộc sống hàng ngày của nhiều người, mang lại nhiều lợi ích nhưng cũng đặt ra không ít thách thức Việc hiểu rõ tình hình hiện tại và xu hướng phát triển của mạng xã hội là cần thiết để có thể tận dụng tối đa các lợi ích và đối phó hiệu quả với các vấn đề phát sinh.
Khảo sát website Spiderum
• Trang báo điện tử https://spiderum.com/
Hình 2.1 Màn hình Trang chủ Website Spiderum Ưu điểm:
- Hỗ trợ tiếp cận nội dung với nhiều hình thức như Postcard, Video Yotube, Spotify Bên cạnh đó còn tích hợp chức năng mua bán
Hình 2 2 Thanh Navbar Website Spiderum
- Danh sách các tin cùng chuyên mục được thiết kế bắt mắt, có tích hợp các nội dung cần thiết và đầy đủ
Hình 2.3 Màn hình Danh sách bài viết Website Spiderum
- Cho phép người dùng đăng nhập bằng tài khoản Facebook:
Hình 2.4 Màn hình Đăng nhập Website Spiderum
- Ít quảng cáo không liên quan đến bài viết
- Cho phép người dùng quản lý thông tin cá nhân
Hình 2.5 Màn hình Trang cá nhân Website Spiderum
- Hỗ trợ hướng dẫn người dùng viết bài
- Hỗ trợ liên hệ người dùng
Hình 2.6 Màn hình Hỗ trợ người dùng Spiderum
- Cho phép người dùng trò chuyện với nhau
Hình 2.7 Màn hình Trò chuyện Website Spiderum
- Chưa phân danh mục cụ thể
- Chưa phân hệ cho người dùng
- Chưa đăng nhập tiện lợi bằng nhiều mạng xã hội
- Chưa tích hợp các hệ thống AI mới và chia sẻ sang các mạng xã hội khác
- Mục trò chuyện còn đơn giản chưa thể tương tác bằng hình ảnh hoặc nhãn dán
Phân tích yêu cầu của dự án
Xây dựng website Mạng xã hội cho phép người dùng thực hiện kết nối với nhau… ã Cỏc chức năng chớnh của chương trỡnh bao gồm:
- Đăng nhập/Đăng ký/Quên mật khẩu:
+ Đăng nhập: Người dùng nhập thông tin email/username và mật khẩu để truy cập vào hệ thống
+ Đăng ký: Người dùng tạo tài khoản mới bằng cách cung cấp thông tin
13 cá nhân như email, username, mật khẩu, v.v
+ Quên mật khẩu: Người dùng yêu cầu đặt lại mật khẩu bằng cách cung cấp email đăng ký để nhận liên kết đặt lại mật khẩu
+ Tạo bài viết/ bản thảo: Người dùng sáng tạo nội dung để tạo ra bài viết hoặc bản thảo
+ Xem danh sách bài viết: Hiển thị danh sách các bài viết theo tiêu chí (mới nhất, được yêu thích nhất, theo dõi, v.v.)
+ Xem chi tiết bài viết: Hiển thị nội dung chi tiết của một bài viết cụ thể + Lưu bài viết: Cho phép người dùng lưu lại bài viết yêu thích
+ Báo cáo bài viết/Tag/User/Comment: Cho phép người dùng báo cáo nội dung vi phạm chính sách
+ Thích/Bỏ thích bài viết: Người dùng có thể bày tỏ sự yêu thích đối với bài viết
+ Chia sẻ bài viết: Người dùng có thể chia sẻ bài viết qua Facebook hoặc các nền tảng khác
+ Xem/Tra cứu danh sách chat: Hiển thị danh sách các đoạn chat của người dùng
+ Tạo chat/Xóa đoạn chat/Xem chi tiết đoạn chat: Quản lý các đoạn chat cá nhân hoặc nhóm
+ Gửi tin nhắn: Người dùng gửi tin nhắn trong đoạn chat
+ Phê duyệt tin nhắn chờ: Kiểm duyệt tin nhắn chờ (nếu có chức năng kiểm duyệt)
+ Tạo nhóm/Xóa nhóm/Xem danh sách nhóm/Xem chi tiết nhóm: Quản lý các nhóm mà người dùng tham gia hoặc quản lý
+ Gửi yêu cầu tham gia nhóm/Phê duyệt yêu cầu tham gia nhóm: Quản lý việc tham gia nhóm của người dùng khác
+ Chỉnh sửa thông tin nhóm: Chỉnh sửa tên, mô tả, và các thông tin khác của nhóm
+ Xem danh sách yêu cầu tham gia/Xem danh sách yêu cầu bài viết: Quản
14 lý các yêu cầu tham gia và bài viết trong nhóm
- Chỉnh sửa thông tin cá nhân:
+ Chỉnh sửa thông tin/Cập nhật ảnh đại diện: Cập nhật thông tin cá nhân và ảnh đại diện của người dùng
+ Xem trang cá nhân của bản thân/người khác: Hiển thị thông tin cá nhân của bản thân hoặc người khác
+ Theo dõi/Bỏ theo dõi người dùng: Người dùng có thể theo dõi hoặc bỏ theo dõi người dùng khác
+ Xem thông báo: Hiển thị thông báo về các hoạt động liên quan đến người dùng
+ Tra cứu các bài viết: người dùng có thể thực hiện tìm kiếm các bài viết + Tra cứu người dùng khác: người dùng có thể thực hiện tìm kiếm người dùng khác
+ Tra cứu nhóm: người dùng có thể thực hiện tìm kiếm người dùng khác
+ Xem danh sách báo cáo/Xem chi tiết báo cáo: Quản lý các báo cáo từ người dùng
+ Phê duyệt/Xóa báo cáo: Xử lý các báo cáo vi phạm
+ Khóa tài khoản người gửi báo cáo: Khóa tài khoản của người dùng nếu cần thiết
- Quản lý cài đặt: Cấu hình các cài đặt hệ thống
- Quản lý bài viết/Người dùng/Nhóm/Tag: Quản lý toàn bộ nội dung và người dùng trên hệ thống
- Xem thống kê: Hiển thị các báo cáo thống kê về hoạt động trên mạng xã hội.
Danh sách yêu cầu chức năng hệ thống
STT Nội dung Mô tả chi tiết Ghi chú
1 Phân quyền sử dụng - Quản trị viên:
+ Quản lý bài viết + Quản lý nhóm + Quản lý các Tags + Quản lý cài đặt
+ Xử lý báo cáo + Xóa báo cáo + Khóa tài khoản người gửi
+ Tạo bài viết hoặc bản thảo, tương tác với bài viết và người dùng khác
+ Tạo nhóm hoặc tham gia các nhóm khác + Thực hiện nhắn tin trao đổi thông tin với người dùng khác
2 Cảnh báo, nhắc nhở người dùng
- Các bài viết, nhóm, tag, bình luận vi phạm vi quy tắc bị quản trị
16 viên hoặc biên tập viên xóa sẽ gửi thông báo qua email người dùng
3 Lập lịch kiểm duyệt tự động
- Lập lịch vào 23 giờ 59 phút 59 giây hằng ngày sẽ tự động kiểm duyệt các bài viết trên hệ thống theo những cài đặt của quản trị viên
Khi kiểm duyệt nếu như bài viết vi phạm quy tắc cộng đồng sẽ cảnh báo và nhắc nhở người dùng
4 Nhắn tin với nhau trong thời gian thực
Tin nhắn được gửi qua lại với thời gian thực
Danh sách yêu cầu phi chức năng
STT Nội dung Mô tả chi tiết Tiêu chuẩn
1 Tốc độ tìm kiếm nhanh, chính xác
Xử lý các chức năng tra cứu nhanh chóng đem lại kết quả
2 Dễ dàng quản lý, thống kê toàn bộ hệ thống mạng xã hội
Quản trị viên có thể thống kê, quản lý từng mảng dữ liệu của hệ thống
3 Giao diện thiết kế thân thiện, dễ thao tác
Người dùng mọi lứa tuổi đều có thể sử dụng
4 Hệ thống lưu trữ dữ liệu rộng lớn, hiệu suất cao
Có thể lưu trữ lượng lớn dữ liệu và hình ảnh, có tốc độ phản hồi cao
5 Bảo mật người dùng Có hệ thống xác thực mạnh mẽ, giúp bảo vệ thông tin người dùng tối đa
6 Khả năng tương thích với nhiều trình duyệt khác
Giao diện được thiết kế có khả năng tương thích với nhiều loại trình duyệt khác
7 Khả năng phản hồi trong thời gian thực
Hệ thống cho phép người dùng được trao đổi trực tiếp bằng thời gian thực
MÔ HÌNH HÓA YÊU CẦU
Lược đồ Usecase
Hình 3.2 Lược đồ Usecase Báo cáo
Hình 3.3 Lược đồ Usecase nhắn tin
Hình 3.4 Lược đồ Usecase Quản lý bài viết
Hình 3.5 Lược đồ Usecase quản lý báo cáo
Hình 3.6 Lược đồ Usecase tương tác nhóm
Hình 3.7 Lược đồ Usecase quản lý tài khoản
Đặc tả Usecase
Bảng 3.1 Bảng đặc tả usecase đăng nhập
ID and Name: HQ1- Đăng nhập
Primary actor: Người dùng, Người quản trị hệ thống, Editor
Description: Người dùng đăng nhập vào hệ thống với những vai trò riêng biệt để thực hiện chức năng
Trigger: Người dùng đăng nhập vào ứng dụng
Preconditions: Người dùng cần đăng ký tài khoản
Post-condition: Người dùng đăng nhập ứng dụng thành công
Main Flow: 1 - Nhập thông tin đăng nhập: Tên đăng nhập và mật khẩu
3 - Hệ thống xác thực thông tin đăng nhập thành công ( E1 ) / ( E2 ) / (E3)
4 - Hiển thị trang chủ Alternate Flow:
Exception Flow: E1 Hệ thống xác thực tài khoản hoặc mật khẩu sai
3e1.1 Hệ thống xác thực thông tin đăng nhập không thành công 3e1.2 Quay về bước 1 trong Main Flow và thông báo
E2 Người dùng đăng nhập với tài khoản bị khóa 3e2.1 Hệ thống xác thực thông tin không thành công 3e2.2 Quay về bước 1 trong Main Flow và thông báo E3 Người dùng đăng nhập với tài khoản chưa được xác thực 3e3.1 Hệ thống xác thực thông tin không thành công
3e3.2 Thực hiện xác thực OTP
Bảng 3.2 Bảng đặc tả usecase đăng ký tài khoản
ID and Name: HQ2- Đăng ký
Description: Là một người dùng tôi muốn đăng ký tài khoản để đăng nhập vào hệ thống Trigger: Người dùng đăng ký tài khoản ứng dụng
Post-condition: Người dùng đăng ký tài khoản thành công
Main Flow: 1 – Chọn “Sign up”
2 – Hệ thống hiển thị màn hình đăng ký
3 – Người dùng nhập các thông tin để đăng ký
5 – Hệ thống xác thực thông tin đăng ký (E1) / ( E2)
6 – Người dùng kiểm tra email và nhập OTP để xác thực / HQ4
7 – Quay về trang đăng nhập
Exception Flow: E1 Tài khoản đăng nhập đã tồn tại trên hệ thống
5e1.1 Chọn một trên đăng nhập mới và nhập lại 5e1.2 Quay về bước 3 trong Main Flow
E2 Email đã tồn tại trên hệ thống 5e1.1 Chọn một gmail mới và nhập lại 5e1.2 Quay về bước 5 trong Main Flow
Bảng 3.3 Bảng đặc tả xác thực tài khoản
ID and Name: HQ4- Xác thực tài khoản
Description: Là một người dùng tôi muốn xác thực tài khoản để có thể đăng nhập vào hệ thống Trigger: Người dùng đăng ký tài khoản ứng dụng
Post-condition: Người dùng đăng ký tài khoản thành công
Main Flow: 1 – Người dùng kiểm tra mã OTP trong mail đã đăng ký
4 – Quay về trang đăng nhập và tài khoản đã có thể đăng nhập Alternate Flow:
Exception Flow: E1 Người dùng nhập sai mã OTP
3e1.1 Quay lại bước 2 Main flow E1 Hết hạn xác thực mã OTP 3e2.1 Hiển thị thông báo người dùng
Bảng 3.4 Bảng đặc tả usecase quên mật khẩu
ID and Name: HQ4- Quên mật khẩu
Description: Là một người dùng em muốn lấy lại tài khoản khi quên mật khẩu để có thể đăng nhập vào hệ thống Trigger: Người dùng quên mật khẩu
Pre-condition: Người dùng đăng ký tài khoản thành công
Post-condition: Người dùng lấy lại tài khoản thành công
Main Flow: 1 – Người dùng chọn “Forgot password”
2 - Hệ thống hiển thị trang quên mật khẩu
2 – Nhập email với tài khoản đã đăng ký
4 – Người dùng kiểm tra email và thực hiện HQ4
5 - Người dùng nhập mật khẩu mới và xác nhận mật khẩu mới
6 - Người dùng chọn “Reset Password”
7 – Hệ thống hiển thị trang đăng nhập Alternate Flow:
3.2.5 Chỉnh sửa thông tin người cá nhân
Bảng 3.5 Bảng đặc tả usecase chỉnh sửa thông tin cá nhân
ID and Name: HQ5- Chỉnh sửa thông tin người cá nhân
Description: Là một người dùng em muốn cập nhật thông tin cá nhân của mình để công khai lên mạng xã hội
Trigger: Người dùng muốn cập nhật thông tin cá nhân
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng cập nhật thông tin thành công
Main Flow: 1 - Chọn vào ảnh đại diện
2 - Cập nhật thông tin với các trường thông tin / (A1)
Alternate Flow: A1 Hủy chỉnh sửa thông tin cá nhân
2a1 – Thoát chỉnh sửa thông tin Exception Flow:
Bảng 3.6 Bảng đặc tả usecase xem bài viết
ID and Name: HQ6- Xem chi tiết bài viết
Primary actor: Người dùng, Người quản trị hệ thống, Editor
Description: Là một người dùng em muốn xem chi tiết bài viết để có thể đọc nội dung bài viết và những thông tin liên quan Trigger: Người dùng xem chi tiết bài viết
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng xem chi tiết được bài viết
Main Flow: 1 – Xem danh sách bài viết
2 – Người dùng chọn “ Read More”
3 – Hệ thống hiển thị bản xem trước bài viết
4 – Người dùng chọn “More Detail”
5 – Hệ thống hiển thị chi tiết bài viết Alternate Flow:
Bảng 3.7 Bảng đặc tả usecase lưu bài viết
ID and Name: HQ7- Lưu bài viết
Description: Là một người dùng em muốn lưu bài viết để có thể xem bài viết sau này nếu muốn xem lại
Trigger: Người dùng lưu bài viết
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng lưu được bài viết
Main Flow: 1 – Người dùng xem danh sách bài viết
2 – Người dùng chọn bài viết
3 – Người dùng chọn biểu tượng lưu
4 - Hệ thống hiển thị thông báo lưu thành công / (E1) Alternate Flow:
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.8 Bảng đặc tả usecase thích bài viết
ID and Name: HQ8 – Thích bài viết
Description: Là một người dùng tôi muốn thích bài viết để bày tỏ cảm xúc với bài viết đó Trigger Người dùng thích bài viết
Pre-condition: Người dùng đăng nhập vào hệ thống
Post-condition: Người dùng đã thực hiện báo cáo bài viết thành công
Main Flow: 1 – Người dùng xem danh sách bài viết
2 – Người dùng chọn bài viết
3 – Hệ thống hiển thị bản xem trước bài viết
4 – Người dùng chọn biểu tượng trái tim để thích bài viết / (A1)
5 – Hệ thống hiển thị thông báo thành công
Alternate Flow: A1 Người dùng bỏ thích bài viết
1 – Người dùng chọn biểu tượng trái tim để bỏ thích bài viết
2 - Kết thúc Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.9 Bảng đặc tả usecase báo cáo bài viết
ID and Name: HQ9- Báo cáo bài viết
Description: Là một người dùng tôi muốn báo cáo những bài viết đó những nội dung chống phá, quấy rối và không đúng chuẩn đạo đức Trigger: Người dùng báo cáo bài viết
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng báo cáo thành công bài viết
Main Flow: 1 – Người dùng xem danh sách bài viết
2 – Người dùng chọn bài viết
3 – Người dùng chọn nút report trong biểu tượng Menu
4 – Hệ thống hiển thị màn hình báo cáo
5 – Người dùng nhập lý do và tin nhắn / (A1)
6 – Hệ thống hiển thị thông báo thành công / (E1)
Alternate Flow: A1 Người dùng hủy báo cáo bài viết
2 – Quay lại màn hình ban đầu
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.10 Bảng đặc tả usecase chia sẻ bài viết
ID and Name: HQ10 – Chia sẻ bài viết
Description: Là một người dùng em muốn chia sẻ bài viết của mình về trang cá nhân
Pre-condition: Người dùng đăng nhập vào hệ thống
Post-condition: Người dùng đã chia sẻ bài viết về trang facebook thành công
Main Flow: 1 - Người dùng xem danh sách bài viết
2 - Người dùng chọn bài viết
3 - Hệ thống hiển thị bản xem thử bài viết
4 - Người dùng chọn “Share In Feed” / (A1)
5 – Hệ thống hiển thị thông báo thành công
Alternate Flow: A1 Chia sẻ sang mạng xã hội facebook
1 – Người dùng chọn nút “Share with facebook”
2 – Người dùng đăng nhập vào facebook
3 – Người dùng thực hiện quy trình chia sẻ ở facebook
4 – Hệ thống hiển thị thông báo thành công
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.11 Bảng đặc tả usecase bình luận bài viết
ID and Name: HQ11 – Bình luận bài viết
Description: Là một người dùng tôi muốn bình luận bài viết để có thể chia sẻ quan điểm của mình
Pre-condition: Người dùng đăng nhập vào hệ thống
Post-condition: Người dùng bình luận bài viết thành công
Main Flow: 1 – Người dùng xem danh sách bài viết
2 – Người dùng chọn bài viết
3 – Hệ thống hiển thị mục xem trước bài viết / (A1)
4 – Người dùng nhập nội dung bình luận / (A2)
5 – Người dùng nhấn nút “Post”
6 – Hệ thống lưu trữ và hiển thị thông báo thành công / (E1)
Alternate Flow: A1 Người dùng xem chi tiết bài viết rồi thực hiện bình luận
1 – Người dùng nhấn nút “Read More”
2 – Quay lại bước 4 Main Flow A2 Người dùng thực hiện trả lời bình luận
1 – Người dùng chọn nút “Reply”
2 - Quay về bước 4 Main Flow
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.12 Bảng đặc tả usecase xóa bài viết
ID and Name: HQ12- Xóa bài viết
Primary actor: Người dùng, Người quản trị hệ thống
Description: Là một người dùng hoặc người quản trị hệ thống tôi muốn xóa bài viết trên hệ thống với những bài viết không phù hợp Trigger: Người dùng muốn xóa bài viết
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng xóa bài viết thành công
Main Flow: 1 – Người dùng chọn “My Draft” ở Sidebar / (A1) / (A2)
2 – Người dùng chọn bài viết và chọn nút “Delete Blog” ở menu
3 - Hiển thị thông báo thành công / (A3) / (E1)
Alternate Flow: A1 Chỉnh sửa bài viết đã không khai
1a1.1 Thực hiện Usecase HQ14 1a1.2 Quay lại bước 2 Main Flow A2 Khi người dùng có quyền Admin 1a4.1 Người dùng chọn nút “Blogs”
1a4.2 Người dùng chọn bài viết và chọn nút “Edit Blog”
1a4.3 Quay lại bước 2 Main Flow A3 Xoá bài viết với quyền Admin 3a3.1 Hiển thị thông báo thành công và gửi email thông báo với người dùng
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.13 Bảng đặc tả usecase tạo bài viết
ID and Name: HQ13- Tạo bài viết
Primary actor: Người dùng, Người quản trị hệ thống
Description: Là một người dùng hoặc người quản trị hệ thống tôi muốn tạo một bài viết để chia sẻ về kiến thức và quan điểm của mình Trigger: Người dùng muốn tạo một bài viết
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng tạo bài viết thành công
Main Flow: 1 – Người dùng chọn “New Post” ở navbar / (A1) / (A4)
2 – Hệ thống hiển thị màn hình tạo bài viết / (A2)
3 – Nhập tiêu đề và nội dung bài viết / (A3)
5 – Nhập các thông tin còn lại
7 - Người dùng chọn “Create Post” / (A3) / (E1)
Alternate Flow: A1 Khi người dùng đang xem chi tiết nhóm
1a1.2 Quay lại bước 2 Main Flow A4 Khi người dùng có quyền Admin 1a4.1 Người dùng chọn nút “Blogs”
1a4.2 Người dùng chọn nút “Add New Blog”
1a4.3 Quay lại bước 2 Main Flow A2 Hủy thêm mới bài viết
2a2.1 Thoát khỏi trang thêm mới bài viết A3 Lưu dưới dạng bản thảo
Exception Flow: E1 Sai ràng buộc dữ liệu
1 Thông báo lỗi sai và focus vào lỗi sai
Bảng 3.14 Bảng đặc tả usecase xóa bình luận
ID and Name: HQ14 – Xóa bình luận
Description: Là một người dùng tôi muốn xóa bình luận bài viết tôi đã bình luận hoặc tôi là chủ bài viết muốn xóa các bình luận khác vào bài viết của tôi
Pre-condition: Người dùng đăng nhập vào hệ thống
Post-condition: Người dùng xóa bình luận bài viết thành công
Main Flow: 1 – Người dùng thực hiện Use case HQ06
2 – Người dùng chọn bình luận của mình và chọn biểu tượng menu
3 – Người dùng chọn nút “ Delete”
4 – Hệ thống hiển thị thông báo thành công Alternate Flow:
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.15 Bảng đặc tả usecase báo cáo tag
ID and Name: HQ15- Báo cáo Tag
Description: Là một người dùng tôi muốn báo cáo những Tag đó những nội dung chống phá, quấy rối và không đúng chuẩn đạo đức Trigger: Người dùng báo cáo tag
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng báo cáo thành công bài viết
Main Flow: 1 – Người dùng xem danh sách Tag
2 – Người dùng chọn biểu tượng báo cáo
3 – Hệ thống hiển thị màn hình báo cáo
4 – Người dùng nhập lý do và tin nhắn / (A1)
5 – Hệ thống hiển thị thông báo thành công / (E1)
Alternate Flow: A1 Người dùng hủy báo cáo tag
2 – Quay lại màn hình ban đầu Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.16 Bảng đặc tả usecase báo cáo người dùng
ID and Name: HQ16- Báo cáo người dùng
Description: Là một người dùng tôi muốn báo cáo những người dùng đăng tải những nội dung sai trái Trigger: Người dùng báo cáo người dùng
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng báo cáo thành công người dùng
Main Flow: 1 – Người dùng thực hiện Usecase HQ13
2 – Người dùng chọn nút “Report User” ở biểu tượng Menu
3 – Hệ thống hiển thị màn hình báo cáo
4 – Người dùng nhập lý do và tin nhắn / (A1)
5 – Hệ thống hiển thị thông báo thành công / (E1)
Alternate Flow: A1 Người dùng hủy báo cáo người dùng
2 – Quay lại màn hình ban đầu
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.17 Bảng đặc tả usecase báo cáo bình luận
ID and Name: HQ17- Báo cáo bình luận
Description: Là một người dùng tôi muốn báo cáo những bình luận có những
35 nội dung chống phá, quấy rối và không đúng chuẩn đạo đức Trigger: Người dùng báo cáo bình luận
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng báo cáo thành công bình luận
Main Flow: 1 – Người dùng thực hiện Usecase HQ11
2 – Người dùng chọn biểu tượng báo cáo ở bình luận
3 – Hệ thống hiển thị màn hình báo cáo
4 – Người dùng nhập lý do và tin nhắn / (A1)
5 – Hệ thống hiển thị thông báo thành công / (E1)
Alternate Flow: A1 Người dùng hủy báo cáo bình luận
2 – Quay lại màn hình ban đầu
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.18 Bảng đặc tả usecase xem trang cá nhân
ID and Name: HQ18- Xem trang cá nhân người dùng khác
Primary actor: Người dùng, Người quản trị hệ thống, Editor
Description: Là một người dùng tôi muốn xem chi tiết trang cá nhân người dùng khác để có thể xem thông tin cũng như biết về mối quan tâm của họ
Trigger: Người dùng xem trang cá nhân của người dùng khác
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng xem được trang cá nhân của người dùng khác Main Flow: 1 – Nhập từ khóa vào ô tìm kiếm / (A1) / (A2)
3 - Chọn người dùng tương ứng 4- Hệ thống hiển thị trang cá nhân người dùng
Alternate Flow: A1 Khi người dùng xem chi tiết nhóm
1a1.3 Quay lại bước 4 Main Flow A2 Khi người dùng xem chi tiết bài viết 1a2.1 Xem chi tiết bài viết
1a2.2 Chọn Avatar của chủ bài viết 1a2.3 Quay lại bước 4 Main Flow
Bảng 3.19 Bảng đặc tả usecase theo dõi
ID and Name: HQ19 - Theo dõi người dùng
Description: Là một người dùng tôi muốn theo dõi người dùng khác để xem những bài viết của họ
Trigger: Người dùng theo dõi người dùng khác
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng theo dõi người dùng khác thành công
Main Flow: 1 – Người dùng chọn nút “Follow” khi xem trang cá nhân / (A1)
2 – Hệ thống hiển thị thông báo thành công / (E1)
Alternate Flow: A1 Người dùng bỏ theo dõi người dùng khác
2 – Quay về bước 2 Main Flow
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.20 Nhắn tin với người khác
Bảng 3.20 Bảng đặc tả usecase nhắn tin với người dung khác
ID and Name: HQ20 - Nhắn tin với người khác
Description: Là một người dùng tôi muốn gửi tin nhắn đến người dùng khác Trigger: Người dùng muốn gửi tin nhắn
Pre-condition: Người dùng gửi tin nhắn thành công
Post-condition: Người dùng theo dõi người dùng khác thành công
Main Flow: 1 – Người dùng chọn biểu tượng Message
2 – Người dùng chọn đoạn chat
3 – Người dùng nhập nội dung và nhấn “Send” / (A1) / (E1)
4 – Hệ thống thực hiện lưu trữ
Alternate Flow: A1 Người dùng gửi tin nhắn bằng hình ảnh
1 – Người dùng chọn biểu tượng hình ảnh
2 – Người dùng chọn “Upload a file”
3 – Người dùng chọn hình ảnh và chọn “Upload Now”
4 – Quay lại bước 4 Main Flow
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.21 Bảng đặc tả usecase xóa đoạn tin nhắn
ID and Name: HQ21 - Xóa đoạn tin nhắn
Description: Là một người dùng tôi muốn xóa đi đoạn xóa để xóa đi cuộc trò chuyện của tôi với người dùng khác Trigger: Người dùng xóa đi đoạn chat
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng xóa đi đoạn chat thành công
Main Flow: 1 – Người dùng chọn nút “Message” ở thành Sidebar
2 – Người dùng chọn đoạn chat để xóa
3 – Người dùng chọn biểu tượng menu
4 – Người dùng chọn “Delete Message”
5 – Hệ thống hiển thị thông báo thành công Alternate Flow:
3.2.22 Phê duyệt tin nhắn chờ
Bảng 3.22 Bảng đặc tả usecase phê duyệt tin nhắn chờ
ID and Name: HQ22 – Phê duyệt tin nhắn chờ
Description: Là một người dùng tôi muốn phê duyệt tin nhắn chờ để có thể tiện thực hiện trao đổi với người dùng khác Trigger: Người dùng muốn phê duyệt tin nhắn chờ
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng phê duyệt tin nhắn chờ thành công
Main Flow: 1 – Người dùng chọn nút “Message” ở thành Sidebar
2 – Người dùng chọn nút “Request”
3 – Người dùng chọn biểu tượng menu
4 – Người dùng chọn “Accept Message”
5 – Hệ thống hiển thị thông báo thành công và chuyển tin nhắn sang mục Mailbox
Alternate Flow: A1 Người dùng xóa tin nhắn chờ
1 – Người dùng chọn nút “Delete Message”
3.2.23 Xóa tin nhắn người dùng
Bảng 3.23 Bảng đặc tả usecase xóa tin nhắn người dùng
ID and Name: HQ23- Xóa tin nhắn
Description: Là một người dùng tôi muốn xóa tin nhắn để người dùng nhận không thấy được tin nhắn Trigger: Người dùng muốn xóa tin nhắn
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng xóa tin nhắn thành công
Main Flow: 1 – Người dùng xem chi tiết đoạn chat
2 - Người dùng chọn nút Delete ở biểu tượng Menu
3 – Hệ thống thực hiện xóa và thông báo thành công / (E1) Alternate Flow:
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.24 Bảng đặc tả usecase tạo nhóm
ID and Name: HQ24- Tạo nhóm
Description: Là một người dùng tôi muốn tạo nhóm để có thể kết nối với những người bạn mới Trigger Người dùng tạo nhóm
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng tạo nhóm thành công
Main Flow: 1 – Người dùng chọn nút “Group”
2 – Người dùng chọn nút “Group Created”
3 – Người dùng chọn nút “Add Group”
4 – Hệ thống hiển thị màn hình thêm mới nhóm
5 – Người dùng nhập thông tin tạo mới nhóm / (A1)
6 – Hệ thống thực hiện lưu trữ
Alternate Flow: A1 Người dùng hủy thêm mới nhóm
1 Thoát màn hình thêm mới nhóm
Bảng 3.25 Bảng đặc tả usecase xóa nhóm
ID and Name: HQ25 – Xóa nhóm
Description: Là một quản trị viên của nhóm tôi muốn xóa nhóm vì nhóm đi không đúng chiều hướng tôi muốn Trigger Người dùng xóa nhóm
Pre-condition: 1 Người dùng đăng nhập vào hệ thống
2 Tài khoản người dùng có quyền là quyền của quản trị viên của nhóm
Post-condition: Nhóm của người dùng xóa thành công
Main Flow: 1 – Người dùng xem chi tiết nhóm
2 – Người dùng chọn nút Menu
3 – Người dùng chọn nút “Delete Group”
4 – Hệ thống hiển thị xóa bài viết thành công/ (E1) Alternate Flow:
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.26 Gửi yêu cầu tham gia nhóm
Bảng 3.26 Bảng đặc tả usecase gửi yêu cầu tham gia nhóm
ID and Name: HQ26- Gửi yêu cầu tham gia nhóm
Description: Là một người dùng tôi muốn theo dõi nhóm để những bài viết liên quan đến nhóm đó hiển thị lên trang tin tức của tôi Trigger Người dùng theo dõi nhóm
Pre-condition: Người dùng đăng nhập vào hệ thống thành công
Post-condition: Người dùng theo dõi danh mục thành công và các bài viết của danh mục sẽ hiển thị lên trang Feed của người dùng
Main Flow: 1 – Xem danh sách nhóm
2 – Hiển thị màn hình danh sách nhóm
3 – Chọn nhóm muốn theo dõi và nhấn “Join group” / (E1) / (A1) Alternate Flow: A1 Người dùng đã theo dõi danh mục và muốn bỏ theo dõi danh mục
1 Xem danh sách nhóm tham gia
Exception Flow: E1 Lỗi hệ thống
1 Hiển thị thông báo lỗi
3.2.27 Chỉnh sửa thông tin nhóm
Bảng 3.27 Bảng đặc tả usecase chỉnh sửa thông tin nhóm
ID and Name: HQ27 – Chỉnh sửa thông tin nhóm
Primary actor: Người quản trị hệ thống
Description: Là một admin của nhóm tôi muốn chỉnh sửa thông tin của nhóm để thay đổi luật của nhóm Trigger Người dùng chỉnh sửa thông tin nhóm
Pre-condition: 1 Người dùng đăng nhập vào hệ thống
2 Tài khoản người dùng có quyền là quyền của quản trị viên Post-condition: Người dùng thay đổi thông tin nhóm thành công
Main Flow: 1 – Người dùng xem chi tiết nhóm
3 – Nhập thông tin chỉnh sửa hệ thống / (A1)
4 – Hệ thống thực hiện lưu trữ hệ thống
Alternate Flow: A1 Thoát chỉnh sửa hệ thống
1 – Thoát chỉnh sửa hệ thống
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.28 Chỉnh sửa ảnh đại diện nhóm
Bảng 3.28 Bảng đặc tả usecase chỉnh sửa ảnh đại diện nhóm
ID and Name: HQ28 – Chỉnh sửa ảnh đại diện nhóm
Description: Là một quản trị viên của nhóm tôi muốn chỉnh sửa ảnh đại diện nhóm Trigger Người dùng chỉnh sửa ảnh đại diện nhóm
Pre-condition: 1 Người dùng đăng nhập vào hệ thống
2 Tài khoản người dùng có quyền là quyền của quản trị viên của nhóm
Post-condition: Cập nhật được ảnh đại diện nhóm
Main Flow: 1 – Người dùng xem chi tiết nhóm
2 – Người dùng chọn nút “Change Avatar” trong nút menu /(A1)
3 – Người dùng chọn nút “Upload a file”
4 – Người dùng chọn file và chọn nút “Upload Now”
5 – Hệ thống thể hiện thông báo thành công / (E1)
Alternate Flow: A1 Người dùng thoát chỉnh sửa ảnh đại diện
2 – Hệ thống hiển thị chi tiết nhóm
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.29 Phê duyệt tham gia nhóm
Bảng 3.29 Bảng đặc tả usecase phê duyệt tham gia nhóm
ID and Name: HQ29 – Phê duyệt yêu cầu tham gia nhóm
Description: Là một quản trị viên của nhóm tôi muốn phê duyệt yêu cầu tham gia nhóm
Trigger Người dùng Phê duyệt yêu cầu tham gia nhóm
Pre-condition: 1 Người dùng đăng nhập vào hệ thống
2 Tài khoản người dùng có quyền là quyền của quản trị viên của nhóm
Post-condition: Hiển thị hệ thống danh sách yêu cầu bài viết
Main Flow: 1 – Thực hiện Usecase HQ31
2 – Người dùng chọn nút “Approve” / (A1)
3 – Hệ thống hiển thị thông báo thành công/ (E1)
Alternate Flow: A1 Người dùng từ chối yêu cầu tham gia nhóm
1 – Người dùng chọn nút “Reject”
2 – Hệ thống hiển thị thông báo thành công / (E1)
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.30 Phê duyệt yêu cầu bài viết
Bảng 3.30 Bảng đặc tả usecase phê duyệt yêu cầu bài viết
ID and Name: HQ30 – Phê duyệt yêu cầu bài viết
Description: Là một quản trị viên của nhóm tôi muốn phê duyệt các bài viết yêu cầu đăng vào nhóm Trigger Người dùng phê duyệt yêu cầu tham gia nhóm
Pre-condition: 1 Người dùng đăng nhập vào hệ thống
2 Tài khoản người dùng có quyền là quyền của quản trị viên của nhóm
Post-condition: Hiển thị hệ thống danh sách yêu cầu bài viết
Main Flow: 1 – Người dùng xem chi tiết nhóm
2 – Người dùng chọn “List Blog Request”
2 – Người dùng chọn nút “View”
3 – Hệ thống hiển thị chi tiết bài viết
4 – Người dùng chọn nút “Accept”
5 – Hệ thống thể hiện thông báo thành công / (E1)
Alternate Flow: A1 Người dùng từ chối bài viết
1 – Người dùng chọn nút“Reject”
2 – Hệ thống hiển thị thông báo thành công / (E1)
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.31 Xem danh sách thông báo
Bảng 3.31 Bảng đặc tả usecase xem danh sách thông báo
ID and Name: HQ31 – Xem danh sách thông báo
Description: Là một người dùng tôi muốn xem dánh sách thông báo của người dùng khác thông báo đến tôi
Pre-condition: Người dùng đăng nhập vào hệ thống
Post-condition: Người dùng xem danh sách thông báo thành công
Main Flow: 1 – Người dùng chọn nút “Notification” / (A1) / (A2)
2 – Hệ thống hiển thị danh sách thông báo / (E1)
Alternate Flow: A1 Người dùng xem thông báo bằng thanh Navbar
1 – Người dùng chọn biểu tượng thông báo
2 – Hệ thống hiển thị danh sách thông báo / (E1)
3 – Kết thúc A2 Người dùng xem thông báo tin nhắn
1 – Người dùng chọn biểu tượng tin nhắn ở thanh Navbar
2 – Hệ thống hiển thị danh sách thông báo / (E1)
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.32 Bảng usecase đặc tả tìm kiếm
ID and Name: HQ32 – Tìm kiếm
Description: Là một người dùng tôi muốn tìm kiếm bài viết, người dùng, nhóm theo từ khoá Trigger Người dùng tìm kiếm
Pre-condition: Người dùng đăng nhập vào hệ thống
Post-condition: Hệ thống hiển thị kết quả tìm kiếm theo từng loại
Main Flow: 1 – Người dùng nhập từ khoá vào ô tìm kiếm
2 – Người dùng chọn biểu tượng kính lúp
3 – Hệ thống hiển thị kết quả tìm kiếm theo người dùng / (A1) / (A2) / (E1)
Alternate Flow: A1 Người dùng tìm kiếm nhóm
1 – Người dùng chọn sang Tab “Group”
2 – Hệ thống hiển thị kết quả tìm kiếm theo nhóm A2 Người dùng tìm kiếm bài viết
1 – Người dùng chọn sang tab “Blog”
2 – Hệ thống hiển thị kết quả tìm kiếm theo bài viết
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.33 Bảng đặc tả usecase phê duyệt báo cáo
ID and Name: HQ33 – Phê duyệt báo cáo
Primary actor: Biên tập viên, Người quản trị hệ thống
Description: Là một biên tập viên hoặc quản trị viên hệ thống tôi muốn phê duyệt báo cáo để hệ thống có những nội dung văn minh và phù hợp
Trigger Biên tập viên hoặc người quản trị hệ thống duyệt báo cáo
Pre-condition: Người dùng đăng nhập vào hệ thống với quyền biên tập viên hoặc người quản trị hệ thống
Post-condition: Biên tập viên hoặc người quản trị hệ thống phê duyệt báo cáo thành công
Main Flow: 1 – Người dùng chọn nút “Report Issues”
2 – Người dùng chọn loại báo cáo muốn phê duyệt
3 – Người dùng xem chi tiết báo cáo
4 – Người dùng chọn nút “Evaluate Conversation”
5 – Hệ thống hiển thị thông báo thành công / (E1) Alternate Flow:
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Bảng 3.34 Bảng đặc tả usecase xóa báo cáo
ID and Name: HQ34 – Xóa báo cáo
Primary actor: Biên tập viên, Người quản trị hệ thống
Description: Là một biên tập viên hoặc quản trị viên hệ thống tôi muốn xóa những đoạn báo cáo không phù hợp Trigger Biên tập viên hoặc người quản trị hệ thống duyệt báo cáo Pre-condition: Người dùng đăng nhập vào hệ thống với quyền biên tập viên hoặc người quản trị hệ thống
Post-condition: Biên tập viên hoặc người quản trị hệ thống xóa báo cáo thành công
Main Flow: 1 – Người dùng chọn nút “Report Issues”
2 – Người dùng chọn loại báo cáo muốn phê duyệt
3 – Người dùng xem chi tiết báo cáo
4 – Người dùng chọn nút “Move to trash”
5 – Hệ thống hiển thị thông báo thành công / (E1) Alternate Flow:
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
3.2.35 Khóa tài khoản người gửi báo cáo
Bảng 3.35 Bảng đặc tả usecase khóa tài khoản người gửi báo cáo
ID and Name: HQ35 – Khóa tài khoản người gửi báo cáo
Primary actor: Biên tập viên, Người quản trị hệ thống
Description: Là một biên tập viên hoặc quản trị viên hệ thống tôi muốn khóa tài khoản người dùng gửi báo cáo vì họ spam quá nhiều
Trigger Biên tập viên hoặc người quản trị hệ thống xem thống kê dữ liệu
Pre-condition: Người dùng đăng nhập vào hệ thống với quyền biên tập viên hoặc người quản trị hệ thống Post-condition: Khóa tài khoản người gửi báo cáo thành công
Main Flow: 1 – Người dùng chọn nút “Report Issues”
2 – Người dùng chọn loại báo cáo muốn phê duyệt
3 – Người dùng xem chi tiết báo cáo
4 – Người dùng chọn nút “Block Sender”
5 – Hệ thống hiển thị thông báo thành công / (E1)
Exception Flow: E1 Lỗi hệ thống
1 – Hiển thị thông báo “Server Internal Error”
Special requirements: Khi xóa loại báo cáo thì các báo cáo liên quan đến loại này đều được xóa hết
3.2.36 Thêm cài đặt bài viết
Bảng 3.36 Bảng đặc tả usecase thêm cài đặt bài viết
ID and Name: HQ36 - Thêm cài đặt bài viết
Primary actor: Người quản trị hệ thống
THIẾT KẾ PHẦN MỀM
Lược đồ tuần tự
Hình 4.1 Lược đồ tuần tự đăng nhập
Hình 4.2 Lược đồ tuần tự đăng ký tài khoản
Hình 4.3 Lược đồ tuần tự xác thực tài khoản
4.1.5 Chỉnh sửa thông tin người cá nhân
Hình 4.5 Lược đồ tuần tự chỉnh sửa thông tin người cá nhân
4.1.6 Xem chi tiết bài viết
Hình 4.6 Lược đồ tuần tự xem chi tiết bài viết
Hình 4.7 Lược đồ tuần tự lưu bài viết
Hình 4.9 Lược đồ tuần tự báo cáo bài viết
Hình 4.10 Lược đồ tuần tự chia sẻ bài viết
4.1.11 Chia sẻ bài viết qua facebook
Hình 4.11 Lược đồ tuần tự chia sẻ bài viết qua facebook
Hình 4.12 Lược đồ tuần tự bình luận bài viết
Hình 4.13 Lược đồ tuần tự xóa bài viết
Hình 4.14 Lược đồ tuần tự tạo bài viết
Hình 4.16 Lược đồ tuần tự báo cáo tag
Hình 4.17 Lược đồ tuần tự báo cáo người dùng
Hình 4.18 Lược đồ tuần tự báo cáo bình luận
Hình 4.19 Lược đồ tuần tự xem trang cá nhân
Hình 4.20 Lược đồ tuần tự theo dõi người dùng
4.1.21 Nhắn tin với người khác
Hình 4.21 Lược đồ tuần tự nhắn tin với người dùng khác
Hình 4.22 Lược đồ tuần tự xóa đoạn tin nhắn
4.1.23 Phê duyệt tin nhắn chờ
Hình 4.23 Lược đồ tuần tự phê duyệt tin nhắn chờ
4.1.24 Xóa tin nhắn người dùng
Hình 4.24 Lược đồ tuần tự xóa tin nhắn người dùng
Hình 4.25 Lược đồ tuần tự tạo nhóm
Hình 4.26 Lược đồ tuần tự xóa nhóm
4.1.27 Gửi yêu cầu tham gia nhóm
Hình 4.27 Lược đồ tuần tự gửi yêu cầu tham gia nhóm
4.1.28 Chỉnh sửa thông tin nhóm
Hình 4.28 Lược đồ tuần tự chỉnh sửa thông tin nhóm
4.1.29 Chỉnh sửa ảnh đại diện nhóm
Hình 4.29 Lược đồ tuần tự chỉnh sửa ảnh đại diện nhóm
4.1.30 Phê duyệt tham gia nhóm
Hình 4.30 Lược đồ tuần tự phê duyệt tham gia nhóm
4.1.31 Phê duyệt yêu cầu bài viết
Hình 4.31 Lược đồ tuần tự phê duyệt yêu cầu bài viết
4.1.32 Xem danh sách thông báo
Hình 4.32 Lược đồ tuần tự xem danh sách thông báo
Hình 4.33 Lược đồ tuần tự tìm kiếm
Hình 4.34 Phê duyệt báo cáo
Hình 4.35 Lược đồ tuần tự xóa báo cáo
4.1.36 Khóa tài khoản người gửi báo cáo
Hình 4.36 Lược đồ tuần tự khoản tài khoản người gửi báo cáo
4.1.37 Thêm cài đặt bài viết
Hình 4.37 Lược đồ tuần tự thêm cài đặt bài viết
4.1.38 Xoá cài đặt bài viết
Hình 4.38 Lược đồ tuần tự xóa cài đặt bài viết
Hình 4.39 Lược đồ tuần tự xóa bài viết
Hình 4.40 Lược đồ tuần tự chỉnh sửa bài viết
4.1.41 Xem chi tiết người dùng
Hình 4.41 Lược đồ tuần tự xem chi tiết người dùng
Hình 4.42 Lược đồ tuần tự phân quyền người dùng
4.1.43 Khoá tài khoản người dùng
Hình 4.43 Lược đồ tuần tự khóa tài khoản người dùng
4.1.44 Mở khoá tài khoản người dùng
Hình 4.44 Lược đồ tuần tự mở khóa tài khoản người dùng
Hình 4.45 Lược đồ tuần tự thêm mới người dùng
Hình 4.46 Lược đồ tuần tự them mới nhóm
Hình 4.47 Lược đồ tuần tự xóa nhóm
Hình 4.48 Lược đồ tuần tự chỉnh sửa nhóm
Hình 4.49 Lược đồ tuần tự thêm tag
Hình 4.50 Lược đồ tuần tự xóa tag
Hình 4.51 Lược đồ tuần tự xem thống kê
Hình 4.52 Lược đồ tuần tự gợi ý bài viết
Lược đồ Cơ sở dữ liệu
THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ
Trang đăng nhập
- [1]: Forget Password: khi nhấn vào sẽ chuyển hướng đến trang Forget
- [3]: Sign Up: khi nhấn vào link sẽ chuyển hướng đến trang Đăng ký
- [4]: Nhập Username bằng dữ liệu Text
- [5]: Nhập Password bằng dữ liệu Text
Trang đăng ký
- [1]: Nhập thông tin Full Name
- [2]: Nhập thông tin Second Name
- [5]; Nhập thông tin số điện thoại
- [9]: Check vào để đồng ý điều kiện
- [10]: Nhấn để hoàn tất đăng ký
Trang xác thực tài khoản
Hình 5.3 Trang xác thực tài khoản
- [2]: Nhấn để hoàn tất việc xác thực tài khoản
Trang quên mật khẩu
Hình 5.4 Trang quên mật khẩu
- [1]: Trở về trang đăng nhập
- [3]: Nhấn nút để hệ thống gửi OTP xác thực
Hình 5.5 Trang đặt lại mật khẩu
- [1]: Thông tin Email của tài khoản quên mật khẩu
- [3]: Xác nhận lại Password mới
- [4]: Nhấn nút để hoàn tất việc Reset Password
Trang chủ
- [1]: Sidebar chứa các danh sách trang khác
- [2]: Header: chứa công cụ tìm kiếm, chức năng tạo bài viết, thông báo, tin nhắn, hình ảnh đại diện người dùng
- [3]: Nội dung chính của các trang sẽ ở đây
Trang News Feed
- Chứa danh sách các bài viết của người bạn đã Follow, danh mục mà bạn đã tham gia
Trang thông báo
- [1]: Danh sách các thông báo
- [3]: Hành động để xử lý thông báo bao gồm đọc thông báo và xem trang cá nhân người dùng
Trang tin nhắn
- [1]: Tìm kiếm người dùng hội thoại
- [2]: Tab thể hiện hộp thoại đang nhắn tin
- [3]: Tab thể hiện danh sách tin nhắn chờ
- [5]: Giao diện thể hiện tin nhắn giữa người dùng
- [6]: Hành động thực hiện xóa cuộc hội thoại
- [7]: Nhấn để mở hộp thoại upload hình ảnh để gửi
- [8]: Nhập tin nhắn tin vào
- [9]: Nhấn để gửi tin nhắn
Hình 5.10 Trang upload hình ảnh
Hình 5.11 Trang xóa đoạn hội thoại
- [10]: Hội thoại Upload hình ảnh
- [11]: Danh sách tin nhắn chờ
- [12]: Hành động với tin nhắn chờ bao gồm: chấp nhận tin nhắn, xóa tin nhắn
Trang bài viết mới nhất
Hình 5.12 Trang bài viết mới nhất
- [1]: Tìm kiếm các bài viết
- [2]: Danh sách các bài viết mới nhất
Trang bài viết phổ biến
Hình 5.13 Trang bài viết phổ biến
- [1]: Tìm kiếm các phổ biến
- [2]: Danh sách các bài viết phổ biến
Trang bài viết nổi bật
Hình 5.14 Trang bài viết nổi bật
- [2]: Danh sách các bài viết nổi bật
Trang bài viết được lưu
Hình 5.15 Trang bài viết được lưu
- [1]: Tìm kiếm các bài viết
- [2]: Danh sách các bài viết được lưu
Trang các bản thảo
Hình 5.16 Trang bài viết bản thảo
Giao diện một bài viết
Hình 5.17 Trang giao hiện xem bài viết
- [1]: Thông tin tên và ảnh đại diện nhóm và người dùng
- [2]: Hành động report bài viết
- [3]: Ảnh đại diện của bài viết, nhấn vào sẽ xuất hiện Review bài viết
- [5]: Ảnh đại diện của bài viết
- [6]: Nút đóng bản Review bài viết
- [7]: Thông tin người dùng và nhóm
- [9]: Đường link để xem chi tiết bài viết
- [11]: Chia sẻ và lưu bài viết
- [12]: Danh sách bình luận của bài viết
- [13]: Nhập thông tin vào để bình luận bài viết
Giao diện chi tiết bài viết
Hình 5.18 Giao diện chi tiết bài viết
Hình 5.19 Trang giao diện các bình luận bài viết
- [1]: Các Tags của bài viết
- [2]: Danh sách các bình luận
- [3]: Hành động báo cáo hoặc xóa bình luận
- [4]: Nhập thông tin vào để bình luận bài viết
Hộp thoại báo cáo
Hình 5.20 Hộp thoại báo cáo
- [2]: Danh sách các lý do phổ biến
- [3]: Lời nhắn ghi chú lý do báo cáo
- [5]: Nhấn để hoàn tất việc báo cáo
Giao diện công cụ tìm kiếm
Hình 5.21 Giao diện công cụ tìm kiếm
- [1]: Nhập thông tin tìm kiếm
- [2]: Nhấn nút để thực hiện tìm kiếm
- [3]: Các Tab chứa thông tin tìm kiếm
Giao diện phím tắt thông báo, tin nhắn
Hình 5.22 Giao diện thông báo tin nhắn
Hình 5.23 Giao diện thông báo
- [1]: Phím tắt của hộp thoại chứa 5 tin nhắn gần nhất
- [2]; Nhấn nút để chuyển đến trang Nhắn tin
- [3]: Danh sách 5 tin nhắn gần nhất
- [4]: Phím tắt của hộp thoại chứa 5 thông báo gần nhất
- [5]: Nhấn nút để chuyển đến trang Thông báo
- [6]: Danh sách 5 thông báo gần nhất
Giao diện tạo bài viết
Hình 5.24 Giao diện tạo bài viết bước 1
Hình 5.25 Giao diện tạo bài viết bước 2
Hình 5.26 Giao diện tạo bài viết bước 3
- [1]: Giao diện quy trình 3 bước để tạo bài viết
- [2]: Nhập thông tin tiêu đề
- [3]: Nhập thông tin nội dung bài viết
- [4]: Các nút để đến bước kế tiếp hoặc lùi lại, tạo bản thảo cho bài viết
- [6]: Nhập thông tin mô tả bài viết
- [7]: Chọn nội dung của danh mục hoặc nhóm
- [8]: Upload Avatar hoặc thay đổi avatar khác
- [9]: Hình ảnh đại diện của bài viết
- [10]: Nội dung tiêu đề của bài viết sau khi hoàn tất
- [11]: Danh sách các tags của bài viết
- [12]: Thông tin tác giả bài viết
- [13]: Nút để hoàn tất tạo bài viết
Giao diện Chatbot hỗ trợ
Hình 5.27 Giao diện Chatbot hỗ trợ
- [1]: Tin nhắn người dùng nhắn gửi
- [2]: Tin nhắn chatbot hô trợ trả lời
- [3]: Nhập thông tin cần hỗ trợ vào
Trang giao diện tất cả nhóm
Hình 5.28 Giao diện tất cả nhóm
Hình 5.29 Giao diện chi tiết nhóm
Hình 5.30 Giao diện danh sách người dùng trong nhóm
- [2]: Danh sách tất cả các nhóm
- [3]: Thông tin cơ bản của nhóm gồm: tên, hình ảnh, mô tả, các tags
- [4]: Các hành động đối với người khi chưa vào nhóm
- [5]: Các bài viết thuộc nhóm
- [6]: Danh sách người theo dõi nhóm
Trang giao diện nhóm của người dùng
Hình 5.31 Giao diện nhóm người dung tham gia
Hình 5.32 Giao diện chi tiết nhóm
Hình 5.33 Hộp thoại mời người dùng vào nhóm
Tương tự như giao diện của trang tất cả nhóm có một số điểm khác hơn so với giao diện của tất cả nhóm:
- [2]: Nút để mời thành viên khác vào nhóm, và tạo bài viết cho nhóm
- [3]:Tìm kiếm người dùng để mời
- [4]: Danh sách người dùng mà có thể mời
- [5]: Nhấn để thực hiện việc mời vào nhóm
- [6]: Đóng hộp thoại mời người dùng khác vào nhóm
Trang giao diện nhóm người dùng tạo
Hình 5.34 Giao diện nhóm người dùng tạo
Hình 5.35 Giao diện chi tiết nhóm
Hình 5.36 Hộp thoại chỉnh sửa tag
Hình 5.37 Hộp thoại chỉnh sửa nhóm
Tương tự như các trang nhóm khác, có một số điểm khác biệt như:
- [1]: Nút để tạo nhóm mới
- [2]: Giao diện danh sách các hành động để quản lý nhóm
- [3]: Giao diện để xóa bỏ Tag khỏi nhóm
- [4]: Giao diện thêm Tag mới vào nhóm
- [5]: Giao diện chỉnh sửa thông tin của nhóm
Trang cá nhân người dùng
Hình 5.38 Trang cá nhân người dùng
Hình 5.39 Danh sách người dung theo dõi và danh sách người dùng khác theo dõi
- [1]: Thông tin cá nhân của người dùng
- [2]: Nhấn vào để truy cập đến trang cá nhân
- [3]: Tab danh sách các bài viết
- [4]: Tab danh sách các bài viết đã chia sẻ
- [5]: Tab danh sách người Follower
- [6]: Tab danh sách người đã Follow
Trang tạo một nhóm mới
Hình 5.40 Giao diện thêm mới nhóm
- [1]: Nhập thông tin tên nhóm
- [2]: Nhập thông tin mô tả nhóm
- [5]: Lựa chọn quyền đăng bài của nhóm
Trang cá nhân của người dùng khác
Hình 5.41 Trang cá nhân của người dung khác
Trang cá nhân tương tự như trang cá nhân của người dùng, có một số điểm khác như:
- [1]: Có các nút để thực hiện theo dõi người dùng, nhắn tin với người dùng và báo cáo người dùng nếu vi phạm
Trang chỉnh sửa thông tin người dùng
Hình 5.42 Trang chỉnh sửa thông tin người dùng
- [1]: Thông tin cơ bản của cá nhân người dùng
- [2]: Nhấn vào để trở về trang cá nhân
- [3]: Nhập thông tin tên người dùng
- [4]: Thông tin username của người dùng
- [5]: Thông tin email của người dùng
- [6]: Nhập thông tin điện thoại
- [7]: Lựa chọn địa chỉ cho người dùng
- [8]: Lựa chọn giới tính người dùng
- [9]: Hình ảnh đại diện của người dùng
- [10]: Nhấn để hoàn tất việc chỉnh sửa thông tin
Trang thay đổi mật khẩu
Hình 5.43 Thay đổi mật khẩu
- [1]: Tab thay đổi mật khẩu người dùng
- [2]: Nhập thông tin mật khẩu cũ
- [3]: Nhập thông tin mật khẩu mới
- [4]: Xác nhận lại thông tin mật khẩu mới
- [5]: Nhấn để hoàn tất việc thay đổi mật khẩu
Trang chủ của Admin
Hình 5.44 Trang chủ của Admin
- [1]: Thành phần Sidebar hiển thị danh sách các trang chức năng của Admin
- [2]: Nội dung của từng trang
- [3]: Hình ảnh giao diện của Admin
Trang Dashboard báo cáo, thống kê
Hình 5.445 Trang Dashboard báo cáo, thống kê
- [1]: Thống kê tổng số bài viết
- [2]: Thống kê tổng số tag
- [3]: Thống kê tổng số nhóm
- [4]: Thống kê tổng số người dùng
- [5]: Biểu đồ thể hiện số lượng truy cập hằng tháng
- [6]: Biểu đổ thể hiện số biến động của bài viết hằng tháng, hằng năm
Trang quản lý bài viết
Hình 5.46 Trang quản lý bài viết
- [1]: Nhấn để thêm một bài viết mới
- [2]: Tìm kiếm bài viết ở bảng bên dưới
- [3]: Danh sách các hành động với một bài viết gồm: Xem chi tiết bài viết, chỉnh sửa bài viết, xóa bài viết
Trang quản lý nhóm
Hình 5.47 Trang quản lý nhóm
- [1]: Nhấn để thêm một nhóm mới
- [2]: Tìm kiếm nhóm ở bảng bên dưới
- [3]: Danh sách các hành động với một nhóm gồm: Xem chi tiết nhóm, chỉnh sửa nhóm, xóa nhóm
Trang quản lý Tag
Hình 5.48 Trang quản lý tag
- [1]: Nhấn để thêm mới Tag
- [2]: Tìm kiếm Tag ở bên dưới bảng
- [3]: Thực hiện hành động xóa Tag
Trang quản lý tài khoản người dùng
Hình 5.49 Trang quản lý tài khoản người dùng
- [1]: Hiển thị danh sách người dùng có vai trò Admin
- [2]: Hiển thị danh sách người dùng có vai trò Editor
- [3]: Hiển thị danh sách người dùng có vai trò User
- [4]: Thêm tài khoản mới vào
- [5]: Thực hiện các hành động với một tài khoản gồm: xem chi tiết tài khoản, phân quyền, khóa tài khoản
Hình 5.50 Giao diện tạo mới tài khoản
- Giao diện tạo mới tài khoản
Trang quản lý tài khoản bị khóa
Hình 5 51 Trang quản lý tài khoản bị khóa
- [1]: Tìm kiếm người dùng ở bảng bên dưới
- [2]: Thực hiện hành động với tài khoản bị khóa: xem tài khoản, mở khóa tài khoản
Trang quản lý ticket report
Hình 5.52 Trang quản lý ticket report
- [1]: Tìm kiếm ticket report thì ở bảng bên dưới
- [3]: Các lựa chọn hành động: chỉnh sửa ticket, xóa ticket
Hình 5.53 Hộp thoại thêm mới và chỉnh sửa ticket report
Giao diện thêm mới ticket report và chỉnh sửa ticket report
Giao diện xử lí báo cáo
Hình 5.54 Giao diện xử lí báo cáo
- [1]: Danh sách các báo cáo
- [3]: Lời nhắn của người báo cáo
- [5]: Thực hiện xử lí đánh dấu báo cáo
- [7[: Khóa tài khoản người gửi báo cáo
- [8]: Nội dung của báo cáo
Giao diện setting lịch
Hình 5.55 Giao diện setting lịch
- [1]: Nhấn vào để đặt lịch setting xóa bài
- [2]: Thời gian biểu của các lượt xóa bài
Hình 5.56 Giao diện chi tiết của một setting xóa bài
- [3]: Giao diện chi tiết của một setting xóa bài
Hình 5.57 Giao diện thêm mới setting
- [4]: Giao diện thêm mới setting
CÀI ĐẶT VÀ KIỂM THỬ
THƯ VIỆN CẦN THIẾT VÀ CÀI ĐẶT ỨNG DỤNG
Phần mềm Visual Studio Code
Cài đặt npm, NodeJs và Git
+ Các bước cài đặt (Server đã cài đặt cơ sở dữ liệu):
Bước 1: Mở Terminal và chạy lệnh: git clone https://github.com/Baboga39/NodeJs.git
Bước 2: Nhập lệnh “cd nodejs” sau đó nhập lệnh “npm start” ở Terminal
Bước 3: Hoàn thành chạy Server Backend
● Phần mềm Visual Studio Code
● Cài đặt npm và git
● Bước 1: Mở Terminal và chạy lệnh: git clone https://github.com/pddkhoa/fe-media-social.git
● Bước 2: Nhập lệnh “npm install” để cài đặt các gói package
● Bước 3: Cài đặt file Env để thiết lập môi trường
BASE_URL: đây là link của server SOCKET_IO_URL: đây là link của server Socket REACT_APP_FACEBOOK_ID: đây là key của api facebook URL_DOMAIN: đây là link FE
● Bước 4: Nhập lệnh “npm run dev” để khởi động chương trình
NHỮNG KẾT QUẢ ĐẠT ĐƯỢC
2 Ưu điểm và nhược điểm
HƯỚNG PHÁT TRIỂN
STT Thời gian Công việc
Tìm hiểu lý thuyết về lý thuyết công nghệ Java Spring Boot, MySQL ReactJS và nền tảng quản lý nhiệm vụ dự án JIRA
Tiến hành khảo sát hiện trạng, xác định yêu cầu của dự án và so sánh ưu nhược điểm so với các trang tương tự
Thiết kế các chức năng của người dùng và người quản trị hệ thống Dựa vào đó thiết kế cơ sở dữ liệu và giao diện Thiết lập các môi trường dự án
Thực hiện xây dựng các chức năng đã ở Server Front-End và Back-End
Triển khai 2 môi trường Front-End và Back-End Thực hiện kiểm thử các chức năng và môi trường
Viết tài liệu báo cáo dự án và hướng dẫn sử dụng
Thực hiện báo cáo và tiểu luận giáo viên phản biện
Xem lại và hoàn thiện dự án
Tìm hiểu lý thuyết về công nghệ MERN STACK và nền tảng quản lý nhiệm vụ dự án JIRA
Tiến hành khảo sát hiện trạng, xác định yêu cầu của dự án và so sánh ưu nhược điểm so với các trang tương tự
Tiến hành xây dựng source của hệ thống Front-End và Back- End Thực hiện kết nối giữa các server Front-End, Back-End và Database
Chuyển đổi các tính năng của người dùng về các vấn đề xác thực và bài viết sang công nghệ mới và cải thiện Và các tính năng tương tác bài viết của người dùng
Chuyển đổi các tính năng về tương tác nhóm người dùng sang công nghệ mới và cải thiện
Chuyển đổi các tính năng về báo cáo và các tương tác giữa các người dùng với nhau sang công nghệ mới và cải thiện
Chuyển đổi cỏc tớnh năng về trũ chuyệnãcủa người dựng sang công nghệ mới và cải thiện
Hoàn tất các tính năng của người dùng và thực hiện báo cáo tiến độ ngày 50% với giáo viên hướng dẫn
Xây dựng các tính năng của biên tập viên và quản trị viên
Xây dựng test case và thực hiện kiểm thử chức năng và hệ thống
Ngày 05 tháng 06 năm 2024 Ý kiến của giáo viên hướng dẫn Người viết đề cương
Nguyễn Hữu Trung Lê Trương Ngọc Hải
LỜI CẢM ƠN ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
DANH SÁCH HÌNH DANH SÁCH BẢNG
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.4.1 Giới thiệu về Express.js 8
CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ 9
2.3 Phân tích yêu cầu của dự án 12
2.4 Danh sách yêu cầu chức năng hệ thống 15
2.5 Danh sách yêu cầu phi chức năng 17
CHƯƠNG 3 MÔ HÌNH HÓA YÊU CẦU 18
3.2.5 Chỉnh sửa thông tin người cá nhân 25
3.2.20 Nhắn tin với người khác 37
3.2.22 Phê duyệt tin nhắn chờ 38
3.2.23 Xóa tin nhắn người dùng 39
3.2.26 Gửi yêu cầu tham gia nhóm 41
3.2.27 Chỉnh sửa thông tin nhóm 42
3.2.28 Chỉnh sửa ảnh đại diện nhóm 42
3.2.29 Phê duyệt tham gia nhóm 43
3.2.30 Phê duyệt yêu cầu bài viết 44
3.2.31 Xem danh sách thông báo 45
3.2.35 Khóa tài khoản người gửi báo cáo 48
3.2.36 Thêm cài đặt bài viết 49
3.2.37 Xoá cài đặt bài viết 50
3.2.40 Xem chi tiết người dùng 52
3.2.42 Khoá tài khoản người dùng 54
3.2.43 Mở khoá tài khoản người dùng 54
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 62
4.1.5 Chỉnh sửa thông tin người cá nhân 64
4.1.6 Xem chi tiết bài viết 64
4.1.11 Chia sẻ bài viết qua facebook 66
4.1.21 Nhắn tin với người khác 72
4.1.23 Phê duyệt tin nhắn chờ 73
4.1.24 Xóa tin nhắn người dùng 74
4.1.27 Gửi yêu cầu tham gia nhóm 76
4.1.28 Chỉnh sửa thông tin nhóm 77
4.1.29 Chỉnh sửa ảnh đại diện nhóm 77
4.1.30 Phê duyệt tham gia nhóm 78
4.1.31 Phê duyệt yêu cầu bài viết 78
4.1.32 Xem danh sách thông báo 79
4.1.36 Khóa tài khoản người gửi báo cáo 82
4.1.37 Thêm cài đặt bài viết 82
4.1.38 Xoá cài đặt bài viết 83
4.1.41 Xem chi tiết người dùng 85
4.1.43 Khoá tài khoản người dùng 86
4.1.44 Mở khoá tài khoản người dùng 87
4.2 Lược đồ Cơ sở dữ liệu 93
CHƯƠNG 5 THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 94
5.3 Trang xác thực tài khoản 95
5.9 Trang bài viết mới nhất 100
5.10 Trang bài viết phổ biến 101
5.11 Trang bài viết nổi bật 101
5.12 Trang bài viết được lưu 102
5.14 Giao diện một bài viết 103
5.15 Giao diện chi tiết bài viết 104
5.17 Giao diện công cụ tìm kiếm 106
5.18 Giao diện phím tắt thông báo, tin nhắn 106
5.19 Giao diện tạo bài viết 107
5.20 Giao diện Chatbot hỗ trợ 109
5.21 Trang giao diện tất cả nhóm 109
5.22 Trang giao diện nhóm của người dùng 111
5.23 Trang giao diện nhóm người dùng tạo 112
5.24 Trang cá nhân người dùng 114
5.25 Trang tạo một nhóm mới 115
5.26 Trang cá nhân của người dùng khác 116
5.27 Trang chỉnh sửa thông tin người dùng 117
5.28 Trang thay đổi mật khẩu 118
5.30 Trang Dashboard báo cáo, thống kê 119
5.31 Trang quản lý bài viết 119
5.34 Trang quản lý tài khoản người dùng 121
5.35 Trang quản lý tài khoản bị khóa 122
5.36 Trang quản lý ticket report 123
5.37 Giao diện xử lí báo cáo 123
CHƯƠNG 6 CÀI ĐẶT VÀ KIỂM THỬ 126
6.1.THƯ VIỆN CẦN THIẾT VÀ CÀI ĐẶT ỨNG DỤNG 126
1 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC 128
1.3 Về kinh nghiệm 129 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM 129
Hình 2.1 Màn hình Trang chủ Website Spiderum 10 Hình 2 2 Thanh Navbar Website Spiderum 10
Hình 2.3 Màn hình Danh sách bài viết Website Spiderum 10
Hình 2.4 Màn hình Đăng nhập Website Spiderum 11
Hình 2.5 Màn hình Trang cá nhân Website Spiderum 11
Hình 2.6 Màn hình Hỗ trợ người dùng Spiderum 12
Hình 2.7 Màn hình Trò chuyện Website Spiderum 12
Hình 3.2 Lược đồ Usecase Báo cá 19
Hình 3.3 Lược đồ Usecase nhắn tin 19
Hình 3.4 Lược đồ Usecase Quản lý bài viết 20
Hình 3.5 Lược đồ Usecase quản lý báo cáo 20
Hình 3.6 Lược đồ Usecase tương tác nhóm……… 21
Hình 3.7 Lược đồ Usecase quản lý người dùng………21
Hình 4.1 Lược đồ tuần tự đăng nhập……… 62
Hình 4.2 Lược đồ tuần tự đăng ký tài khoản 62
Hình 4.3 Lược đồ tuần tự xác thực tài khoản 63
Hình 4.5 Lược đồ tuần tự chỉnh sửa thông tin người cá nhân 64
Hình 4.6 Lược đồ tuần tự xem chi tiết bài viết 64
Hình 4.7 Lược đồ tuần tự lưu bài viết 65
Hình 4.9 Lược đồ tuần tự báo cáo bài viết 66
Hình 4.10 Lược đồ tuần tự chia sẻ bài viết 66
Hình 4.11 Lược đồ tuần tự chia sẻ bài viết qua facebook 67
Hình 4.12 Lược đồ tuần tự bình luận bài viết 67
Hình 4.13 Lược đồ tuần tự xóa bài viết 68
Hình 4.14 Lược đồ tuần tự tạo bài viết 68
Hình 4.16 Lược đồ tuần tự báo cáo tag 70
Hình 4.17 Lược đồ tuần tự báo cáo người dùng 70
Hình 4.18 Lược đồ tuần tự báo cáo bình luận 71
Hình 4.19 Lược đồ tuần tự xem trang cá nhân 71
Hình 4.20 Lược đồ tuần tự theo dõi người dùng 72
Hình 4.21 Lược đồ tuần tự nhắn tin với người dùng khác 72
Hình 4.22 Lược đồ tuần tự xóa đoạn tin nhắn 73
Hình 4.23 Lược đồ tuần tự phê duyệt tin nhắn chờ 73
Hình 4.24 Lược đồ tuần tự xóa tin nhắn người dùng 74
Hình 4.25 Lược đồ tuần tự tạo nhóm 74
Hình 4.26 Lược đồ tuần tự xóa nhóm 75
Hình 4.27 Lược đồ tuần tự gửi yêu cầu tham gia nhóm 76
Hình 4.28 Lược đồ tuần tự chỉnh sửa thông tin nhóm 77
Hình 4.29 Lược đồ tuần tự chỉnh sửa ảnh đại diện nhóm 77
Hình 4.30 Lược đồ tuần tự phê duyệt tham gia nhóm 78
Hình 4.31 Lược đồ tuần tự phê duyệt yêu cầu bài viết 78
Hình 4.32 Lược đồ tuần tự xem danh sách thông báo 79
Hình 4.33 Lược đồ tuần tự tìm kiếm 80
Hình 4.34 Phê duyệt báo cáo 80
Hình 4.35 Lược đồ tuần tự xóa báo cáo 81
Hình 4.36 Lược đồ tuần tự khoản tài khoản người gửi báo cáo 82
Hình 4.37 Lược đồ tuần tự thêm cài đặt bài viết 82
Hình 4.38 Lược đồ tuần tự xóa cài đặt bài viết 83
Hình 4.39 Lược đồ tuần tự xóa bài viết 83
Hình 4.40 Lược đồ tuần tự chỉnh sửa bài viết 84
Hình 4.41 Lược đồ tuần tự xem chi tiết người dùng 85
Hình 4.42 Lược đồ tuần tự phân quyền người dùng 85
Hình 4.43 Lược đồ tuần tự khóa tài khoản người dùng 86 Hình 4.44 Lược đồ tuần tự mở khóa tài khoản người dùng 87 Hình 4.45 Lược đồ tuần tự thêm mới người dùng 87 Hình 4.46 Lược đồ tuần tự them mới nhóm 88 Hình 4.47 Lược đồ tuần tự xóa nhóm 88 Hình 4.48 Lược đồ tuần tự chỉnh sửa nhóm 89 Hình 4.49 Lược đồ tuần tự thêm tag 90 Hình 4.50 Lược đồ tuần tự xóa tag 90 Hình 4.51 Lược đồ tuần tự xem thống kê 91 Hình 4.52 Lược đồ tuần tự gợi ý bài viết 92 Hình 5.1.Trang đăng nhập……… 94 Hình 5.2 Trang đăng ký 95 Hình 5.3 Trang xác thực tài khoản 95 Hình 5.4 Trang quên mật khẩu 96 Hình 5.5 Trang đặt lại mật khẩu 97 Hình 5.6 Trang chủ 97 Hình 5.7 Trang News Feed 98 Hình 5.8 Trang thông báo 98 Hình 5.9 Trang tin nhắn 99 Hình 5.10 Trang upload hình ảnh 100 Hình 5.11 Trang xóa đoạn hội thoại 100 Hình 5.12 Trang bài viết mới nhất 101 Hình 5.13 Trang bài viết phổ biến 101 Hình 5.14 Trang bài viết nổi bật 102 Hình 5.15 Trang bài viết được lưu 102 Hình 5.16 Trang bài viết bản thảo 103 Hình 5.17 Trang giao hiện xem bài viết 103 Hình 5.18 Giao diện chi tiết bài viết 104 Hình 5.19 Trang giao diện các bình luận bài viết 105 Hình 5.20 Hộp thoại báo cáo 105 Hình 5.21 Giao diện công cụ tìm kiếm 106 Hình 5.22 Giao diện thông báo tin nhắn 107
Hình 5.23 Giao diện thông báo 107 Hình 5.24 Giao diện tạo bài viết bước 1 108 Hình 5.25 Giao diện tạo bài viết bước 2 108 Hình 5.26 Giao diện tạo bài viết bước 3 108 Hình 5.27 Giao diện Chatbot hỗ trợ 109 Hình 5.28 Giao diện tất cả nhóm 110 Hình 5.29 Giao diện chi tiết nhóm 110 Hình 5.30 Giao diện danh sách người dùng trong nhóm 110 Hình 5.31 Giao diện nhóm người dung tham gia 111 Hình 5.32 Giao diện chi tiết nhóm 111 Hình 5.33 Hộp thoại mời người dùng vào nhóm 112 Hình 5.34 Giao diện nhóm người dùng tạo 112 Hình 5.35 Giao diện chi tiết nhóm 113 Hình 5.36 Hộp thoại chỉnh sửa tag 113 Hình 5.37 Hộp thoại chỉnh sửa nhóm 113 Hình 5.38 Trang cá nhân người dùng 114 Hình 5.39 Danh sách người dung theo dõi và danh sách người dùng khác theo dõi 114 Hình 5.40 Giao diện thêm mới nhóm 115 Hình 5.41 Trang cá nhân của người dung khác 116 Hình 5.42 Trang chỉnh sửa thông tin người dùng 117 Hình 5.43 Thay đổi mật khẩu 118 Hình 5.44 Trang chủ của Admin 118 Hình 5.445 Trang Dashboard báo cáo, thống kê 119 Hình 5.46 Trang quản lý bài viết 120 Hình 5.47 Trang quản lý nhóm 120 Hình 5.48 Trang quản lý tag 121 Hình 5.49 Trang quản lý tài khoản người dùng 121 Hình 5.50 Giao diện tạo mới tài khoản 122 Hình 5 51 Trang quản lý tài khoản bị khóa 122 Hình 5.52 Trang quản lý ticket report 123 Hình 5.53 Hộp thoại thêm mới và chỉnh sửa ticket report 123 Hình 5.54 Giao diện xử lí báo cáo 124
Hình 5.55 Giao diện setting lịch 124 Hình 5.56 Giao diện chi tiết của một setting xóa bài 125 Hình 5.57 Giao diện thêm mới setting 125 Hình 6.1 Bug và task quản lý ở Jira………… ……….127
Bảng 3.1 Bảng đặc tả usecase đăng nhập 22 Bảng 3.2 Bảng đặc tả usecase đăng ký tài khoản 23 Bảng 3.3 Bảng đặc tả xác thực tài khoản 23 Bảng 3.4 Bảng đặc tả usecase quên mật khẩu 24 Bảng 3.5 Bảng đặc tả usecase chỉnh sửa thông tin cá nhân 25 Bảng 3.6 Bảng đặc tả usecase xem bài viết 26 Bảng 3.7 Bảng đặc tả usecase lưu bài viết 26 Bảng 3.8 Bảng đặc tả usecase thích bài viết 27 Bảng 3.9 Bảng đặc tả usecase báo cáo bài viết 28 Bảng 3.10 Bảng đặc tả usecase chia sẻ bài viết 28 Bảng 3.11 Bảng đặc tả usecase bình luận bài viết 29 Bảng 3.12 Bảng đặc tả usecase xóa bài viết 30 Bảng 3.13 Bảng đặc tả usecase tạo bài viết 31 Bảng 3.14 Bảng đặc tả usecase xóa bình luận 32 Bảng 3.15 Bảng đặc tả usecase báo cáo tag 33 Bảng 3.16 Bảng đặc tả usecase báo cáo người dùng 34 Bảng 3.17 Bảng đặc tả usecase báo cáo bình luận 34 Bảng 3.18 Bảng đặc tả usecase xem trang cá nhân 35 Bảng 3.19 Bảng đặc tả usecase theo dõi 36 Bảng 3.20 Bảng đặc tả usecase nhắn tin với người dung khác 37 Bảng 3.21 Bảng đặc tả usecase xóa đoạn tin nhắn 38 Bảng 3.22 Bảng đặc tả usecase phê duyệt tin nhắn chờ 38 Bảng 3.23 Bảng đặc tả usecase xóa tin nhắn người dùng 39 Bảng 3.24 Bảng đặc tả usecase tạo nhóm 40 Bảng 3.25 Bảng đặc tả usecase xóa nhóm 40 Bảng 3.26 Bảng đặc tả usecase gửi yêu cầu tham gia nhóm 41 Bảng 3.27 Bảng đặc tả usecase chỉnh sửa thông tin nhóm 42 Bảng 3.28 Bảng đặc tả usecase chỉnh sửa ảnh đại diện nhóm 42 Bảng 3.29 Bảng đặc tả usecase phê duyệt tham gia nhóm 43 Bảng 3.30 Bảng đặc tả usecase phê duyệt yêu cầu bài viết 44
Bảng 3.31 Bảng đặc tả usecase xem danh sách thông báo 45 Bảng 3.32 Bảng usecase đặc tả tìm kiếm 46 Bảng 3.33 Bảng đặc tả usecase phê duyệt báo cáo 46 Bảng 3.34 Bảng đặc tả usecase xóa báo cáo 47 Bảng 3.35 Bảng đặc tả usecase khóa tài khoản người gửi báo cáo 48 Bảng 3.36 Bảng đặc tả usecase thêm cài đặt bài viết 49 Bảng 3.37 Bảng đặc tả usecase xóa cài đặt bài viết 50 Bảng 3.38 Bảng đặc tả usecase chỉnh sửa bài viết 50 Bảng 3.39 Bảng đặc tả usecase xóa bài viết 51 Bảng 3.40 Bảng đặc tả usecase xem chi tiết người dùng 52 Bảng 3.41 Bảng đặc tả usecase phân quyền người dùng 53 Bảng 3.42 Bảng đặc tả usecase khóa tài khoản người dùng 54 Bảng 3.43 Bảng đặc tả usecase mở khóa tài khoản người dùng 54 Bảng 3.44 Bảng đặc tả usecase thêm mới người dùng 55 Bảng 3.45 Bảng đặc tả usecase thêm mới nhóm 56 Bảng 3.46 Bảng đặc tả usecase xóa nhóm 56 Bảng 3.47 Bảng đặc tả usecase chỉnh sửa nhóm 57 Bảng 3.48 Bảng đặc tả usecase xem chi tiết nhóm 58 Bảng 3.49 Bảng đặc tả usecase thêm tag 59 Bảng 3.50 Bảng đặc tả usecase xóa tag 59 Bảng 3.51 Bảng đặc tả usecase xem thống kê 60 Bảng 3.52 Bảng đặc tả usecase gợi ý bài viết 61
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong bối cảnh Cách mạng Công nghiệp 4.0 đang biến đổi toàn diện cả xã hội, tri thức và công nghệ trở thành những yếu tố chủ chốt quyết định sự tiến bộ của mỗi quốc gia Thế hệ trẻ, những người sẽ định hình tương lai, cần tiếp cận, tiếp thu, và ứng dụng tri thức một cách hiệu quả Tuy nhiên, họ đang đối mặt với nhiều thách thức như giảm sút về số lượng sách đọc, thời gian học tập và sự xuất hiện của các trang web độc hại, tiêu cực
Hệ thống giáo dục đang phải thích nghi với áp lực lớn từ cuộc cách mạng công nghiệp, với công nghệ trở thành phần không thể thiếu để chuẩn bị cho tương lai đầy thách thức Việc xây dựng một nền tảng mạng xã hội chia sẻ kiến thức trở nên vô cùng quan trọng và cần thiết Nền tảng này không chỉ là một không gian chia sẻ tri thức mà còn là công cụ giáo dục mạnh mẽ, tạo môi trường giúp giới trẻ tìm kiếm, trao đổi, và sáng tạo tri thức một cách tự do
Nền tảng mạng xã hội chia sẻ còn là cầu nối giữa cá nhân và cộng đồng, tạo nên hiệu ứng lan tỏa mạnh mẽ, giúp đưa thông điệp về tầm quan trọng của học vấn và nghiên cứu đến cộng đồng lớn hơn Việc tham gia nền tảng này không chỉ là học hỏi mà còn là cơ hội phát triển tinh thần tự giác và trách nhiệm, góp phần vào sự phát triển toàn diện của thế hệ trẻ và hình ảnh phồn thịnh của quốc gia Chính vì lẽ đó, việc xây dựng nền tảng này là vô cùng cấp bách và cần thiết để kết nối, lan tỏa tinh thần học tập và đam mê nghiên cứu cho thế hệ trẻ - những người nắm giữ tương lai đất nước
2 MỤC TIÊU ĐỀ TÀI Đề tài “Xây dựng nền tảng mạng xã hội chia sẻ kiến thức” có mục tiêu cần đạt được là:
- Xây dựng với giao diện trực quan với người dùng cùng với đó là những chức năng hỗ trợ người dùng một cách cụ thể nhất
- Xây dựng ứng dụng gần gũi thực tiễn với nhu cầu sử dụng của người dùng như xem tin tức, quản lý thông tin,…
- Cung cấp giải pháp tối ưu cho nhà quản trị hệ thống để đảm bảo tính xác thực và độ tin cậy hệ thống
- Đảm bảo tính xác thực và đáng tin cậy của nội dung: Một hệ thống kiểm duyệt và xác minh nội dung để đảm bảo tính chính xác và đáng tin cậy của thông tin được chia sẻ trên nền tảng
- Khả năng mở rộng và tích hợp: Xây dựng nền tảng sao cho có khả năng mở rộng và có thể tích hợp dễ dàng với các công nghệ và dịch vụ khác, nhằm mở rộng khả năng phục vụ và tạo điều kiện cho sự phát triển bền vững
- Triển khai hiệu quả và linh hoạt: Thực hiện triển khai website trên một nền tảng đám mây mạnh mẽ, đảm bảo khả năng phục hồi và mở rộng tài nguyên nhanh chóng theo nhu cầu sử dụng
- Áp dụng được kiến thức về các công nghệ phát triển website vào trong đồ án
- Nghiên cứu trên cơ sở tài liệu hiện có và tổng hợp trên mạng những kiến thức lý thuyết về các công nghệ phần mềm và cách thức xây dựng của trang web
- Phương pháp nghiên cứu thực nghiệm:
Tìm hiểu quy trình xây dựng và quản lý website thực tiễn Lên ý tưởng thiết kế website
Tiến hành xây dựng ứng dụng
Nghiên cứu về người dùng: Phần nghiên cứu người dùng đã được thực hiện để đánh giá sở thích, nhu cầu và mục đích sử dụng của khách truy cập đối với trang web đọc kiến thức Qua quá trình này, chúng em đã thu thập được thông tin về các yêu cầu và mong muốn của mọi người, từ đó thiết kế giao diện trang web và nội dung phù hợp với nhu cầu của người dùng một cách tốt nhất
Nghiên cứu về tính năng: Trong phần này, chúng em đã nghiên cứu các trang web mạng xã hội khác và tìm hiểu những tính năng phổ biến mà họ đang sử dụng Dựa trên đó, chúng em đã đưa ra quyết định về những tính năng cần bổ sung hoặc loại bỏ trên trang web của chúng em