1. Trang chủ
  2. » Luận Văn - Báo Cáo

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN

61 37 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 1,89 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (11)
    • 1.1. Đặt vấn đề (11)
    • 1.2. Các ứng dụng hiện có (12)
      • 1.2.1. Group Facebook “Tặng đồ từ thiện - kết nối yêu thương” (12)
      • 1.2.3. Hiến máu (13)
      • 1.2.4. Be My Eyes - Helping the blind (14)
      • 1.2.6. Web Wishare (14)
    • 1.3. Tóm lược (15)
    • 1.4. Mục tiêu (15)
    • 1.5. Phạm vi ứng dụng (16)
  • Chương 2. TỔNG QUAN CÔNG NGHỆ (17)
    • 2.1. React Native, Redux Toolkit, Redux-Saga (17)
      • 2.2.1. React native (17)
      • 2.2.2. Redux Toolkit (18)
      • 2.2.3. Redux-Saga (18)
    • 2.2. NestJs và MongoDB (19)
      • 2.2.1. NestJs (19)
      • 2.2.2. MongoDB (19)
    • 2.3. Firebase Cloud Messaging và SocketIO (19)
      • 2.3.1. Firebase Cloud Messaging (19)
      • 2.3.2. SocketIO (20)
  • Chương 3. PHÂN TÍCH THIẾT KẾ ỨNG DỤNG (21)
    • 3.1. Phân tích ứng dụng (21)
      • 3.1.1. Danh sách yêu cầu của hệ thống và Use case (21)
      • 3.1.2. Sơ đồ hoạt động chức năng (31)
    • 3.2. Thiết kế ứng dụng (38)
      • 3.2.1. Thiết kế cơ sở dữ liệu (38)
      • 3.2.2. Thiết kế giao diện (46)
      • 3.2.3. Thiết kế kiến trúc hệ thống (48)
  • Chương 4. Kết luận (48)
    • 4.1. Kết quả đạt được (48)
    • 4.2. Thuận lợi, khó khăn và hướng phát triển (59)
      • 4.2.1. Thuận lợi (59)
      • 4.2.2. Khó khăn thách thức (59)
      • 4.2.3. Hướng phát triển (59)

Nội dung

TỔNG QUAN

Đặt vấn đề

Hoạt động từ thiện và thiện nguyện tại Việt Nam đã có những bước phát triển đáng kể, mang lại lợi ích cho cộng đồng và được xã hội ghi nhận Tuy nhiên, tình nguyện viên gặp khó khăn trong việc tìm kiếm thông tin về các tổ chức và hoạt động tình nguyện trên Google, vì nhiều kết quả chỉ liên quan đến dự án mà thiếu thông tin tuyển tình nguyện viên Thông tin về các hoạt động cũng không được phân loại rõ ràng, khiến việc tìm kiếm trở nên khó khăn hơn Hơn nữa, các bài đăng về hoạt động tình nguyện thường bị che lấp trên các mạng xã hội như Facebook và Tiktok Để giải quyết vấn đề này, cần xây dựng một mạng xã hội ứng dụng công nghệ, giúp tình nguyện viên, tổ chức và nhà hảo tâm dễ dàng kết nối và hỗ trợ lẫn nhau, từ đó khắc phục nhược điểm hiện tại của các hoạt động từ thiện tại Việt Nam.

Hiện nay, nhiều hoàn cảnh khó khăn đang cần sự hỗ trợ từ tình nguyện viên, trong khi đó, có rất nhiều người mong muốn tham gia vào các hoạt động tình nguyện để cống hiến cho cộng đồng và xã hội.

Tổ chức tình nguyện gặp khó khăn lớn nhất là cần sự tham gia tích cực từ tình nguyện viên và các nhà hảo tâm Sự đóng góp từ cộng đồng không chỉ giúp chiến dịch của tổ chức trở nên thành công hơn mà còn nâng cao uy tín của họ trong mắt người dân.

Một trong những khó khăn lớn mà các nhà hảo tâm và tình nguyện viên gặp phải là sự thiếu tin tưởng vào các tổ chức và cá nhân khi họ muốn đóng góp công sức và tài sản cho cộng đồng, đặc biệt là trong bối cảnh hiện nay có nhiều tổ chức và cá nhân lợi dụng hoạt động từ thiện để trục lợi cá nhân.

Sự phát triển mạnh mẽ của mạng xã hội đã dẫn đến sự gia tăng hoạt động từ thiện trực tuyến, trở thành một vấn đề quan trọng cần được chú ý Tại Việt Nam, hiện có hơn 70 triệu người dùng các nền tảng mạng xã hội, theo báo cáo của Hootsuite vào tháng 1 năm 2021.

Hình 1.1: Hình ảnh thống kê của “We are social Hootsuite”

Nhóm chung em đã phát triển ứng dụng spVolunteer, nhằm kết nối tình nguyện viên và phục vụ cho các hoạt động xã hội Ứng dụng này giúp người dùng dễ dàng đăng thông tin để kêu gọi sự ủng hộ và quyên góp cho các dự án cộng đồng Điểm nổi bật của spVolunteer là cung cấp công cụ miễn phí cho các tổ chức từ thiện, giúp họ quản lý, kêu gọi và công bố minh bạch các khoản thu-chi với nhà hảo tâm Điều này tạo ra sự khác biệt so với các ứng dụng khác như Facebook, hiến máu hay s4lie.

Các ứng dụng hiện có

1.2.1 Group Facebook “Tặng đồ từ thiện - kết nối yêu thương”

Là một nhóm từ thiện quy mô lớn với hơn 50.000 thành viên, chúng tôi kêu gọi quyên góp và chia sẻ những đồ dùng đã qua sử dụng nhưng vẫn còn giá trị sử dụng.

Người dùng đến group này để xin hỗ trợ trong tình trạng khó khăn hoặc đăng bài để chia sẻ quần áo, giày dép cho những người thiếu thốn

Liên kết group: Go Volunteer Ưu điểm:

- Group đáp ứng được nhu cầu kết nối việc thiện nguyện với mọi người

- Cập nhật nhanh chóng thông tin nhờ tính năng notification của facebook

- Dễ dàng tham gia group và dễ sử dụng

- Có thể nhắn tin trao đổi trực tiếp với nhau

- Vì những bài đăng là tự do nên các bài đăng không có cấu trúc rõ ràng

- Không thể xác thực được độ uy tín của người đứng ra tổ chức dự án thiện nguyện

- Thiên về mảng chia sẻ là chính, chưa hỗ trợ đầy đủ cho việc thiện nguyện

1.2.2 “Zalo Connect” của ứng dụng Zalo

Zalo cung cấp tính năng hỗ trợ người dùng xin giúp đỡ hoặc giúp đỡ người khác trong khu vực gần nhất Tính năng này mang lại nhiều lợi ích cho cộng đồng, giúp kết nối những người cần hỗ trợ với những người sẵn sàng giúp đỡ, tạo ra sự gắn kết và tương tác tích cực trong xã hội.

− Có thể gửi yêu cầu giúp đỡ để mọi người gần bạn thấy và hỗ trợ

− Có thể nhắn tin trực tiếp người người cần hỗ trợ hoặc người hỗ trợ

− Vị trí hiển thị chính xác trên bản đồ

− Hiển thị trạng thái của người được hỗ trợ

− Phân loại các danh mục cần hỗ trợ như:

• Hỗ trợ nhu yếu phẩm

• Hỗ trợ vật dụng y tế Nhược điểm:

− Khó tìm thấy tính năng này

1.2.3 Hiến máu Ứng dụng tra cứu thông tin của người hiến máu, địa điểm hiến máu, trò chuyện trên ứng dụng Ưu điểm:

− Tra cứu thông tin người Hiến máu

− Tra cứu địa điểm hiến máu

− Trò chuyện trên ứng dụng

− Hiện tại app chỉ hướng đến việc hiến máu

1.2.4 Be My Eyes - Helping the blind

Hỗ trợ người mù thông qua kết nối video trực tiếp hoặc được hỗ trợ thông qua mạng lưới người dùng khiếm thị Ưu điểm:

− Kết nối trò chuyện video trực tiếp giữa người mù và những tình nguyện viên

− Hỗ trợ đa ngôn ngữ

− Tình nguyện viên chưa thể chọn khung giờ nhận cuộc gọi

− Chất lượng video có thể chưa được cao

Tính năng "Ví nhân ái" của ứng dụng MoMo cho phép người dùng theo dõi các bài đăng về quyên góp và tiến độ của chúng, đồng thời cung cấp thông tin rõ ràng về mục đích và tổ chức nhận quyên góp.

− Dễ dàng quyên góp tiền thông qua giao dịch trên ví MoMo

− Giao diện rõ ràng, dễ sử dụng

− Nhờ việc hiển thị rõ ràng tên cũng như thông tin của tổ chức từ thiện nên khá uy tín

Vì là một tính năng của ứng dụng MoMo, người dùng có thể không nhận ra hoặc không biết đến các hoạt động thiện nguyện khi chỉ tập trung vào giao dịch.

Nền tảng gây quỹ và quản trị hoạt động thiện nguyện cung cấp nhiều bài đăng đa dạng về gây quỹ, sự kiện và các hoạt động tình nguyện Các hoạt động thiện nguyện được phân loại thành từng danh mục riêng biệt, giúp người dùng dễ dàng tìm kiếm và tham gia.

− Tài nguyên đất Ưu điểm:

− Giao diện rõ ràng, dễ sử dụng

− Dễ dàng tạo bài đăng

− Người dùng có thể tự tạo hoạt động gây quỹ và các sự kiện

− Các bài đăng đều có tag mục đích để dễ dàng theo dõi bài đăng có mục đích gì.

Tóm lược

Sau khi khảo sát các ứng dụng thiện nguyện hiện có trên thị trường, chúng ta có thể tổng hợp và so sánh các chức năng chính của chúng như sau:

Bảng 1.1: Bảng so sánh chức năng của các ứng dụng thiện nguyện

Tham gia vào chiến dịch ✓ x ✓ x ✓ x ✓

Quản lý chiến dịch ✓ x x x ✓ x ✓ Đánh giá tình nguyện viên x x x x x x ✓

Xác thực độ tin cậy người dùng x ✓ ✓ ✓ x x ✓

Mục tiêu

Sau khi nghiên cứu và phân tích nhiều ứng dụng thực tế, tôi đã rút ra những tính năng hữu ích và bổ sung thêm nhiều đặc điểm mới nhằm xây dựng một mạng xã hội hiệu quả, giúp kết nối các tình nguyện viên một cách tốt nhất.

− Hỗ trợ quyên góp trực tiếp tới hoàn cảnh khó khăn

− Xác thực các tổ chức, cá nhân thành lập hoạt động tình nguyện

− Hiển thị tiến độ dự án

− Hiển thị phạm vi vùng miền được hỗ trợ với hoạt động, chiến dịch

− Phân loại danh mục tác động của chiến dịch thiện nguyện (môi trường, giáo dục, văn hóa, sức khỏe)

Bài đăng chiến dịch thiện nguyện có thể được phân loại theo nhiều mục đích khác nhau, bao gồm quyên góp tiền để hỗ trợ các hoạt động từ thiện, tìm kiếm tình nguyện viên để tham gia vào các dự án cộng đồng, kêu gọi người hiến máu nhằm đáp ứng nhu cầu cấp thiết trong y tế, và quyên góp những vật phẩm cũ như sách, quần áo để giúp đỡ những người có hoàn cảnh khó khăn.

− Tạo chiến dịch tình nguyện (tạo hoạt động tình nguyện)

− Tham gia chiến dịch tình nguyện (đóng góp tài sản, quyên góp vật phẩm như sách, quần áo)

− Theo dõi các sự kiện, chiến dịch đang và sắp diễn ra

− Gửi tin nhắn, nhận tin nhắn

− Đăng bài viết lên trang các nhân

− Người dùng đăng nhập và đăng ký tài khoản.

Phạm vi ứng dụng

Sản phẩm mạng xã hội dành cho thiện nguyện là ứng dụng trên nền tảng Android, giúp tổ chức kết nối với tình nguyện viên, quản lý thời gian và số lượng tham gia các hoạt động thiện nguyện Ứng dụng hỗ trợ trao đổi trực tiếp giữa tổ chức và tình nguyện viên, đồng thời kết nối tình nguyện viên với các hoạt động do nhà hảo tâm tạo ra Tình nguyện viên có cơ hội tham gia vào ban quản trị để hỗ trợ quản lý các hoạt động thiện nguyện trong chiến dịch.

Sản phẩm chủ yếu nhằm kết nối tình nguyện viên với các ban tổ chức và nhà hảo tâm, đồng thời cung cấp chức năng chat online để trao đổi trực tiếp.

TỔNG QUAN CÔNG NGHỆ

React Native, Redux Toolkit, Redux-Saga

React Native, được phát triển bởi Facebook, ban đầu nhằm phục vụ cho mạng xã hội, đã trở thành một framework mạnh mẽ cho phát triển ứng dụng di động đa nền tảng Hiện tại, React Native hỗ trợ phát triển ứng dụng cho hệ điều hành Android và iOS, ít hơn so với Ionic, vốn hỗ trợ cả Android, iOS và Windows Phone Nhiều ứng dụng nổi tiếng như Facebook, Instagram và Skype đã được xây dựng bằng React Native, nhấn mạnh tính linh hoạt và hiệu quả của framework này.

− React native có lượng người dùng là lập trình viên rất đông, vì vậy các vấn đề sẽ được giải quyết một cách nhanh chóng

Hình 2.1: Logo ứng dụng React Native

− Khả năng tái sử dụng các đoạn mã, và các thành phần được phát triển sẵn

− React native có khả năng chạy trên cả 2 môi trường hệ điều hành là Android và IOS

− Vẫn đòi hỏi native code

− Hiệu năng sẽ thấp hơn với app thuần native code

− Bảo mật không cao do dựa trên JavaScripts

− Khả năng tùy biến cũng không thực sự tốt đối với một vài module

Redux là thư viện JavaScript chuyên quản lý trạng thái ứng dụng, dựa trên kiến trúc Flux do Facebook phát triển Nhờ vào sự tương thích cao, Redux thường được kết hợp hoàn hảo với React (bao gồm cả React Js và React Native).

Redux Toolkit là một thư viện giúp mình viết Redux tốt hơn, dễ hơn và gọn gàng hơn

Redux-Saga là một middleware trong Redux, giúp đơn giản hóa việc quản lý các side effect trong ứng dụng Thư viện này tận dụng tối đa tính năng Generators (function*) của ES6, cho phép lập trình viên viết mã bất đồng bộ mà trông giống như mã đồng bộ.

Redux-Saga đơn giản được dùng để xử lý tất cả những vấn đề bất đồng bộ xảy ra ở reducer, hay đọc dữ liệu từ bộ nhớ, …

Hình 2.2: Cách hoạt động của Redux Toolkit

Hình 2.3: Cách hoạt động của Redux-Saga

NestJs và MongoDB

NestJs là một framework mạnh mẽ dành cho việc phát triển ứng dụng phía máy chủ trên nền tảng NodeJs, sử dụng JavaScript và hỗ trợ đầy đủ TypeScript Với kiến trúc hướng đối tượng (OOP), Nest cung cấp mức độ trừu tượng cao hơn so với các framework NodeJs khác như Express và Fastify, đồng thời cho phép hiển thị trực tiếp các API cho các nhà phát triển Điều này tạo điều kiện cho việc tích hợp dễ dàng các module bên thứ ba, mang lại sự linh hoạt trong quá trình phát triển ứng dụng.

MongoDB là một cơ sở dữ liệu NoSQL hướng tài liệu, sử dụng các tài liệu tương tự như JSON, mang lại tính linh hoạt và khả năng thích ứng cao với các yêu cầu của dự án Hơn nữa, MongoDB hỗ trợ tính năng Indexing, giúp cải thiện hiệu suất tìm kiếm hiệu quả trong cơ sở dữ liệu.

Firebase Cloud Messaging và SocketIO

Firebase là nền tảng cơ sở dữ liệu đám mây do Google phát triển, giúp tạo ra các ứng dụng web và di động Được thành lập vào năm 2011 như một công ty độc lập, Firebase đã được Google mua lại vào năm 2014 và trở thành sản phẩm chủ lực trong phát triển ứng dụng Nền tảng này hỗ trợ lập trình viên đơn giản hóa các thao tác liên quan đến cơ sở dữ liệu.

Firebase Cloud Messaging is a key feature of Firebase that enables the delivery of notifications along with data from the server directly to the user's app.

SocketIO là 1 module NodeJS giúp cho việc giao tiếp giữa Server và Client diễn ra tức khắc và chiếm ít tài nguyên nhất Ưu điểm:

− Kết nối tự động đến server

− Cho phép tạo kênh và phòng

− Client và Server giao tiếp ngay tức khắc

PHÂN TÍCH THIẾT KẾ ỨNG DỤNG

Phân tích ứng dụng

3.1.1 Danh sách yêu cầu của hệ thống và Use case

Bảng 3.1: Danh sách yêu cầu ứng dụng

STT Tên yêu cầu Ghi chú

1 Đăng nhập, đăng ký Được xây dựng trên nền tảng Android

2 Tạo chiến dịch thiện nguyện Được xây dựng trên nền tảng Android Ban tổ chức có thể tạo chiến dịch để tìm kiếm tình nguyện viên

3 Tham gia chiến dịch thiện nguyện Được xây dựng trên nền tảng Android Các tình nguyện viên sẽ tham gia vào các hoạt động phù hợp

Quản lý chiến dịch trên nền tảng Android cho phép ban tổ chức kiểm soát hiệu quả số lượng người tham gia và các nhóm trong chiến dịch.

5 Trao đổi trực tuyến Được xây dựng trên nền tảng Android Giúp mọi người trong chiến dịch có thể trao đổi trực tuyến với nhau

6 Đánh giá tình nguyện viên Được xây dựng trên nền tảng Android Đánh giá mức độ tham gia chiến dịch của những tình nguyện viên

Sơ đồ 3.1: Sơ đồ Use case

Bảng 3.2: Bảng danh sách Use case

STT Tên Use case Ghi chú

1 Đăng nhập, đăng kí Cho phép người dùng đăng nhập, đăng kí vào hệ thống

2 Tạo chiến dịch Khởi tạo chiến dịch thiện nguyện

Ban tổ chức chiến dịch cần thiết lập nghiệp vụ xây dựng để hiệu quả quản lý số lượng tình nguyện viên, thời gian diễn ra chiến dịch, và các nhóm tham gia.

4 Xem thông tin tình nguyện viên

Cho phép xem các thông tin cơ bản của tình nguyện viên và mức độ tin cậy của tình nguyện viên

5 Đánh giá tình nguyện viên Thực hiện đánh giá tình nguyện viên thông qua độ tích cực khi tham gia chiến dịch

6 Kết bạn Kết nối với những người tham gia hệ thống

7 Xem danh sách những chiến dịch đã tham gia

Hỗ trợ xuất danh sách, thống kê lại số lượng chiến dịch đã tham gia

Nghiệp vụ xây dựng dành cho tình nguyện viên để các tình nguyện viên có thể tìm kiếm các chiến dịch phù hợp với bản thân

9 Theo dõi chiến dịch Theo dõi những hoạt động đã và đang xảy ra trong chiến dịch

10 Đánh giá Đánh giá mức độ hỗ trợ của ban tổ chức đối với các tình nguyện viên

11 Tham gia chiến dịch Trở thành thành viên trong chiến dịch

Bảng 3.3: Đặc tả chức năng đăng nhập Đăng nhập

Tên Use case Đăng nhập

Mô tả Đăng nhập tài khoản của người dùng

Người thực hiện Người dùng Điều kiện trước xử lý Hệ thống khởi động thành công

Sau khi xử lý, nếu người dùng đăng nhập thành công, họ sẽ được phép truy cập vào hệ thống và thấy các chức năng sẵn có Ngược lại, trong trường hợp đăng nhập thất bại, hệ thống sẽ thông báo lỗi về tài khoản hoặc mật khẩu và yêu cầu người dùng quay lại trang đăng nhập.

Các bước thực hiện Chương 3 Bật ứng dụng, hiển thị màn hình đăng nhập cho người dùng

Chương 4 Người dụng nhập tên tài khoản và mật khẩu

Chương 5 Ấn nút “Đăng nhập”

Chương 6 Hiển thị kết quả đăng nhập Nếu thành công sẽ vào trang chủ của ứng dụng

Dòng sự kiện chính Hiển thị màn hình đăng nhập

Người dùng nhập tên đăng nhập và mật khẩu

Dòng sự kiện khác Hệ thống kiểm tra xem tài khoản có trong cơ sở dữ liệu hay không

Nếu sai thông tin đăng nhập sẽ báo lại cho người dùng

Yêu cầu nhập lại thông tin đăng nhập

Yêu cầu đặc biệt Tài khoản người dùng phải được xác thực số điện thoại và email đăng nhập Phi chức năng

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.4: Bảng đặc tả chức năng tạo chiến dịch

Tên Use case Tạo chiến dịch

Mô tả Khởi tạo chiến dịch thiện nguyện

Người thực hiện Người dùng Điều kiện trước xử lý Đăng nhập thành công vào ứng dụng

Sau xử lý Thành công: chiến dịch được tạo ra và hiển thị ở trang chủ của ứng dụng

Thất bại: thông báo tạo chiến dịch thất bại

Các bước thực hiện 1 Sau khi đăng nhập thành công người dùng sẽ được chuyển đến giao diện trang chủ, ở đây sẽ có nút để khởi tạo chiến dịch

2 Ấn nút khởi tạo chiến dịch

3 Điền thông tin cho chiến dịch (ngày bắt đầu, ngày kết thúc, địa điểm bắt đầu, địa điểm kết thúc, số lượng tình nguyện viên tham gia mong muốn)

Dòng sự kiện chính Hiển thị màn hình tạo chiến dịch Điền đầy đủ thông tin chiến dịch

Chiến dịch vừa được tạo sẽ hiển thị trên trang chủ

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.5: Đặc tả chức năng xem danh sách chiến dịch

Xem danh sách chiến dịch

Tên Use case Xem danh sách chiến dịch đã tham gia

Mô tả Cho người dùng xem dách sách những chiến dịch đã tham gia trong một khoảng thời gian lựa chọn

Người thực hiện Người dùng Điều kiện trước xử lý Đăng nhập thành công vào ứng dụng

Sau xử lý Hiển thị danh sách các chiến dịch đã tham gia

Các bước thực hiện 1 Chọn màn hình chiến dịch đã tham gia

2 Xem thông tin về chiến dịch đã tham gia

3 Chọn chiến dịch cụ thể

4 Xem chi tiết chiến dịch

Dòng sự kiện chính Chọn xem danh sách chiến dịch đã tham gia

Chọn xem chi tiết chiến dịch Dòng sự kiện khác

Yêu cầu đặc biệt Cần thông tin chi tiết của chiến dịch Phi chức năng

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.6: Đặc tả chức năng xuất Excel

Tên Use case Xuất Excel các chiến dịch đã tham gia

Mô tả Cho phép người dùng tải file Excel danh sách chiến dịch đã tham gia theo định dạng file Excel

Người thực hiện Người dùng Điều kiện trước xử lý Đã tham gia chiến dịch

Sau xử lý Thành công: Tải xuống file Excel các chiến dịch đã tham gia

Thất bại: thông báo xuất file Excel thất bại

Các bước thực hiện 1 Chọn màn hình danh sách các chiến dịch đã tham gia

2 Chọn các chiến dịch để thêm vào file Excel

3 Tải xuống file Excel có tất cả các chiến dịch đã chọn

Dòng sự kiện chính Hiển thị màn hình danh sách các chiến dịch đã tham gia

Chọn các chiến dịch cần để thêm vào file Excel

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.7: Đặc tả chức năng trao đổi trực tuyến

Tên Use case Trao đổi trực tuyến

Mô tả Cho phép người dùng trao đổi trực tuyến thời gian thực với tình nguyện viên hoặc với những bạn bè trong ứng dụng

Người thực hiện Người dùng Điều kiện trước xử lý Đăng nhập thành công vào ứng dụng Sau xử lý

Các bước thực hiện 1 Chọn trang tin nhắn

2 Chọn nhóm chat muốn trao đổi

3 Bắt đầu trao đổi trực tiếp thông qua nhóm chat

Dòng sự kiện chính Hiển thị màn hình tin nhắn

Chọn nhóm chat cần trao đổi

Dòng sự kiện khác Tạo nhóm chat với những người liên quan

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.8: Đặc tả chức năng đánh giá Đánh giá

Tên Use case Đánh giá tình nguyện viên, ban tổ chức

Mô tả Cho phép người dùng đánh giá tình nguyện viên/ban tổ chức có tham gia vào chiến dịch

Người thực hiện Người dùng Điều kiện trước xử lý Đã tham gia vào chiến dịch

Các bước thực hiện 1 Sau khi đăng nhập thành công người dùng sẽ được chuyển đến giao diện trang chủ, ở đây sẽ có nút để khởi tạo chiến dịch

2 Ấn nút khởi tạo chiến dịch

3 Điền thông tin cho chiến dịch (ngày bắt đầu, ngày kết thúc, địa điểm bắt đầu, địa điểm kết thúc, số lượng tình nguyện viên tham gia mong muốn)

Dòng sự kiện chính Hiển thị màn hình tạo chiến dịch Điền đầy đủ thông tin chiến dịch

Chiến dịch vừa được tạo sẽ hiển thị trên trang chủ

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.9: Đặc tả chức năng quản lý chiến dịch

Tên Use case Quản lý chiến dịch

Mô tả Cho phép ban tổ chức quản lý chiến dịch của mình

Người thực hiện Người dùng (ban tổ chức) Điều kiện trước xử lý Người dùng tạo thành công chiến dịch Sau xử lý

Các bước thực hiện 1 Mời người dùng tham gia chiến dịch

2 Tạo các nhóm nhỏ trong chiến dịch

3 Tạo các bài đăng cập nhật tiến độ chiến dịch

4 Tạo nhóm chat cho chiến dịch

5 Tạo thông báo cho những tình nguyện viên tham gia biết chiến dịch sắp diễn ra

6 Chấp nhận yêu cầu tham gia chiến dịch của tình nguyện viên

Dòng sự kiện chính Quản lý tình nguyện viên trong chiến dịch

Quản lý các hoạt động xảy ra trong chiến dịch

Yêu cầu đặc biệt Cần là người trong ban tổ chức

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.10: Đặc tả chức năng kết nối

Tên Use case Kết bạn

Mô tả Cho phép người dùng kết nối với những người dùng khác sử dụng ứng dụng

Người thực hiện Người dùng Điều kiện trước xử lý Người dùng đăng nhập thành công vào chiến dịch

Sau xử lý Trở thành bạn bè với người sử dụng ứng dụng

Các bước thực hiện 1 Tìm kiếm người dùng muốn kết bạn

2 Gửi lời mời kết bạn với người dùng khác

3 Người dùng còn lại chấp nhận lời mời kết bạn

Dòng sự kiện chính Tìm kiếm người dùng

Gửi lời mời kết bạn

Ghi chú và vấn đề Thực hiên trên nền tảng di động

Bảng 3.11: Đặc tả chức năng tham gia chiến dịch

Tên Use case Tham gia chiến dịch

Mô tả Cho phép tình nguyện viên tham gia vào chiến dịch tình nguyện

Người thực hiện Người dùng (tình nguyện viên) Điều kiện trước xử lý Người dùng đăng nhập thành công vào ứng dụng

Sau xử lý Tình nguyện viên tham gia vào chiến dịch

Các bước thực hiện 1 Tìm kiếm các chiến dịch đang và sắp diễn ra

2 Gửi yêu cầu tham gia vào chiến dịch

3 Gửi thông báo yêu cầu đến ban tổ chức chiến dịch

4 Nếu ban tổ chức chấp nhận yêu cầu tham gia người dùng sẽ nhận được thông báo

Dòng sự kiện chính Tìm kiếm chiến dịch

Gửi yêu cầu tham gia chiến dịch

Ghi chú và vấn đề Thực hiên trên nền tảng di động

3.1.2 Sơ đồ hoạt động chức năng

3.1.2.1 Sơ đồ hoạt động chức năng tạo nhóm

Sơ đồ 3.2: Sơ đồ hoạt động mô tả chức năng tạo nhóm

3.1.2.2 Sơ đồ hoạt động chức năng tham gia nhóm

Sơ đồ 3.3: Sơ đồ hoạt động chức năng tham gia nhóm

3.1.2.3 Sơ đồ hoạt động chức năng tạo chiến dịch

Sơ đồ 3.4: Sơ đồ hoạt động chức năng tạo chiến dịch

3.1.2.4 Sơ đồ hoạt động chức năng tham gia chiến dịch

Sơ đồ 3.5: Sơ đồ hoạt động chức năng tham gia chiến dịch

3.1.2.5 Sơ đồ hoạt động mời tham gia chiến dịch

Sơ đồ 3.6: Sơ đồ hoạt động chức năng mời tham gia chiến dịch

3.1.2.6 Sơ đồ hoạt động chức năng thêm tình nguyện viên vào ban tổ chức

Sơ đồ 3.7: Sơ đồ hoạt động chức năng thêm tình nguyện viên vào ban tổ chức

3.1.2.7 Sơ đồ hoạt động chức năng đánh giá người tham gia chiến dịch

Sơ đồ 3.8: Sơ đồ hoạt động chức năng đánh giá người tham gia

3.1.2.8 Sơ đồ hoạt động chức năng xét duyệt tham gia chiến dịch

Sơ đồ 3.9: Sơ đồ hoạt động chức năng xét duyệt người tham gia

3.1.2.9 Sơ đồ hoạt động chức năng tạo bài đăng trong chiến dịch

Sơ đồ 3.10: Sơ đồ hoạt động chức năng tạo bài đăng trong chiến dịch

3.1.2.10 Sơ đồ hoạt động chức năng tạo bài đăng trong nhóm của chiến dịch

Sơ đồ 3.11: Sơ đồ hoạt động chức năng tạo bài đăng trong nhóm

3.1.2.11 Sơ đồ hoạt động chức năng xuất excel

Sơ đồ 3.12: Sơ đồ hoạt động chức năng xuất excel hoạt động tham gia

Thiết kế ứng dụng

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

Sơ đồ 3.13: Sơ đồ thiết kế cơ sở dữ liệu

1 User Bảng tượng trưng cho người dùng

2 User Friends Bảng tượng trưng cho mối quan hệ giữa các người dùng

3 User Participate Bảng tượng trưng cho việc user đã tham gia chiến dịch

4 Notification Bảng tượng trưng cho thông báo của người dùng

5 Conversation Bảng tượng trưng cho nhóm chat của người dùng

6 Message Bảng tượng trưng cho tín nhắn trong nhóm chat

7 Activities Bảng tượng trưng cho chiến dịch thiện nguyện

8 Post Bảng tượng trưng cho những bài đăng cập nhật thông tin chiến dịch

9 Comment Bảng tượng cho những bình luận trong bài đăng

10 Group Bảng tượng trưng cho các nhóm ở trong chiến dịch

11 Member Bảng tượng trưng cho người dùng đã tham gia nhóm

Bảng 3.13: Danh sách thuộc tính bảng User

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 Email String Private Tên tài khoản và email người dùng

3 Password String Private Mật khẩu của người dùng

4 AvatarUrl String Private Ảnh đại diện của người dùng

5 CoverUrl String Private Ảnh nền của người dùng

6 FriendCount Number Private Số lượng bạn bè của người dùng

7 ActivityCount Number Private Số lượng chiến dịch được tạo bởi người dùng

8 Gender Enum Private Giới tính

9 Intro String Private Đoạn giới thiệu bản thân

10 IsActive Boolean Private Người dùng có đang online bằng ứng dụng hay không

11 LastLogin Date Private Lần đăng nhập gần nhất

12 IdentityFront String Private Mặt trước của CMND

13 IdentityBack String Private Mặt sau của CMND

14 AverageRating Number Private Điểm đánh giá trung bình

17 Dob Date Private Ngày sinh

18 PhoneNumber String Private Số điện thoại

19 Address String Private Địa chỉ

20 IsVerifyEmail Boolean Private Xác nhận email

21 IsVerifyPhone Boolean Private Xác nhận SĐT

22 GetInfo Void Public Lấy thông tin người dùng

23 Login Void Public Đăng nhập

24 Logout Void Public Đăng xuất

Bảng 3.14: Danh sách thuộc tính bảng User Friend

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 SourceId String Private Mã người dùng

3 TargetId String Private Mã người dùng

4 Status Enum Private Tình trạng quan hệ giữa 2 người dùng

5 GetFriend Void Public Danh sách bạn bè

6 GetFriendRequest Void Public Danh sách lời mời kết bạn

Void Public Chấp nhận lời mời kết bạn

8 CreateFriendRequest Void Public Gửi lời mời kết bạn

9 DeleteFriend Void Public Xóa bạn

Bảng 3.15: Danh sách thuộc tính bảng User Participate

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 UserId String Private Mã user

3 ActivityId String Private Mã chiến dịch

4 Status String Private Trạng thái

6 GetParticipates Void Public Lấy danh sách tình nguyện viên tham gia chiến dịch

Void Public Lấy danh sách tình nguyện viên muốn tham gia chiến dịch

8 AcceptParticipate Void Public Xác nhận tình nguyện viên tham gia chiến dịch

9 Rating Void Public Đánh giá tình nguyện viên

Bảng 3.16: Danh sách thuộc tính bảng Notification

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 UserId String Private Mã user

3 NotificationType Enum Private Loại thông báo

String Private Nội dung của thông báo

5 IsRead Boolean Private Xác nhận đã xem thông báo

6 GetNotification Void Public Lấy danh sách thông báo

7 ReadNotification Void Public Đã xem thông báo

Bảng 3.17: Danh sách thuộc tính bảng Conversation

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 CreatorId String Private Mã người dùng

3 ActivityId String Private Mã chiến dịch

4 GroupId String Private Mã nhóm

5 Title String Private Tên nhóm chat

6 ParticipantIds List Private Danh sách mã người dùng có trong nhóm chat

7 LastestMessageId String Private Mã tin nhắn mới nhất trong nhóm

8 GetConversations Void Public Lấy danh sách các nhóm chat

Bảng 3.18: Danh sách thuộc tính bảng Message

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 ConversationId String Private Mã nhóm chat

3 SenderId String Private Mã người dùng

4 Message String Private Tin nhắn

5 GetMessage Void Public Lấy danh sách tin nhắn

6 SendMessage Void Public Gửi tin nhắn

Bảng 3.19: Danh sách thuộc tính bảng Group

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 CreatorId String Private Mã người dùng

3 ActivityId String Private Mã chiến dịch

4 GroupName String Private Tên nhóm

5 Info String Private Thông tin nhóm

6 TotalMember String Private Tổng thành viên trong nhóm

7 GetGroups Void Public Lấy danh sách nhóm

8 GetGroupInfo Void Public Lấy thông tin nhóm

9 GetGroupPosts Void Public Lấy danh sách bài đăng trong nhóm

Bảng 3.20: Danh sách thuộc tính bảng Member

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 GroupId String Private Mã nhóm

3 UserId String Private Mã người dùng

4 Role String Private Phân quyền thành viên trong nhóm

5 GetMembers Void Public Lấy danh sách thành viên trong nhóm

Bảng 3.21: Danh sách thuộc tính bảng Activity

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 UserId String Private Mã người dùng

3 Description String Private Mô tả chiến dịch

3 ImageUrls List Private Hình ảnh chiến dịch

4 VideoUrls List Private Video chiến dịch

5 Tag String Private Loại chiến dịch

6 CurrentProgress Number Private Chỉ tiêu hiện tại

7 Goal Number Private Chỉ tiêu cần đạt được

8 From Date Private Ngày bắt đầu

9 To Date Private Ngày kết thúc

10 StartPoint Geolocation Private Địa điểm bắt đầu

11 EndPoint Geolocation Private Địa điểm kết thúc

Number Private Số lượng tình nguyện viên trong chiến dịch

13 Latitude Location Private Vĩ độ nơi tạo bài

14 Longitude Location Private Kinh độ nơi tạo bài

15 UsersLikeActivity List Private Mã người dùng đã thích chiến dịch

List Private Mã người dùng theo dõi chiến dịch

17 UsersOrganize List Private Mã người dùng trong ban tổ chức

18 GetActivities Void Public Lấy danh sách chiến dịch

19 GetActivityInfo Void Public Lấy thông tin chiến dịch

Void Public Lấy danh sách ban tổ chức

21 FollowActivity Void Public Theo dõi chiến dịch

22 LikeActivity Void Public Thích chiến dịch

Bảng 3.22: Danh sách thuộc tính bảng Post

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 UserId String Private Mã người dùng

3 GroupId String Private Mã nhóm

4 ActivityId String Private Mã chiến dịch

5 Description String Private Nội dung bài đăng

6 ImageUrls List Private Hình ảnh của bài đăng

7 TotalComment Number Private Tổng lượt bình luận

8 TotalLike Number Private Tổng lượt thích

9 UsersLikePost List Private Mã người dùng đã like post

10 GetPosts Void Public Lấy danh sách bài đăng

11 GetActivityPosts Void Public Lấy danh sách bài đăng trong chiến dịch

12 GetGroupPosts Void Public Lấy danh sách bài đăng trong nhóm

13 CreatePost Void Public Tạo bài đăng

Bảng 3.23: Danh sách thuộc tính bảng Comment

STT Tên thuộc tính Kiểu Truy cập Ý nghĩa/Ghi chú

1 _ID String Private Giá trị định danh

2 PostId String Private Mã bài đăng

3 UserId String Private Mã người dùng

4 Content String Private Nội dung bình luận

3.2.2.1 Sơ đồ, danh sách màn hình liên kết

Hình 3.1: Sơ đồ màn hình liên kết

Mô tả các màn hình trên sơ đồ:

Bảng 3.24: Bảng danh sách các màn hình với quyền của người dùng hệ thống

1 Đăng nhập Thực hiện chức năng đăng nhập, có hỗ trợ xác thực tài khoản bằng email + số điện thoại

2 Trang cá nhân Hiển thị thông tin cá nhân, bài đăng của cá nhân

3 Cài đặt thông báo Cài đặt nhận thông báo từ hệ thống

4 Quản lý thông tin tài khoản

Hiển thị thông tin của người dùng hệ thống, và cho phép người dùng chỉnh sửa các thông tin này

5 Trang chủ Hiển thị các thông tin của tất cả chiến dịch gần bạn

6 Tạo chiến dịch Hiển thị màn hình tạo mới một chiến dịch

7 Chiến dịch chi tiết Hiển thị chi tiết đầy đủ của một chiến dịch như số lượng người tham gia, mô tả, thời gian biểu, …

8 Mời người tham gia chiến dịch

Mời bạn bè tham gia vào chiến dịch Và đánh giá người đã tham gia

9 Cho phép người tham gia làm ban quản trị

Những bạn bè đã tham gia có thể mời họ làm ban quản trị

10 Mời bạn bè tham gia chiến dịch

Mời bạn bè tham gia vào chiến dịch Và đánh giá người đã tham gia

11 Thời gian biểu Bảng biểu thời gian hoạt động của chiến dịch, và thông báo tới người dùng khi hoạt động sắp diễn ra

12 Tạo thời gian biểu Hiển thị màn hình tạo mới thời gian biểu dành cho chủ chiến dịch

13 Tạo bài đăng ở chiến dịch

Tạo mới bài đăng trong màn hình chi tiết chiến dịch

14 Hoạt động nhóm Danh sách màn hình các nhóm bên trong chiến dịch

15 Tạo bài đăng trong nhóm

Tạo mới bài đăng trong màn hình nhóm

16 Quản lý thành viên nhóm

Hiển thị thông tin các thành viên trong nhóm

17 Bản tin Hiển thị các bài đăng từ chiến dịch và nhóm

18 Bài đăng chi tiết Hiển thị phần bình luận từ mọi người

19 Thông báo Hiển thị tất cả thông báo từ hệ thống

20 Lời mời kết bạn Hiển thị lời mời kết bạn

21 Yêu cầu tham gia chiến dịch

Hiển thị yêu cầu tham gia chiến dịch

22 Yêu cầu tham gia nhóm Hiển thị yêu cầu tham gia nhóm

23 Hoạt động đã tham gia Hiển thị các hoạt động đã tham gia cùng phần đánh giá từ ban quản trị

24 Xuất excel Xuất ra tất cả các thông tin từ màn hình excel

25 Tìm kiếm Màn hình tìm kiếm với bộ lọc và phần từ khoá

26 Tìm kiếm bài viết Tìm kiếm bài viết với bộ lọc bài viết và từ khoá

27 Tìm kiếm người dùng Tìm kiếm bài viết với bộ lọc mọi người và từ khoá

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

Ngày đăng: 24/12/2021, 22:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] RESTful API: “RESTful API là gì? Cách thiết kế RESTful API”, https://topdev.vn/blog/restful-api-la-gi/, https://jsonapi.org/Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: RESTful API là gì? Cách thiết kế RESTful API
[1] Fontawesome: “Fontawesome docs”, https://fontawesome.com/ Sách, tạp chí
Tiêu đề: Fontawesome docs
[2] JSON: “JSON with Ajax”, https://www.tutorialspoint.com/json/json_ajax_example.htm Sách, tạp chí
Tiêu đề: JSON with Ajax
[3] Git Tutorial: “Learn GIT simply easy learning”, https://www.tutorialspoint.com/git/index.htm [4] MongoDB: “MongoDB NodeDriver”, https://docs.mongodb.com/drivers/node/current/ Sách, tạp chí
Tiêu đề: Learn GIT simply easy learning”, https://www.tutorialspoint.com/git/index.htm [4] MongoDB: “MongoDB Node Driver
[5] NodeJS: “”NodeJS docs”, https://nodejs.org/en/docs/ Sách, tạp chí
Tiêu đề: ”NodeJS docs
[7] SocketIO: “SocketIO docs”, https://socket.io/ Sách, tạp chí
Tiêu đề: SocketIO docs
[8] React Native: “React native docs”, https://reactnative.dev/ Sách, tạp chí
Tiêu đề: React native docs
[9] React native element: “React native elements docs”, https://reactnativeelements.com/ Sách, tạp chí
Tiêu đề: React native elements docs
[10] React navigation: “React navigation docs”, https://reactnavigation.org/docs/bottom-tab-navigator/ Sách, tạp chí
Tiêu đề: React navigation docs
[6] Postman:” Use Postman to test API calls”, https://developer.mypurecloud.com/api/rest/postman/index.html Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Hình ảnh thống kê của “We are social Hootsuite” - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Hình 1.1 Hình ảnh thống kê của “We are social Hootsuite” (Trang 12)
Hình 2.3: Cách hoạt động của Redux-Saga - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Hình 2.3 Cách hoạt động của Redux-Saga (Trang 18)
Hình 2.4: Các tính năng chính của Firebase  Firebase Cloud Messaging là một trong những chức năng chính của Firebase dùng - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Hình 2.4 Các tính năng chính của Firebase Firebase Cloud Messaging là một trong những chức năng chính của Firebase dùng (Trang 19)
Bảng 3.1: Danh sách yêu cầu ứng dụng - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Bảng 3.1 Danh sách yêu cầu ứng dụng (Trang 21)
Sơ đồ 3.1: Sơ đồ Use case - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Sơ đồ 3.1 Sơ đồ Use case (Trang 22)
Bảng 3.3: Đặc tả chức năng đăng nhập - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Bảng 3.3 Đặc tả chức năng đăng nhập (Trang 24)
Bảng 3.6: Đặc tả chức năng xuất Excel - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Bảng 3.6 Đặc tả chức năng xuất Excel (Trang 26)
Bảng 3.7: Đặc tả chức năng trao đổi trực tuyến - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Bảng 3.7 Đặc tả chức năng trao đổi trực tuyến (Trang 27)
Bảng 3.8: Đặc tả chức năng đánh giá - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Bảng 3.8 Đặc tả chức năng đánh giá (Trang 28)
Bảng 3.11: Đặc tả chức năng tham gia chiến dịch - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Bảng 3.11 Đặc tả chức năng tham gia chiến dịch (Trang 30)
3.1.2.1. Sơ đồ hoạt động chức năng tạo nhóm - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
3.1.2.1. Sơ đồ hoạt động chức năng tạo nhóm (Trang 31)
Sơ đồ 3.2: Sơ đồ hoạt động mô tả chức năng tạo nhóm - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
Sơ đồ 3.2 Sơ đồ hoạt động mô tả chức năng tạo nhóm (Trang 31)
3.1.2.2. Sơ đồ hoạt động chức năng tham gia nhóm - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
3.1.2.2. Sơ đồ hoạt động chức năng tham gia nhóm (Trang 32)
3.1.2.4. Sơ đồ hoạt động chức năng tham gia chiến dịch - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
3.1.2.4. Sơ đồ hoạt động chức năng tham gia chiến dịch (Trang 33)
3.1.2.6. Sơ đồ hoạt động chức năng thêm tình nguyện viên vào ban tổ chức - KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI KẾT NỐI TÌNH NGUYỆN
3.1.2.6. Sơ đồ hoạt động chức năng thêm tình nguyện viên vào ban tổ chức (Trang 34)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w