Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
1,15 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN ĐỀ TÀI: ỨNG DỤNG KẾT NỐI CỘNG ĐỒNG THIỆN NGUYỆN Giảng viên hướng dẫn: HUỲNH HỒ THỊ MỘNG TRINH Sinh viên thực hiện: VŨ NGỌC THẠCH –MSSV: 19520266 HUỲNH THỊ MINH NHỰC –MSSV: 19521973 Thành phố Hồ Chí Minh, tháng 12 năm 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN ĐỀ TÀI: ỨNG DỤNG KẾT NỐI CỘNG ĐỒNG THIỆN NGUYỆN Giảng viên hướng dẫn: HUỲNH HỒ THỊ MỘNG TRINH Sinh viên thực hiện: VŨ NGỌC THẠCH – MSSV: 19520266 HUỲNH THỊ MINH NHỰC – MSSV: 19521973 Thành phố Hồ Chí Minh, tháng 12 năm 2021 Lời cảm ơn Đồ án môn đặt tiền đề cho việc xây dựng khóa luận tốt nghiệp Đây mơn học có nhiều thử thách, đòi hỏi người học phải dành nhiều thời gian, cơng sức để nghiên cứu, tìm tịi xây dựng Đồng thời, hội để sinh viên thực hành học suốt năm đại học học hỏi thêm nhiều kiến thức, kinh nghiệm kỹ phục vụ cho công việc sau Cho nên xem thử thách hội để sinh viên rèn luyện, hoàn thiện thân kĩ tích lũy suốt q trình làm đồ án Để đến đoạn cuối hành trình nỗ lực, cố gắng kiên trì Đồng hành sinh viên vượt qua thử thách có mặt giúp đỡ người thầy tận tâm cơng việc Nhóm xin chân thành cảm ơn cô Huỳnh Hồ Thị Mộng Trinh tận tình giúp đỡ nhóm em hồn thành đồ án Chính nhờ góp ý, động viên giúp đồ án nhóm hồn thiện chun nghiệp nhiều Bên cạnh đó, nhóm học hỏi nhiều kiến thức, kinh nghiệm học thú vị trình làm khố luận, hành trang hữu ích cho nhóm sau Nhóm xin chân thành cảm ơn anh chị, bạn bè giúp đỡ nhóm trình thực đồ án Nhờ người mà nhóm có nhiều góc nhìn khác đề tài làm, từ giúp hồn thiện đồ án nhóm Một lần nữa, nhóm xin chân thành cảm ơn cô người NHẬN XÉT (Của giáo viên hướng dẫn) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………… MỤC LỤC CHƯƠNG I: GIỚI THIỆU CHUNG 1 Đề tài Lý chọn đề tài Tóm tắt đề tài Mục tiêu đề tài Phương pháp nghiên cứu Ý nghĩa hướng đề tài 6.1 Về mặt tài liệu 6.2 Về mặt sản phẩm CHƯƠNG II: CÔNG NGHỆ LIÊN QUAN Flutter 1.1 Giới thiệu Tính bật Flutter: 1.2 Lý sử dụng Firebase 2.1 Giới thiệu 2.2 Lý sử dụng Firebase CHƯƠNG III: MÔ HÌNH USE-CASE Sơ đồ Use-case mức tổng quát Danh sách Use-case Đặc tả Use-case 3.1 Đặc tả Use-case “Create Account” 3.2 Đặc tả Use-case “Login” 3.3 Đặc tả Use-case “Follow User” 3.4 Đặc tả Use-case “Change Information Account” 10 3.5 Đặc tả Use-case “Create Event” 11 3.6 Đặc tả Use-case “Update Event” 12 3.7 Đặc tả Use-case “Delete Event” 13 3.8 Đặc tả Use-case “Create Post” 14 3.9 Đặc tả Use-case “Update Post” 15 3.10 Đặc tả Use-case “Delete Post” 16 3.11 Đặc tả Use-case “Comment Post” 16 3.12 Đặc tả Use-case “Like Post” 17 3.13 Đặc tả Use-case “Joint Event” 18 3.14 Đặc tả Use-case “Search” 19 3.15 Đặc tả Use-case “Search Tag” 19 3.16 Đặc tả Use-case “Search Location” 20 CHƯƠNG IV: PHÂN TÍCH HỆ THỐNG 21 Sơ đồ lớp 21 1.1 Sơ đồ lớp mức phân tích 21 1.2 Danh sách lớp đối tượng 21 1.3 Mô tả lớp đối tượng 22 Sơ đồ liệu 26 2.1 Bảng USER 26 2.2 Bảng IMAGE 27 2.3 Bảng FOLLOW_USER 27 2.4 Bảng EVENT 28 2.5 Bảng FORM_REGISTER 29 2.6 Bảng STATUS_FORM_REGISTER 29 2.7 Bảng FOLLOW_EVENT 30 2.8 Bảng POST 30 2.9 Bảng TAG 31 2.10 Bảng LIKE_POST 31 2.11 Bảng POST_TAG 31 2.12 Bảng IMAGE_POST 32 2.13 Bảng COMMENT_POST 32 CHƯƠNG V: THIẾT KẾ GIAO DIỆN 33 Màn hình giới thiệu 33 Màn hình đăng nhập 34 Màn hình 35 Màn hình Trang chủ 36 Màn hình chi tiết kiện 37 Màn hình Form đăng ký 38 Màn hình Tìm kiếm 39 Màn hình Lịch 40 Màn hình Tạo kiện 41 10 Màn hình Tạo viết 42 11 Màn hình Bạn bè 43 12 Màn hình Hồ sơ người dùng 44 CHƯƠNG VI: TỔNG KẾT 46 Công nghệ sử dụng 46 Độ hoàn thiện chức 46 Kết đạt hướng phát triển 46 3.1 Kết đạt 46 3.2 Hướng phát triển 47 CHƯƠNG VII: BẢNG PHÂN CÔNG CÔNG VIỆC 48 CHƯƠNG VIII: TÀI LIỆU THAM KHẢO 50 CHƯƠNG I: GIỚI THIỆU CHUNG Đề tài - Tên đề tài: Xây dựng ứng dụng kết nối tình nguyện viên - Công nghệ sử dụng: Flutter - Cơ sở liệu sử dụng: Firebase Lý chọn đề tài Đại dịch Covid-19 kéo dài gây ảnh hưởng trực tiếp đến sống người dân nước, đặc biệt tỉnh thành thực thị giãn cách xã hội Nhiều gia đình lâm vào hồn cảnh khó khăn cần hỗ trợ khẩn cấp từ quyền địa phương nhà hảo tâm Nhưng nhiều chiến dịch, kiện tổ chức lại thiếu truyền thơng, thành người tiếp cận đóng góp Nhiều người có tinh thần tình nguyện mong muốn tham gia chương trình đó, lại khơng thể tìm thơng tin cụ thể, qua nhiều bước trung gian Đồng thời chương trình lại thiếu tính xác thực cụ thể, quyên góp gây quỹ khơng biết thơng tin cụ thể rõ ràng người tổ chức Để kết nối lịng hảo tâm tồn quốc đến với người có hồn cảnh khó khăn cách dễ dàng, có thơng tin đáng tin cậy minh bạch, nhóm định phát triển Giải pháp cơng nghệ ứng dụng “Thiện nguyện” Ứng dụng hỗ trợ kết nối người có tinh thần tình nguyện với nhau, kịp thời hiệu thông qua chiến dịch hỗ trợ cộng đồng, giúp họ hiểu biết thêm hồn cảnh nhiều người khác Tóm tắt đề tài Trong thời buổi đại dịch nay, có nhiều hoạt động tình nguyện tổ chức phổ biến rộng rã Thơng tin cịn mơ hồ không kịp cập nhật nhiều tin tức đến cho người Vì cần ứng dụng để kết nối người lại với Ứng dụng thiện nguyện xây dựng để hỗ trợ việc tìm kiếm nhóm tình nguyện khu vực nơi định, thông tin ghi cụ thể công bố cho người tham gia biết đến Ứng dụng giúp cho việc thuận lợi theo dõi hoạt động nhóm, tham gia xây dựng cộng đồng thiện nguyện lớp mạnh Mục tiêu đề tài - Xây dựng ứng dụng Thiện nguyện có tính năng: tạo, theo dõi chương trình tình nguyện, quản lý đăng có kiện, theo dõi hoạt động bạn bè, Qua ứng dụng, người tham gia nhanh chóng tìm chương trình tình nguyện có, thời gian địa điểm tổ chức tình nguyện với xác thực rõ ràng, thơng tin thống đáng tin cậy - Tìm hiểu cơng nghệ thích hợp xây dựng ứng dụng - Hồn thành báo cáo mơn học Phương pháp nghiên cứu - Nghiên cứu ứng dụng có sẵn thị trường, nhận xét ưu khuyết điểm ứng dụng - Nghiên cứu tài liệu đặc tả phần mềm tương tự quản lý bán hàng, chat app, - Tìm hiểu công nghệ thị trường, nhận xét chọn phần mềm thích hợp Ý nghĩa hướng đề tài 6.1 Về mặt tài liệu - Sử dụng nguồn tài liệu tham khảo Flutter, Firebase - Có tài liệu đặc tả use-case, sơ đồ lớp, tuần tự, mơ hình thiết kế giao diện 6.2 Về mặt sản phẩm - Tạo ứng dụng Thiện nguyện có khả kết nối trực tuyến - Xử lý vấn đề hiệu suất ứng dụng cách hiệu - Chức phù hợp với tình hình thực tế dễ sử dụng CHƯƠNG II: CÔNG NGHỆ LIÊN QUAN Flutter 1.1 Giới thiệu Flutter tảng phát triển ứng dụng đa tảng cho iOS Android Google phát triển sử dụng để tạo ứng dụng gốc (native app) cho Google Flutter gồm thành phần quan trọng: - Một SDK (Software Development Kit): Một sưu tập công cụ giúp bạn phát triển ứng dụng Điều bao gồm cơng cụ để biên dịch mã bạn thành mã máy gốc (mã cho iOS Android) - Một Framework (UI Library based on widgets): Một tập hợp thành phần giao diện người dùng (UI) tái sử dụng (button, text inputs, slider, v.v.) giúp bạn cá nhân hóa tùy theo nhu cầu riêng Tính bật Flutter: - Flutter react framework - Sử dụng ngôn ngữ lập trình Dart đơn giản dễ học - Phát triển ứng dụng nhanh - Giao diện người dùng đẹp linh hoạt - Hỗ trợ nhiều widget khác - Thể UI nhiều tảng - Ứng dụng có hiệu cao 1.2 Lý sử dụng Phát triển ứng dụng nhanh chóng: Tính hot reload giúp bạn nhanh chóng dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính sửa lỗi nhanh 36 Màn hình Trang chủ * Mô tả chung xử lý kiện hình: Màn hình hiển thị sau đăng nhập thành cơng, mặc định hình hiển thị tab Trang chủ Các component: - Listview danh sách người dùng hoạt động thường xuyên, cho phép cuộn ngang click chọn xem trang cá nhân người dùng - Listview danh sách kiện mà người dùng theo dõi tổ chức, listview hiển thị theo chiều dọc, cho phép cuộn xuống click chọn xem chi tiết kiện - AppBar hiển thị tên app Meer, button Tìm kiếm, Thơng báo cho phép tìm kiếm xem thơng báo 37 Màn hình chi tiết kiện * Mơ tả chung xử lý kiện hình: Khi click chọn kiện NewFeed, hình tự động điều hướng đến trang Sự kiện Các component: - Background image, Avatar image hiển thị ảnh bìa, ảnh đại diện kiện - Text hiển thị tên kiện - Button Hủy tham gia cho phép hủy tham gia (chỉ hiển thị kiện người dùng tham gia) - Tabbar điều hướng đến hình trang Sự kiện: Trang chủ, giới thiệu, hình ảnh(mặc định Trang chủ) - Màn hình Trang chủ: + Listview hiển thị post kiện, listview cho phép cuộn dọc 38 - Màn hình Giới thiệu: - Các text hiển thị thơng tin chung post + Màn hình Hình ảnh: - Gridview 3*n hiển thị hình ảnh kiện Màn hình Form đăng ký * Mơ tả chung xử lý kiện hình: Màn hình hiển thị sau người dùng click vào Button “Tham gia” trang kiện Các component: - Các textFormField cho phép người dùng nhập thông tin - Button Gửi cho phép người dùng gửi form đăng ký cho chủ kiện - AppBar chứa button Back cho phép trở trang Sự kiện 39 Màn hình Tìm kiếm * Mơ tả chung xử lý kiện hình: Màn hình hiển thị sau người dùng click vào Button “Tham gia” trang kiện Các component: - Thanh search cho phép nhập nội dung tìm kiếm - Listview Tag kiện, cho phép cuộn ngang, nhấn chọn Tag - Listview chứa kết tìm kiếm 40 Màn hình Lịch * Mơ tả chung xử lý kiện hình: Màn hình hiển thị người dùng click vào tab Lịch Bottomtabbar hình Các component: - Thanh Search cho phép nhập nội dung tìm kiếm - Calendar cho phép tìm kiếm kiện theo ngày - Tabbar điều hướng đến loại kiện: tham gia, tổ chức, chờ duyệt 41 Màn hình Tạo kiện * Mô tả chung xử lý kiện hình: Màn hình hiển thị người dùng click vào button NewEvent Các component: - Appbar chứa button Đăng cho phép người dùng đăng kiện lên NewFeed - Bốn TextformField cho phép người dùng nhập tên kiện, thời gian, địa điểm tổ chức, thông tin chung kiện - Hai ImageButton cho phép chọn ảnh bìa, ảnh đại diện kiện - IconButton Tag cho phép chọn tag cho kiện 42 10 Màn hình Tạo viết * Mơ tả chung xử lý kiện hình: Màn hình hiển thị người dùng click vào button NewPost Các component: - Appbar chứa button Đăng cho phép người dùng đăng viết lên Trang kiện - Button Chọn kiện điều hướng sang hình chọn kiện - TextformField cho phép người dùng nhập nội dung viết - Hai ImageButton cho phép chọn ảnh bìa, ảnh đại diện kiện 43 11 Màn hình Bạn bè * Mơ tả chung xử lý kiện hình: Màn hình hiển thị người dùng click vào tab Bạn bè hình Các component: - Thanh search cho phép nhập nội dung tìm kiếm - Listview hiển thị nội dung tìm kiếm, mặc định tất bạn bè 44 12 Màn hình Hồ sơ người dùng * Mô tả chung xử lý kiện hình: Màn hình hiển thị người dùng click vào tab Hồ sơ hình Các component: - Các text hiển thị số thông tin người dùng - Button Chỉnh sửa hồ sơ điều hướng sang hình Chỉnh sửa hồ sơ thực thay đổi thông tin cá nhân 45 - Listview danh sách kiện người dùng tạo tham gia, listview cho phép cuộn dọc, click chọn xem chi tiết kiện 46 CHƯƠNG VI: TỔNG KẾT Công nghệ sử dụng - Cơng nghệ Flutter lập trình dựa ngơn ngữ Dart - Tiện ích Firebase Google: + Cloud Firebase + Firebase Authentication + Realtime Database Độ hoàn thiện chức Tên chức STT Mức độ hoàn thành Đăng ký, đăng nhập 50% Quản lý, theo dõi kiện 50% NewsFeed người dùng 75% Tìm kiếm bạn bè 50% Tạo viết, tạo kiện 100% Quản lý, tùy chỉnh hồ sơ người dùng Ghi 100% Kết đạt hướng phát triển 3.1 Kết đạt Về lý thuyết: - Tìm hiểu nắm quy trình xây dựng ứng dụng mạng xã hội - Tìm hiểu vận dụng kiến thức liên quan đến phương pháp phát triển phần mềm hướng đối tượng, quy trình phát triển phần mềm vào trình xây dựng ứng dụng - Tìm hiểu áp dụng firebase Cloud vào ứng dụng - Ngoài ra, nhóm tìm hiểu nắm cách sử dụng số framework hữu ích Entity Framework, Kỹ mềm: 47 - Phát triển hoàn thiện kỹ sử dụng cơng cụ hỗ trợ lập trình viên như: GitHub, Trello, excel, figma… - Học tập phát triển kỹ làm việc nhóm, kỹ phân chia điều phối công việc, kỹ xếp thời gian Sản phẩm: - Phần mềm đạt chức cần có mạng xã hội tình nguyện thời gian quy định - Giao diện thân thiện, dễ sử dụng 3.2 Hướng phát triển Tiếp tục phát triển, hồn thiện chức phần mềm như: đọc, theo dõi kiện, tìm kiếm bạn bè, tạo kiện, viết Phát triển thêm chức hỗ trợ giúp người dùng tối ưu hóa hoạt động bán hàng Một số tính dự định phát triển thời gian tới: - Phân quyền: Admin, người dùng - Hỗ trợ tìm kiếm, hiển thị địa điểm kiện GoogleMap - Tính xem video quyên góp cho kiện - Gợi ý kiện dựa lịch sử tham gia người dùng - Đưa phần mềm lên tảng web giúp người dùng dễ dàng truy cập đâu 48 CHƯƠNG VII: BẢNG PHÂN CÔNG CÔNG VIỆC STT Nội dung công việc Ngày bắt Ngày kết Người đảm đầu thúc nhận Ngọc Thạch Trạng thái Chọn đề tài 01/09/2021 03/09/2021 Phân tích yêu cầu 03/09/2021 08/09/2021 08/09/2021 13/09/2021 13/09/2021 15/09/2021 Ngọc Thạch Hoàn thành 13/09/2021 15/09/2021 Ngọc Thạch Hoàn thành 13/09/2021 15/10/2021 Minh Nhực Hoàn thành 03/09/2021 25/10/2021 20/09/2021 30/09/2021 Minh Nhực Hoàn thành 20/09/2021 28/09/2021 Ngọc Thạch Hoàn thành 28/09/2021 05/10/2021 Thiết lập actor, chức Vẽ sơ đồ Use case, đặc tả Usecase Viết SRD Minh Nhực Ngọc Thạch Minh Nhực Ngọc Thạch Minh Nhực Hoàn thành Hồn thành Hồn thành Viết phân tích sơ đồ lớp mức phân tích 11 Học Flutter, Dart, firebase Thiết kế giao diện Figma Thiết kế CSDL Cài đặt Flutter, Firebase Ngọc Thạch Minh Nhực Ngọc Thạch Minh Nhực Hoàn thành Hoàn thành 49 12 13 14 15 16 Xây dựng hình Flutter Xử lý kiện UI Xử lý liệu Kiểm thử ứng dụng Viết báo cáo 05/10/2021 15/11/2021 15/11/2021 28/12/2021 01/12/2021 28/12/2021 28/12/2021 31/12/2021 1/12/2021 5/12/2021 Ngọc Thạch Minh Nhực Ngọc Thạch Minh Nhực Ngọc Thạch Minh Nhực Ngọc Thạch Minh Nhực Ngọc Thạch Minh Nhực Hoàn thành - - – Hoàn thành 50 CHƯƠNG VIII: TÀI LIỆU THAM KHẢO Get started with Firebase on Flutter: Started with Flutter | Youtube Flutter UI Design Series: Tutorial Design with Flutter | Youtube Flutter & Firebase App Build: Tutorial connect Flutter with Firebase | Youtube Flutter documentation: Flutter documentation | Flutter Firebase documentation: Firebase Documentation (google.com) Bloc library: Bloc State Management Library (bloclibrary.dev) Example Flutter App: Ebook App | Youtube Book App | Youtube Chat App | Youtube Chat App | Youtube ... TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN ĐỀ TÀI: ỨNG DỤNG KẾT NỐI CỘNG ĐỒNG THIỆN NGUYỆN Giảng viên hướng dẫn: HUỲNH HỒ THỊ MỘNG TRINH Sinh viên thực hiện:... Để kết nối lịng hảo tâm tồn quốc đến với người có hồn cảnh khó khăn cách dễ dàng, có thơng tin đáng tin cậy minh bạch, nhóm định phát triển Giải pháp công nghệ ứng dụng ? ?Thiện nguyện? ?? Ứng dụng. .. nhiều hoạt động tình nguyện tổ chức phổ biến rộng rã Thơng tin cịn mơ hồ khơng kịp cập nhật nhiều tin tức đến cho người Vì cần ứng dụng để kết nối người lại với Ứng dụng thiện nguyện xây dựng để