Khóa luận tốt nghiệp: Xây dựng ứng dụng sổ tay gia đình hỗ trợ tương tác

Khóa luận tốt nghiệp trình bày quá trình xây dựng ứng dụng sổ tay gia đình, giúp quản lý công việc, sự kiện và tăng cường tương tác giữa các thành viên.

Chuyên ngành

Kỹ thuật Phần mềm

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2021

136
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Khái Niệm Sổ Tay Gia Đình Hỗ Trợ Tương Tác

Sổ tay gia đình hỗ trợ tương tác là công cụ quản lý hiện đại giúp các thành viên trong gia đình giao tiếp, chia sẻ thông tin và xây dựng mối quan hệ tốt đẹp. Đây là một ứng dụng toàn diện kết hợp công nghệ kỹ thuật số với nhu cầu tương tác xã hội của con người. Sổ tay này không chỉ lưu trữ dữ liệu mà còn tạo kênh liên lạc hiệu quả, giúp mỗi gia đình thực hiện các hoạt động hằng ngày một cách có tổ chức và bền vững.

1.1. Định Nghĩa và Đặc Điểm

Sổ tay gia đình là nền tảng kỹ thuật số cho phép lưu trữ thông tin cá nhân, lịch trình, ghi chú và bộ sưu tập ký ức gia đình. Nó mang lại tính minh bạch, dễ tiếp cận và tăng cường sự tương tác giữa các thành viên. Ứng dụng này hỗ trợ thông báo tức thời, chia sẻ tập tin và quản lý các sự kiện quan trọng.

II. Lợi Ích Ứng Dụng Trong Sinh Hoạt Gia Đình

Ứng dụng sổ tay gia đình mang lại nhiều lợi ích thiết thực cho sinh hoạt hàng ngày. Nó giúp cải thiện giao tiếp giữa cha mẹ và con cái, tối ưu hóa thời gian và tài nguyên gia đình. Công cụ này hỗ trợ quản lý ngân sách, theo dõi sức khỏe, sắp xếp công việc nhà và lên kế hoạch các hoạt động chung. Thông qua tương tác trên nền tảng, các gia đình có thể xây dựng môi trường sống hài hòa và hiểu biết lẫn nhau tốt hơn.

2.1. Tăng Cường Giao Tiếp Gia Đình

Sổ tay gia đình tạo không gian an toàn để các thành viên chia sẻ ý kiến, cảm xúc và trải nghiệm. Tính năng bình luận và phản hồi giúp mọi người cảm thấy được lắng nghe và trân trọng. Môi trường này khuyến khích thối thoại tích cực, giảm bớt mâu thuẫn và tạo dựng tin tưởng lâu dài.

III. Những Thách Thức Và Giải Pháp

Mặc dù có nhiều lợi ích, ứng dụng sổ tay gia đình cũng phải đối mặt với những thách thức. Vấn đề bảo mật dữ liệu cá nhân, khó khăn với người cao tuổi trong sử dụng công nghệ và sự phân chia thời gian hợp lý là những lo ngại chính. Để khắc phục, các nhà phát triển cần tăng cường bảo vệ thông tin, thiết kế giao diện đơn giản và cung cấp hướng dẫn sử dụng rõ ràng cho tất cả đối tượng.

3.1. Giải Quyết Vấn Đề Bảo Mật

Bảo mật dữ liệu gia đình yêu cầu mã hóa end-to-end, xác thực đa lớp và kiểm toán an ninh thường xuyên. Ứng dụng phải tuân thủ các tiêu chuẩn bảo vệ dữ liệu quốc tế và cung cấp công cụ kiểm soát quyền truy cập chi tiết cho từng thành viên.

IV. Triển Vọng Phát Triển Và Kết Luận

Sổ tay gia đình hỗ trợ tương tác có triển vọng phát triển rộng lớn trong tương lai. Khi công nghệ trí tuệ nhân tạo và học máy được tích hợp, ứng dụng có thể cung cấp các đề xuất thông minh và phân tích hành vi gia đình. Đây sẽ là nền tảng quan trọng hỗ trợ các gia đình hiện đại xây dựng mối quan hệ chắc chắn, tạo môi trường sống lành mạnh và nâng cao chất lượng cuộc sống chung.

4.1. Xu Hướng Tương Lai

Các ứng dụng sổ tay gia đình sẽ tích hợp công nghệ AR/VR, cho phép tương tác trực quan hơn. Tính năng ghi nhớ thông minh, gợi ý dựa trên dữ liệu và tự động hóa công việc nhà sẽ trở thành tiêu chuẩn. Ứng dụng này sẽ phát triển thành một hệ sinh thái toàn diện cho quản lý cuộc sống gia đình.

21/12/2025

Trích đoạn nội dung tài liệu

chương 1 cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài, phương pháp nghiên cứu. Chương 2 – Kiến thức nền tảng: Trình bày các kiến thức nền tảng, các công nghệ và thuật toán được sử dụng để xây dựng ứng dụng. Chương 3 – Xây dựng hệ thống: Trình bày chi tiết quy trình xây dựng hệ thống, từ xác định và phân tích yêu cầu bài toán cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho ứng dụng. Chương 4 – Áp dụng thuật toán: Tập trung trình bày thuật toán gợi ý bài viết.

Các kiến thức cần nắm, các loại gợi ý, các số đo, thực nghiệm và kết quả thực nghiệm, sau đó vào dụng vào ứng dụng. Chương 5 – Kết luận: Kết luận, rút ra được các ưu nhược điểm của ứng dụng và hướng phát triển trong tương lai. GIỚI THIỆU CHUNG 1. Lý do chọn đề tài Trong bối cảnh xã hội hiện đại, khi con người ngày càng bận rộn với công việc cũng như việc học bên ngoài và ít có thời gian hơn để xử lý các công việc trong gia đình.

Đặc biệt trong thời gian giãn cách xã hội do đại dịch Covid-19 khiến cho nhiều người công tác xa gia đình và không thể về. Nhu cầu nắm bắt tình hình các công việc, sự kiện trong gia đình và tương tác với các thành viên gia đình càng tăng cao. Đứng ở góc độ này, chúng em hình thành ý tưởng xây dựng một ứng dụng hỗ trợ tương tác từ xa giành cho các thành viên trong gia đình thông qua các hình thức như nhắn tin, video call. Bên cạnh đó, ứng dụng cũng giúp các thành viên trong gia đình đồng bộ kế hoạch xử lí các công việc trong nhà và phân công công việc cho các thành viên trong gia đình, đặt lịch để nhắc nhở các sự kiện quan trọng cho gia đình, giúp các thành viên trong gia đình cập nhật được tình hình thu chi hàng tháng và định vị được nhau trong những tình huống cần thiết.

Tính mới và tính thực tiễn 1. Tính mới So với những ứng dụng đã khảo sát: Nhóm em đã tiến hành khảo sát các ứng dụng liên quan hoặc có cụm tính năng tương tự đã được triển khai và đưa vào sử dụng trên thực tế: • Cozi, ChoresMonster, OurHome cho phép đồng bộ hóa lịch cho cả gia đình với khả năng lập danh sách và phân công các công việc cần làm. • Keepy cung cấp tính năng lưu trữ, tổ chức và quản lý những hình ảnh và video kỷ niệm của gia đình vào một nơi duy nhất và cho các thành viên đều có khả năng truy cập. 2 • Life360 hỗ trợ việc định vị người thân dựa vào tính năng GPS và cảnh báo trong trường hợp khẩn cấp.

• MoneyLover, Spendee, Mint, MoneyPocket hỗ trợ việc quản lý thu chi, giám sát hóa đơn, theo dõi mức chi so với ngân sách và trực quan hóa chi tiêu qua biểu đồ. • Facebook Messenger, Skype, Twitter có thể hỗ trợ người sử dụng tương tác qua hình thức nhắn tin, voice call và video call. Qua khảo sát có thể thấy các ứng dụng hiện có chỉ hỗ trợ một tác vụ nhất định, dẫn đến sự bất tiện cho người dùng khi phải sử dụng quá nhiều ứng dụng cùng lúc để giải quyết các tác vụ trong sinh hoạt gia đình. Bởi đó, nhóm em quyết định tích hợp các tính năng quản lý công việc, sự kiện, thu chi, album gia đình và tương tác từ xa qua các hình thức nhắn tin, voice call, video call vào một ứng dụng duy nhất.

Đồng thời ạo ra không gian tương tác từ xa dành riêng cho các thành viên trong gia đình nhằm tăng tính gắn kết giữa các thành viên trong gia đình với nhau. So với đề tài khoá trước: Bổ sung thêm khả năng tương tác giữa các thành viên trong gia đình qua hình thức nhắn tin, voice call và video call trực tiếp. Xây dựng mạng xã hội về ẩm thực để các gia đình có thể chia sẻ các bài viết về công thức và mẹo vặt trong việc làm bếp. Hỗ trợ 2 ngôn ngữ tiếng Anh và tiếng Việt.

Tích hợp đăng nhập bằng các tài khoản social networking bên thứ 3 như: Facebook, Google, Apple(với nền tảng iOS). Tính thực tiễn • Hỗ trợ các gia đình thực hiện các tác vụ hằng ngày dễ dàng và thuận tiện hơn. • Tăng tính gắn kết giữa các thành viên trong việc thực hiện công việc nhà. 3 • Tăng tính giao tiếp và chia sẻ giữa các thành viên qua việc nhắc nhở về sự kiện.

• Tăng tính thống nhất, tương tác và chia sẻ ý kiến giữa các thành viên. Phạm vi nghiên cứu Khảo sát thực trạng quản lý các công việc và sự kiện chung trong gia đình hiện nay. Nghiên cứu và khảo sát các ứng dụng liên quan. Các công nghệ hỗ trợ xây dựng ứng dụng trên nền tảng iOS, Android giao tiếp với API từ máy chủ để truy xuất cơ sở dữ liệu.

Các kỹ thuật và thuật toán gợi ý bài viết phù hợp. Đối tượng nghiên cứu Tập trung nghiên cứu các công nghệ hỗ trợ xây dựng ứng dụng như: React Native(Redux Saga), Java(Spring Boot), PostgreSQL. Bên cạnh đó, đề tài cũng hướng đến đối tượng là các thành viên trong gia đình có nhu cầu quản lý công việc, sự kiện chung trong gia đình hiệu quả hơn thông qua Mobile App và muốn tương tác từ xa với nhau. KIẾN THỨC NỀN TẢNG 2.

Javascript Javascript là được ra mắt ban đầu là một ngôn ngữ kịch bản đơn giản dành cho môi trường trình duyệt. Vào thời điểm được phát minh thì javascript được cho là sẽ được sử dụng cho các đoạn mã ngắn được nhúng trong một trang web. Dần về sau, khi javascript đã phát triển đã phát triển mạnh mẽ trên môi trường trình duyệt, các nhà sáng lập javascript bắt đầu mở rộng javascript để được sử dụng bên ngoài môi trường trình duyệt, chẳng hạn như triển khai các máy chủ JS bằng node. Bản chất “chạy mọi nơi” của javascript khiến nó trở thành một lựa chọn hấp dẫn để phát triển đa nền tảng như: Máy chủ, trình duyệt, desktop, di động.

Javascript ban đầu chỉ hoạt động đơn luồng, chỉ một nhiệm vụ được thực thi trong 1 lúc. Nó sẽ không là vấn đề gì cho đến khi thời gian chạy của 1 task lên đến hơn 10 giây, và khi có đến 100 task thì cứ phải chờ như vậy là một vấn đề cực lớn trong chương trình. Khi đó, mô hình event loop ra đời nhằm giúp các task được thực thi một cách concurrency(tức là task sau sẽ bắt đầu thực hiện ngay sau khi task trước vừa bắt đầu).1: Mô hình Event loop trong Javascript Thành phần chính trong event loop bao gồm: • Stack: Là một vùng nhớ đặc biệt trên con chip máy tính phục vụ cho quá trình thực thi các dòng lệnh mà cụ thể là các hàm theo một cách tuần tự, tức là lệnh này thực thi xong thì mới đến lệnh khác. Hàm chẳng qua là một nhóm các lệnh và chương trình thì gồm một nhóm các hàm phối hợp với nhau.

Mỗi khi một hàm được triệu gọi thì nó sẽ được đẩy vào Stack theo cơ chế LIFO (Last In First Out) nghĩa là vào đầu tiên thì ra sau cùng. Một hàm chỉ được lấy ra khỏi stack khi nó hoàn thành và return. 6 • Heap là vùng nhớ được dùng để chưa kết quả tạm phục vụ cho việc thực thi các hàm trong stack. Heap càng lớn thì khả năng tính toán càng cao.

Heap có thể được cấp phát tĩnh hoặc cấp phát động. Nhiệm vụ của Event Loop là đọc Stack, nếu nhận thấy Stack rỗng thì sẽ đọc Event đầu tiên trong Event Queue và nạp các handler (callback hoặc listener) đính kèm trong Event đó và đẩy vào Stack để thực hiện các handler đó. Các handler ở đây được thực thi ngay khi Event gắn liền với handler đó được kích hoạt. Event có thể bắt nguồn từ việc thao tác nhấn, vuốt, nhấn giữ vào một thành phần UI nào đó, hay API trả về kết quả.

Như ta có thể thấy thấy trên hình thì ngoài Stack ra, JS Runtime còn thao tác với một callback queue hay Event queue. Event queue này khác với stack ở chỗ nó là queue kiểu FIFO (First In First Out). Mỗi khi có một Event được tạo ra, ví dụ người dùng nhấn vào một Button thì một handler đính kèm trong Event đó sẽ được đẩy vào Event. Nếu một Event không có handler thì nó sẽ bị mất và cũng sẽ không đẩy handler vào Event queue.

React Native Hình 2.2: Logo React Native React Native là một thư viện JavaScript dùng để xây dựng giao diện người dùng. Nó được duy trì bởi Facebook và một cộng đồng gồm các nhà phát triển và công ty cá nhân. React Native có thể được sử dụng làm cơ sở trong 7 việc phát triển ứng dụng trên nền tảng di động như iOS và Android. React Native cho phép Developer viết ứng dụng trực tiếp trên JavaScript.

Không chỉ vậy, React Native còn sử dụng JSX – một tính năng giúp Javascrip và ngôn ngữ thuộc họ XML của riêng React Native gồm các thành phần giao diện cơ bản như: View, Text, TextInput, Animated, Modal, TouchableOpacity, TouchableWithouFeedback, … Mỗi thành phần giao diện trong React Native còn được gọi là component. Ngoài ra, React Native cho phép Developer phân chia một giao diện phức tạp thành các component nhỏ hơn giúp dễ bảo trì và nâng cấp giao diện hơn. Developer sẽ không phải lo lắng về tổng thể ứng dụng, bởi giờ đây họ đã có thể dễ dàng chia nhỏ các cấu trúc UI/UX phức tạp thành từng component đơn giản hơn. Tính năng State trong React Native giúp các component nắm giữ một lượng dữ liệu nhất định và sẽ hiển thị dữ liệu đó lên giao diện.

Thông qua Props, các component có thể chia sẻ state cho nhau.3: Logo Redux Redux là một thư viện Javascript giúp ứng dụng quản lý toàn bộ state trong hệ thống và trong một store duy nhất. Redux được xây dựng dựa trên kiến trúc Flux của Facebook và rất phù hợp để kết hợp với React Native trong việc phát triển ứng dụng. 8 Cách thức hoạt động của Redux tương đối đơn giản. Có một store trung tâm lưu giữ toàn bộ state của ứng dụng.

Mỗi component có thể truy cập các state trong store bất cứ lúc nào. Hoặc cũng có thể cập nhật giá trị cho các state trong store bằng cách truyền giá trị mới của state vào trong một action và gửi action đến store. Redux có cấu trúc gồm 3 phần: Actions, reducers và store. Actions chính là thông điệp gửi từ component đến store.

Đây là cách duy nhất để người dùng truyền tải dữ liệu từ component đến Store trong Redux. Reducers được xem là thành phần trung gian giữa component và store, là các hàm thuần túy cập nhật lại state trong store như yêu cầu từ các actions.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ