Xây dựng ứng dụng quản lý chi tiêu cá nhân: Đồ án Đại học CNTT

Ứng dụng quản lý chi tiêu cá nhân hiệu quả giúp bạn theo dõi thu nhập, chi tiêu dễ dàng. Lựa chọn app phù hợp để kiểm soát tài chính cá nhân tốt hơn.

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2022

57
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

1. CHƯƠNG I. GIỚI THIỆU ĐỀ TÀI

1.1. Giới thiệu chung

1.2. Mục tiêu đề tài

1.3. Quá trình hiện thực

1.4. Tổng quan về chức năng

2. CHƯƠNG II. Tổng quan và lịch sử

2.1. Thành phần của Flutter

2.2. Một số đặc điểm nổi bật

2.3. Ưu và nhược điểm của Flutter:

2.4. Ngôn ngữ lập trình Dart. Tại sao Flutter chọn Dart?

2.5. Hệ quản trị cơ sở dữ liệu Firebase

2.6. Firebase Realtime database

2.7. Ưu điểm của Firebase

2.8. Nhược điểm của Firebase

3. CHƯƠNG III. XÂY DỰNG HỆ THỐNG

3.1. Xây dựng kiến trúc hệ thống

3.1.1. Công nghệ sử dụng

3.1.2. Kiến trúc hệ thống: Mô hình Client-Server

3.1.3. Kiến trúc ứng dụng: Mô hình MVVM

3.2. Mô tả thành phần hệ thống

3.3. Mô tả Use case

3.4. Đặc tả use case

3.5. Mô tả các màn hình

3.5.1. Màn hình đăng nhập

3.5.2. Màn hình đăng ký

3.5.3. Màn hình quên mật khẩu

3.5.4. Màn hình chính

4. CHƯƠNG IV.

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG

1. GIỚI THIỆU ĐỀ TÀI

1.1. Giới thiệu chung

1.2. Mục tiêu đề tài

1.2.1. Lý thuyết

1.2.2. Mục tiêu

1.3. Quá trình hiện thực

1.4. Tổng quan về chức năng

2. CHƯƠNG II. Tổng quan và lịch sử

2.1. Thành phần của Flutter

2.2. Một số đặc điểm nổi bật

2.3. Ưu và nhược điểm của Flutter:

2.4. Ngôn ngữ lập trình Dart

2.4.1. Tổng quan

2.5. Tại sao Flutter chọn Dart?

2.6. Hệ quản trị cơ sở dữ liệu Firebase

2.6.1. Firebase là gì?

2.6.2. Firebase Realtime database

2.6.3. Firebase Authentication

2.6.4. Firebase Hosting

2.7. Ưu điểm của Firebase

2.8. Nhược điểm của Firebase

3. CHƯƠNG III. XÂY DỰNG HỆ THỐNG

3.1. Xây dựng kiến trúc hệ thống

3.1.1. Công nghệ sử dụng

3.1.2. Kiến trúc hệ thống: Mô hình Client-Server

3.1.3. Kiến trúc ứng dụng: Mô hình MVVM

3.2. Mô tả thành phần hệ thống

3.3. Sơ đồ Use case

3.4. Đặc tả use case

3.4.1. Đăng ký

3.4.2. Đăng nhập với email và mật khẩu

3.4.3. Đăng nhập bằng Google

Tóm tắt

I. Tổng Quan Về Xây Dựng Ứng Dụng Quản Lý Chi Tiêu Cá Nhân

Việc quản lý tài chính cá nhân hiệu quả là một kỹ năng quan trọng, giúp mỗi người chủ động hơn trong cuộc sống và tạo ra nhiều cơ hội phát triển. Tuy nhiên, nhiều người gặp khó khăn trong việc này. Chính vì vậy, các ứng dụng quản lý chi tiêu ra đời nhằm đơn giản hóa quy trình, mang lại trải nghiệm tốt hơn cho người dùng. Nhóm nghiên cứu đã quyết định xây dựng ứng dụng quản lý chi tiêu cá nhân – Monas, nhằm giải quyết vấn đề này.

Ứng dụng quản lý chi tiêu đóng vai trò quan trọng trong việc theo dõi, phân tích và kiểm soát chi phí cá nhân. Chúng cung cấp cái nhìn tổng quan về dòng tiền, giúp người dùng xác định các khoản chi không cần thiết và đưa ra quyết định tài chính thông minh hơn. Bên cạnh đó, ứng dụng còn hỗ trợ lập ngân sách, đặt mục tiêu tiết kiệm và theo dõi tiến độ thực hiện.

Theo tài liệu nghiên cứu, việc phát triển ứng dụng tập trung vào hai mục tiêu chính: (1) lưu trữ thông tin cá nhân và giao dịch để quản lý chi tiêu hiệu quả hơn; (2) cung cấp đầy đủ các chức năng cơ bản của một ứng dụng quản lý chi tiêu điển hình với giao diện thân thiện, dễ sử dụng. Quá trình phát triển bao gồm phân tích yêu cầu bài toán, lựa chọn nền tảng công nghệ phù hợp, nghiên cứu cơ sở lý thuyết và áp dụng vào xây dựng ứng dụng thực tế. Cuối cùng, nhóm nghiên cứu kiểm tra và tối ưu hóa trải nghiệm người dùng bằng cách tham khảo các ứng dụng tương tự.

Monas, ứng dụng được xây dựng, hướng đến mục tiêu cung cấp một giải pháp toàn diện cho việc quản lý tài chính cá nhân. Từ việc ghi chép chi tiêu hàng ngày đến việc tạo báo cáo phân tích chi tiết, ứng dụng giúp người dùng nắm bắt rõ tình hình tài chính của mình và đưa ra những quyết định sáng suốt.

1.1. Tầm quan trọng của ứng dụng quản lý tài chính cá nhân

Các ứng dụng quản lý tài chính cá nhân đóng vai trò thiết yếu trong việc giúp người dùng kiểm soát dòng tiền, lập ngân sách và đạt được các mục tiêu tài chính. Chúng cung cấp khả năng theo dõi chi tiêu, phân loại giao dịch và tạo báo cáo trực quan, giúp người dùng hiểu rõ hơn về thói quen chi tiêu của mình. Nhờ đó, họ có thể đưa ra những quyết định tài chính thông minh hơn, tiết kiệm tiền hiệu quả hơn và tránh được những rủi ro tài chính không đáng có.

1.2. Mục tiêu và phạm vi của ứng dụng quản lý chi tiêu Monas

Monas được thiết kế với mục tiêu cung cấp một giải pháp quản lý chi tiêu cá nhân toàn diện và dễ sử dụng. Ứng dụng tập trung vào các chức năng cơ bản như ghi chép giao dịch, lập ngân sách, tạo báo cáo và phân tích chi tiêu. Đồng thời, Monas cũng chú trọng đến trải nghiệm người dùng, đảm bảo giao diện thân thiện, trực quan và dễ dàng thao tác. Phạm vi của ứng dụng bao gồm hỗ trợ người dùng theo dõi chi tiêu hàng ngày, lập kế hoạch tài chính cá nhân và đạt được các mục tiêu tiết kiệm.

II. Thách Thức và Giải Pháp Phát Triển Ứng Dụng Quản Lý Chi Tiêu

Quá trình xây dựng ứng dụng quản lý chi tiêu không tránh khỏi những thách thức. Một trong số đó là đảm bảo tính bảo mật cho thông tin tài chính nhạy cảm của người dùng. Các ứng dụng cần tuân thủ các tiêu chuẩn bảo mật nghiêm ngặt để ngăn chặn các hành vi xâm nhập và đánh cắp dữ liệu. Ngoài ra, việc tích hợp các tính năng như thanh toán trực tuyến và kết nối với tài khoản ngân hàng cũng đòi hỏi các giải pháp kỹ thuật phức tạp và đáng tin cậy.

Để giải quyết những thách thức này, nhóm phát triển cần áp dụng các biện pháp bảo mật tiên tiến, chẳng hạn như mã hóa dữ liệu, xác thực hai yếu tố và kiểm tra xâm nhập thường xuyên. Bên cạnh đó, việc lựa chọn nền tảng phát triển ứng dụng mobile phù hợp và sử dụng các công cụ lập trình hiệu quả cũng đóng vai trò quan trọng trong việc đảm bảo chất lượng và tính ổn định của ứng dụng.

Theo tài liệu, nhóm phát triển ứng dụng Monas đã lựa chọn Flutter làm nền tảng chính, kết hợp với ngôn ngữ lập trình Dart và hệ quản trị cơ sở dữ liệu Firebase. Flutter cho phép phát triển ứng dụng đa nền tảng, tiết kiệm thời gian và chi phí. Dart là ngôn ngữ mạnh mẽ, dễ học và hiệu quả. Firebase cung cấp các dịch vụ cơ sở dữ liệu và xác thực người dùng đáng tin cậy. Sự kết hợp này giúp nhóm phát triển ứng dụng đáp ứng được các yêu cầu về bảo mật, hiệu năng và khả năng mở rộng.

2.1. Các vấn đề bảo mật và riêng tư dữ liệu tài chính

Bảo mật và riêng tư dữ liệu tài chính là ưu tiên hàng đầu trong phát triển ứng dụng quản lý chi tiêu. Các ứng dụng cần đảm bảo rằng thông tin tài chính của người dùng được bảo vệ khỏi các truy cập trái phép, đánh cắp dữ liệu và rò rỉ thông tin. Điều này đòi hỏi việc áp dụng các biện pháp bảo mật mạnh mẽ, bao gồm mã hóa dữ liệu, xác thực hai yếu tố, kiểm tra xâm nhập thường xuyên và tuân thủ các tiêu chuẩn bảo mật quốc tế. Ngoài ra, các ứng dụng cũng cần có chính sách bảo mật rõ ràng và minh bạch, thông báo cho người dùng về cách thức thu thập, sử dụng và bảo vệ thông tin của họ.

2.2. Tích hợp các tính năng thanh toán trực tuyến và ngân hàng

Tích hợp các tính năng thanh toán trực tuyến và kết nối với tài khoản ngân hàng có thể mang lại nhiều tiện lợi cho người dùng, nhưng cũng đặt ra nhiều thách thức về bảo mật và pháp lý. Các ứng dụng cần đảm bảo rằng các giao dịch thanh toán được thực hiện an toàn, tuân thủ các quy định về bảo vệ người tiêu dùng và phòng chống rửa tiền. Đồng thời, việc kết nối với tài khoản ngân hàng cũng đòi hỏi sự đồng ý của người dùng và tuân thủ các quy định về bảo mật thông tin ngân hàng. Các ứng dụng cần lựa chọn các đối tác thanh toán uy tín và có các biện pháp bảo mật phù hợp để đảm bảo an toàn cho người dùng.

2.3. Lựa chọn nền tảng và công nghệ phát triển ứng dụng mobile

Việc lựa chọn nền tảng và công nghệ phát triển ứng dụng mobile phù hợp là yếu tố quan trọng để đảm bảo chất lượng, hiệu năng và khả năng mở rộng của ứng dụng quản lý chi tiêu. Các nền tảng phổ biến như iOS và Android có những ưu điểm và hạn chế riêng. Các công nghệ như Flutter, React Native và Xamarin cho phép phát triển ứng dụng đa nền tảng, tiết kiệm thời gian và chi phí. Tuy nhiên, việc lựa chọn cần dựa trên các yếu tố như yêu cầu chức năng, ngân sách, thời gian phát triển và kinh nghiệm của đội ngũ phát triển.

III. Hướng Dẫn Thiết Kế UI UX Chuyên Nghiệp Cho App Quản Lý Chi Tiêu

Giao diện người dùng (UI) và trải nghiệm người dùng (UX) đóng vai trò then chốt trong sự thành công của ứng dụng quản lý chi tiêu. Một giao diện trực quan, dễ sử dụng và thân thiện sẽ giúp người dùng dễ dàng thao tác và sử dụng ứng dụng một cách hiệu quả. Bên cạnh đó, trải nghiệm người dùng tốt sẽ tạo ra sự hài lòng và gắn bó, khuyến khích người dùng sử dụng ứng dụng thường xuyên hơn.

Khi thiết kế UI/UX, cần chú trọng đến việc đơn giản hóa quy trình, giảm thiểu các bước thao tác và cung cấp thông tin rõ ràng, dễ hiểu. Sử dụng màu sắc, biểu tượng và hình ảnh một cách hợp lý để tạo ra một giao diện hấp dẫn và trực quan. Đồng thời, cần đảm bảo tính nhất quán trong thiết kế và tuân thủ các nguyên tắc thiết kế UI/UX cơ bản.

Theo tài liệu nghiên cứu, nhóm phát triển ứng dụng Monas đã sử dụng Figma làm công cụ thiết kế UI/UX. Figma cho phép thiết kế giao diện một cách nhanh chóng và dễ dàng, đồng thời hỗ trợ cộng tác và chia sẻ thiết kế với các thành viên trong nhóm. Nhóm thiết kế đã tập trung vào việc tạo ra một giao diện đơn giản, trực quan và thân thiện, giúp người dùng dễ dàng quản lý chi tiêu của mình.

3.1. Nguyên tắc thiết kế giao diện người dùng UI trực quan

Giao diện người dùng (UI) trực quan là yếu tố quan trọng để thu hút và giữ chân người dùng của ứng dụng quản lý chi tiêu. Các nguyên tắc thiết kế UI trực quan bao gồm đơn giản hóa quy trình, sử dụng màu sắc và biểu tượng một cách hợp lý, cung cấp thông tin rõ ràng và dễ hiểu, đảm bảo tính nhất quán trong thiết kế và tuân thủ các nguyên tắc thiết kế UI cơ bản. Mục tiêu là tạo ra một giao diện dễ sử dụng, thân thiện và giúp người dùng dễ dàng thao tác và sử dụng ứng dụng một cách hiệu quả.

3.2. Tối ưu hóa trải nghiệm người dùng UX để tăng tính gắn bó

Trải nghiệm người dùng (UX) tốt là yếu tố then chốt để tạo ra sự hài lòng và gắn bó với ứng dụng quản lý chi tiêu. Các biện pháp tối ưu hóa UX bao gồm giảm thiểu các bước thao tác, cung cấp phản hồi nhanh chóng và chính xác, cá nhân hóa trải nghiệm người dùng, cung cấp hỗ trợ và hướng dẫn khi cần thiết và liên tục thu thập phản hồi từ người dùng để cải thiện ứng dụng. Mục tiêu là tạo ra một trải nghiệm liền mạch, thú vị và giúp người dùng đạt được mục tiêu quản lý tài chính của mình một cách dễ dàng.

3.3. Sử dụng Figma để thiết kế và cộng tác hiệu quả

Figma là một công cụ thiết kế UI/UX mạnh mẽ, cho phép thiết kế giao diện một cách nhanh chóng và dễ dàng, đồng thời hỗ trợ cộng tác và chia sẻ thiết kế với các thành viên trong nhóm. Figma có nhiều tính năng hữu ích như thiết kế vector, thiết kế responsive, prototyping và kiểm tra thiết kế. Sử dụng Figma giúp nhóm thiết kế tạo ra các giao diện chuyên nghiệp, trực quan và dễ sử dụng cho ứng dụng quản lý chi tiêu.

IV. Cách Lập Trình Ứng Dụng Quản Lý Chi Tiêu Đa Nền Tảng Flutter

Flutter là một bộ công cụ phát triển phần mềm mã nguồn mở được tạo ra bởi Google, cho phép phát triển các ứng dụng đa nền tảng cho Android, iOS, Linux, Windows, MacOS và web chỉ từ một nền tảng mã duy nhất. Flutter cung cấp một tập hợp các widget có thể customizable, cho phép xây dựng giao diện đẹp mắt và hiệu năng cao.

Để lập trình ứng dụng quản lý chi tiêu bằng Flutter, cần nắm vững các khái niệm cơ bản của Flutter và ngôn ngữ lập trình Dart. Quá trình lập trình bao gồm thiết kế giao diện, xây dựng các chức năng cơ bản như thêm, sửa, xóa giao dịch, lập ngân sách, tạo báo cáo và phân tích chi tiêu. Đồng thời, cần tích hợp các dịch vụ cơ sở dữ liệu và xác thực người dùng như Firebase để lưu trữ và quản lý dữ liệu.

Theo tài liệu nghiên cứu, nhóm phát triển ứng dụng Monas đã sử dụng kiến trúc MVVM (Model-View-ViewModel) để tổ chức code và tách biệt các lớp logic. MVVM giúp code dễ đọc, dễ bảo trì và dễ kiểm tra. Nhóm phát triển cũng sử dụng các thư viện và gói (package) có sẵn để tăng tốc độ phát triển và cải thiện chất lượng code.

4.1. Tổng quan về nền tảng phát triển ứng dụng Flutter và Dart

Flutter là một bộ công cụ phát triển phần mềm mã nguồn mở được tạo ra bởi Google, cho phép phát triển các ứng dụng đa nền tảng chỉ từ một nền tảng mã duy nhất. Dart là ngôn ngữ lập trình chính của Flutter, cung cấp hiệu năng cao và dễ học. Flutter và Dart là một sự kết hợp mạnh mẽ, giúp phát triển ứng dụng nhanh chóng, dễ dàng và hiệu quả.

4.2. Xây dựng các chức năng cơ bản thêm sửa xóa giao dịch

Các chức năng cơ bản như thêm, sửa, xóa giao dịch là nền tảng của bất kỳ ứng dụng quản lý chi tiêu nào. Để xây dựng các chức năng này, cần thiết kế giao diện nhập liệu, xử lý dữ liệu và tương tác với cơ sở dữ liệu. Flutter cung cấp các widget và thư viện hỗ trợ xây dựng giao diện và xử lý dữ liệu một cách dễ dàng. Firebase cung cấp các dịch vụ cơ sở dữ liệu và API để lưu trữ và truy xuất dữ liệu.

4.3. Tích hợp Firebase để lưu trữ và xác thực người dùng

Firebase là một nền tảng phát triển ứng dụng của Google, cung cấp các dịch vụ cơ sở dữ liệu, xác thực người dùng, lưu trữ đám mây và nhiều dịch vụ khác. Tích hợp Firebase vào ứng dụng quản lý chi tiêu giúp lưu trữ và quản lý dữ liệu một cách an toàn, xác thực người dùng và cung cấp các tính năng nâng cao như thông báo đẩy và phân tích ứng dụng.

V. Ứng Dụng Thực Tế Kết Quả Nghiên Cứu Xây Dựng Ứng Dụng Monas

Ứng dụng Monas được xây dựng dựa trên những kiến thức và kỹ năng đã học, đồng thời áp dụng các công nghệ và công cụ tiên tiến nhất. Ứng dụng cung cấp các chức năng cơ bản của một ứng dụng quản lý chi tiêu, bao gồm ghi chép giao dịch, lập ngân sách, tạo báo cáo và phân tích chi tiêu. Ngoài ra, ứng dụng còn có giao diện thân thiện, dễ sử dụng và tích hợp các tính năng bảo mật để bảo vệ thông tin tài chính của người dùng.

Kết quả nghiên cứu cho thấy ứng dụng Monas đáp ứng được các yêu cầu về chức năng, hiệu năng và bảo mật. Ứng dụng có thể giúp người dùng quản lý chi tiêu hiệu quả hơn, tiết kiệm tiền và đạt được các mục tiêu tài chính của mình. Tuy nhiên, vẫn còn một số hạn chế cần cải thiện, chẳng hạn như tích hợp thêm các tính năng nâng cao và tối ưu hóa hiệu năng trên các thiết bị khác nhau.

Theo tài liệu nghiên cứu, nhóm phát triển ứng dụng Monas đã thu được nhiều kinh nghiệm quý báu trong quá trình phát triển ứng dụng. Nhóm đã học được cách phân tích yêu cầu, thiết kế giao diện, lập trình các chức năng, kiểm tra và bảo trì ứng dụng. Đồng thời, nhóm cũng đã làm quen với các công nghệ và công cụ mới như Flutter, Dart và Firebase.

5.1. Đánh giá hiệu quả của ứng dụng quản lý chi tiêu Monas

Ứng dụng Monas được đánh giá cao về hiệu quả trong việc giúp người dùng quản lý chi tiêu. Các chức năng cơ bản như ghi chép giao dịch, lập ngân sách và tạo báo cáo được thực hiện một cách dễ dàng và hiệu quả. Giao diện thân thiện và dễ sử dụng giúp người dùng dễ dàng thao tác và sử dụng ứng dụng một cách hiệu quả. Tuy nhiên, cần cải thiện thêm các tính năng nâng cao và tối ưu hóa hiệu năng để đáp ứng tốt hơn nhu cầu của người dùng.

5.2. Phân tích những hạn chế và hướng cải tiến trong tương lai

Mặc dù ứng dụng Monas có nhiều ưu điểm, nhưng vẫn còn một số hạn chế cần cải thiện. Một số hạn chế bao gồm thiếu các tính năng nâng cao như dự báo chi tiêu và quản lý đầu tư. Hiệu năng của ứng dụng cũng cần được tối ưu hóa trên các thiết bị khác nhau. Trong tương lai, nhóm phát triển sẽ tập trung vào việc bổ sung các tính năng nâng cao, cải thiện hiệu năng và thu thập phản hồi từ người dùng để liên tục cải tiến ứng dụng.

VI. Tương Lai Phát Triển Của Ứng Dụng Quản Lý Chi Tiêu Thông Minh

Thị trường ứng dụng quản lý chi tiêu đang phát triển mạnh mẽ và có nhiều tiềm năng trong tương lai. Các ứng dụng sẽ ngày càng trở nên thông minh hơn, cung cấp các tính năng cá nhân hóa và tự động hóa để giúp người dùng quản lý tài chính một cách hiệu quả hơn. Đồng thời, các ứng dụng cũng sẽ tích hợp các công nghệ mới như trí tuệ nhân tạo (AI) và học máy (Machine Learning) để cung cấp các lời khuyên tài chính thông minh và dự báo chính xác.

Trong tương lai, các ứng dụng quản lý chi tiêu cũng sẽ trở nên đa dạng hơn, đáp ứng nhu cầu của các đối tượng người dùng khác nhau. Các ứng dụng sẽ được thiết kế riêng cho sinh viên, người đi làm, gia đình và các nhóm khác. Đồng thời, các ứng dụng cũng sẽ hỗ trợ nhiều ngôn ngữ và đơn vị tiền tệ để phục vụ người dùng trên toàn thế giới.

Theo các chuyên gia, ứng dụng quản lý chi tiêu sẽ đóng vai trò ngày càng quan trọng trong việc giúp mọi người đạt được sự tự do tài chính và cải thiện chất lượng cuộc sống. Các ứng dụng sẽ không chỉ giúp người dùng theo dõi chi tiêu mà còn cung cấp các công cụ và kiến thức để lập kế hoạch tài chính, đầu tư và đạt được các mục tiêu tài chính của mình.

6.1. Xu hướng phát triển của thị trường ứng dụng tài chính cá nhân

Thị trường ứng dụng tài chính cá nhân đang phát triển mạnh mẽ và có nhiều xu hướng đáng chú ý. Các xu hướng bao gồm cá nhân hóa trải nghiệm người dùng, tích hợp các công nghệ mới như AI và Machine Learning, đa dạng hóa các tính năng và dịch vụ và mở rộng phạm vi địa lý. Các ứng dụng cũng sẽ tập trung vào việc cung cấp các giải pháp quản lý tài chính toàn diện, bao gồm lập kế hoạch tài chính, đầu tư và bảo hiểm.

6.2. Tích hợp trí tuệ nhân tạo AI và học máy Machine Learning

Tích hợp trí tuệ nhân tạo (AI) và học máy (Machine Learning) là một xu hướng quan trọng trong phát triển ứng dụng tài chính cá nhân. AI và Machine Learning có thể được sử dụng để phân tích dữ liệu, dự báo chi tiêu, cung cấp các lời khuyên tài chính thông minh và tự động hóa các quy trình. Điều này giúp người dùng quản lý tài chính một cách hiệu quả hơn và đạt được các mục tiêu tài chính của mình một cách dễ dàng hơn.

6.3. Vai trò của ứng dụng trong việc đạt được tự do tài chính

Ứng dụng quản lý chi tiêu đóng vai trò quan trọng trong việc giúp mọi người đạt được sự tự do tài chính. Các ứng dụng cung cấp các công cụ và kiến thức để lập kế hoạch tài chính, theo dõi chi tiêu, tiết kiệm tiền, đầu tư và đạt được các mục tiêu tài chính của mình. Bằng cách sử dụng các ứng dụng quản lý chi tiêu, người dùng có thể kiểm soát tài chính của mình, giảm nợ, tăng tiết kiệm và đạt được sự tự do tài chính trong tương lai.

22/09/2025

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

CHƯƠNG I. GIỚI THIỆU ĐỀ TÀI. Giới thiệu chung. Mục tiêu đề tài.

Quá trình hiện thực. Tổng quan về chức năng. 8 CHƯƠNG II. Tổng quan và lịch sử.

Thành phần của Flutter. Một số đặc điểm nổi bật. Ưu và nhược điểm của Flutter:. Ngôn ngữ lập trình Dart.

Tại sao Flutter chọn Dart?. Hệ quản trị cơ sở dữ liệu Firebase. Firebase Realtime database. Ưu điểm của Firebase.

Nhược điểm của Firebase. 13 CHƯƠNG III. XÂY DỰNG HỆ THỐNG. Xây dựng kiến trúc hệ thống.

Công nghệ sử dụng. Kiến trúc hệ thống: Mô hình Client-Server. Kiến trúc ứng dụng: Mô hình MVVM. Mô tả thành phần hệ thống.

Mô tả Use case. Đặc tả use case. Mô tả các màn hình. Màn hình đăng nhập.

Màn hình đăng ký. Màn hình quên mật khẩu. Màn hình chính. 45 CHƯƠNG IV.

56 DANH MỤC HÌNH ẢNH Hình 1. Tổng quan về chức năng. Một số ứng dụng nổi tiếng được viết bằng Flutter. Kiến trúc của Flutter.

Kiến trúc hệ thống client server. 14 Hình 5 Kiến trúc ứng dụng. Màn hình đăng nhập. Màn hình đăng ký.

Màn hình quên mật khẩu. Màn hình trang chủ. Màn hình ví của bạn. Màn hình thêm ví.

Màn hình thêm giao dịch. Màn hình thêm ngân sách. Màn hình chi tiết ngân sách. Màn hình quản lý tài khoản.

Sơ đồ hoạt động đăng ký. Sơ đồ hoạt động thêm ví. Sơ đồ hoạt động thêm giao dịch. Sơ đồ hoạt động thêm ngân sách.

55 DANH MỤC BẢNG Bảng 1. Mô tả thành phần ứng dụng. Mô tả use case. Đặc tả chức năng đăng ký.

Đặc tả chức năng đăng nhập với email và mật khẩu. Đặc tả chức năng đăng nhập bằng Google. Đặc tả chức năng quên mật khẩu. Đặc tả chức năng thêm ví.

Đặc tả chức năng cập nhật ví. Đặc tả chức năng xoá ví. Đặc tả chức năng thêm giao dịch. Đặc tả chức năng cập nhật giao dịch.

Đặc tả chức năng xoá giao dịch. Đặc tả chức năng báo cáo chi tiêu. Đặc tả chức năng thêm ngân sách. Đặc tả chức năng sửa ngân sách.

Đặc tả chức năng xoá ngân sách. Đặc tả chức năng chỉnh sửa thời gian thông báo. Đặc tả chức năng chỉnh sửa định dạng ngày tháng. Đặc tả chức năng bật tắt âm thanh thông báo.

Đặc tả chức năng đăng xuất. GIỚI THIỆU ĐỀ TÀI 1. Giới thiệu chung Tạo ra thu nhập đã khó, tuy nhiên việc quản lý chi tiêu cá nhân lại càng khó hơn. Vậy nên, nếu biết cách quản lý tài chính cá nhân, chúng ta sẽ chủ động trong cuộc sống và có thể tạo thêm nhiều cơ hội cho bản thân.

Tuy nhiên, việc quản lý tài chính như thế nào cho hiệu quả lại chính là vấn đề mà rất nhiều người gặp phải trong cuộc sống hiện nay. Quản lý tài chính cá nhân thoạt nghe thì có vẻ rất dễ nhưng thực tế thì không hề đơn giản và không thể thực hiện trong ngày một ngày hai được, cần đầu tư rất nhiều thời gian và công sức mới có thể quản lý sát sao được. Chính vì thế nhiều công ty tiên phong đã áp dụng công nghệ vào lĩnh vực này để đơn giản hoá việc quản lý chi tiêu và mang đến cho người dùng trải nghiệm và đơn giản hơn. Hiểu được nhu cầu và xu hướng ấy, nhóm chúng em đã quyết định làm ứng dụng hỗ trợ quản lý chi tiêu cá nhân – Monas.

Mục tiêu đề tài 2. Lý thuyết - Nghiên cứu về Flutter và ngôn ngữ lập trình Dart - Nắm rõ các thao tác trên môi trường phát triển tích hợp Android studio và công cụ lập trình Visual studio code - Nghiên cứu và sử dụng dịch vụ cơ sở dữ liệu trên nền tảng đám mây – Firebase - Nghiên cứu cách thức phát triển ứng dụng đa nền tảng 2. Mục tiêu - Người dùng có thể lưu lại thông tin cá nhân và giao dịch để phục vụ tốt hơn trong việc quản lý chi tiêu - Ứng dụng sẽ hỗ trợ từ cơ bản đến đầy đủ chức năng của một ứng dụng quản lý chi tiêu điển hình - Ứng dụng có giao diện thân thiện, dễ sử dụng 3. Quá trình hiện thực Trải qua quá trình tìm hiểu và thực hiện đề tài, nhóm đã giải quyết được các vấn đề đặt ra ban đầu, từng bước giải quyết và liên tục đặt ra những vấn đề mới để ngày càng hoàn thiện sản phẩm.

Những bước thực hiện: - Phân tích yêu cầu bài toán - Lựa chọn nền tảng công nghệ phù hợp với yêu cầu - Nghiên cứu cơ sở lý thuyết của công nghệ lựa chọn - Áp dụng lý thuyết vào xây dựng ứng dụng thực tiễn - Kiểm tra và khám phá các ứng dụng tương tự để tối ưu hoá trải nghiệm người dùng và cải thiện các tính năng cho ứng dụng 4. Tổng quan về chức năng Hình 1. Tổng quan về chức năng CHƯƠNG II. Tổng quan và lịch sử Flutter là một bộ công cụ phát triển phần mềm mã nguồn mở được tạo ra bởi Google – một trong những công ty công nghệ lớn nhất hành tinh.

Nó được sử dụng với mục đích phát triển các ứng dụng đa nền tảng cho Android, iOS, Linux, Windows, MacOS và web chỉ từ một nền tảng mã duy nhất. Flutter được giới thiệu lần đầu tiên vào năm 2015 và đến tháng 5, 2017 phiên bản ổn định đầu tiên được ra mắt chính thức. Dù được ra mắt khá trễ nhưng Flutter đã và đang phát triển mạnh mẽ, dần trở thành một đối thủ nặng ký đối với những công cụ hỗ trợ lập trình đa nền tảng khác như React Native (Facebook), Xamarin (Microsoft)… Tính đến thời điểm hiện tại Flutter đang là một trong những công cụ hỗ trợ lập trình đa nền tảng được sử dụng nhiều nhất. Một số ứng dựng nổi tiếng được viết bằng Flutter: Hình 2.

Một số ứng dụng nổi tiếng được viết bằng Flutter 1. Thành phần của Flutter Flutter gồm có hai tầng chính là Engine và Framework: - Tầng engine chứa một thư viện đồ hoạ giúp render giao diện người dùng và máy ảo Dart – môi trường để thực thi mã nguồn và biên dịch mã lệnh Dart. Đây cũng chính là nơi thực hiện việc kết nối với hệ thống - Tầng framework được viết bằng mã lệnh Dart, cung cấp các lớp, chức năng và tiện ích (widget) được dùng để tạo ứng dụng Flutter. Lập trình viên sẽ sử dụng chủ yếu tầng này để lập trình.

Kiến trúc của Flutter 1. Một số đặc điểm nổi bật - Fast Development: Tíng năng Hot Reload hoạt động trong milliseconds để hiện thị giao diện tới bạn. Sử dụng tập hợp các widget có thể customizable để xây dựng giao diện trong vài phút. Ngoài ra Hot Reload còn giúp bạn thêm các tính năng, fix bug tiết kiệm thời gian hơn mà không cần phải thông qua máy ảo, máy android hoặc iOS.

- Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao diện của Flutter vô cùng đẹp mắt theo phong cách Material Design và Cupertino, hỗ trợ nhiều các APIs chuyển động, smooth scrolling. - Native Performance: Các widget của fluter kết hợp các sự khác biệt của các nền tảng ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng tốt nhất tới iOS và Android. Ưu và nhược điểm của Flutter: 1. Ưu điểm: - Flutter là một bộ open-source SDK, tức là nó hoàn toàn miễn phí và “mở” chính vì thế mà cộng đồng lập trình viên có thể cùng tham gia phát triển và hoàn thiện nó - Flutter cung cấp đầy đủ và đa dạng các tiện ích (widget) hỗ trợ nên lập trình viên ít khi cần sự hỗ trợ từ thư viện của bên thứ ba cung cấp - Hỗ trợ hot reload: Tính năng này cho phép thay đổi xuất hiện trực tiếp trên ứng dụng mà không cần phải rebuild lại toàn bộ ứng dụng từ đó làm giảm thời gian của lập trình viên và khiến việc xây dựng ứng dụng trở nên dễ dàng hơn 1.

Nhược điểm: - Còn nhiều hạn chế khi phát triển các ứng dụng có các chức năng cần can thiệp sâu vào phần cứng của thiết bị - Kích thước ứng dụng khá lớn do Flutter hỗ trợ đa nền tảng nên hiển nhiên số lượng file và mã nguồn cũng sẽ bị đội lên khá nhiều, tuy nhiên điều này đã được Google cam kết sẽ cải thiện hơn trong tương lai - Công nghệ còn mới và vẫn chưa có quá nhiều thư viện hỗ trợ, tuy nhiên thì cộng đồng lập trình viên sử dụng Flutter đang ngày càng nhiều, chính vì thế mà trong tương lai chắc chắn sẽ có thêm nhiều thư viện hỗ trợ tốt cho Flutter 2. Ngôn ngữ lập trình Dart 2. Tổng quan - Flutter sử dụng ngôn ngữ lập trình Dart. Ra đời từ năm 2011 và được phát triển bởi Google, Dart được sử dụng để xây dựng các ứng dụng web, server, máy tính để bàn và thiết bị di động.

- Dart là ngôn ngữ lập trình đa mục đích ban đầu được phát triển bởi Google và sau đó được Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn. - Dart là một ngôn ngữ hướng đối tượng, được xác định theo lớp, với cơ chế garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript. Nó hỗ trợ interface, mixin, abstract, generic, static typing và type safe. Tại sao Flutter chọn Dart? - Năng suất: Cú pháp Dart rõ ràng và súc tích, công cụ của nó đơn giản nhưng mạnh mẽ.

Type-safe giúp bạn xác định sớm các lỗi tinh tế. Dart có các thư viện cốt lõi và một hệ sinh thái gồm hàng ngàn package - Nhanh: Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự đoán hiệu suất cao và khởi động nhanh trên các thiết bị di động và web - Tính di động: Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa. Đối với các ứng dụng web, chuyển mã từ Dart sang JavaScript - Dễ học và sử dụng: Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và định hướng đối tượng không gây ngạc nhiên của nó. Nếu bạn đã biết C++, C # hoặc Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày.

Hệ quản trị cơ sở dữ liệu Firebase 3. Firebase là gì? Firebase là một nền tảng mà Google cung cấp để phát triển các ứng dụng di động và trang web, hỗ trợ Developer trong việc đơn giản hóa các thao tác với dữ liệu và không cần tác động tới backend hay server 3.

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