Ứng Dụng Quản Lý Chi Tiêu Cá Nhân Trong Phát Triển Phần Mềm Hướng Dịch Vụ

Tài liệu nghiên cứu Báo cáo đồ án môn học đề tài ứng dụng quản lí chi tiêu cá nh, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Người đăng

Ẩn danh

Thể loại

Báo Cáo Đồ Án

2023

89
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. CHƯƠNG 1: MÔ TẢ HỆ THỐNG

1.1. Mô tả hệ thống

1.2. Đặc tả sơ đồ

1.3. Kiến trúc REST API

1.3.1. Mô hình kiến trúc

1.3.2. Đặc tả kiến trúc Rest API

1.4. Kiến trúc MVC trong PHP

1.5. Kiến trúc MVVM trong Android / iOS

2. CHƯƠNG 2: MÔI TRƯỜNG MÁY CHỦ WEBSERVER

3. CHƯƠNG 3: CÁC CLIENT, APPLICATION TRUY CẬP API

3.1. Ứng dụng Android

3.1.1. Home Activity

3.1.2. Introduce Activity

3.1.3. Main Activity

3.1.4. Transaction

3.1.5. Card

3.1.6. Category

3.1.7. Goal

3.1.8. Notification

3.1.9. Dark Mode

3.2. Ứng dụng iOS

3.3. Ứng dụng web

3.3.1. Giao diện đăng nhập

3.3.2. Giao diện quên mật khẩu

3.3.3. Giao diện dashboard

3.3.3.1. Thanh điều hướng
3.3.3.2. Giao dịch và thống kê
3.3.3.3. Quick menu

3.3.4. Giao dịch

3.3.4.1. Quản lý thu nhập
3.3.4.2. Quản lý chi tiêu

3.3.5. Giao diện quản lý account

3.3.6. Quản lý ngân sách

3.3.7. Quản lý mục tiêu

3.3.8. Lịch

3.3.9. Thống kê và báo cáo

3.3.10. Quản lý users (chức năng admin)

3.3.11. Quản lý thể loại

3.3.12. Quản lý settings

3.3.12.1. Quản lý profile
3.3.12.2. Quản lý ứng dụng
3.3.12.3. Quản lý cài đặt email SMTP

4. CHƯƠNG 4: REST API

4.1. Overview

4.2. Error Codes

4.3. Property Description

4.4. Rate limit

4.5. Xác thực

4.6. Categories

4.6.1. Sửa thể loại

4.6.2. Lấy danh sách thể loại income

4.6.3. Thêm mới thể loại

4.6.4. Xóa thể loại

4.6.5. Lấy thông tin chi tiết một thể loại

4.6.6. Lấy danh sách thể loại expense

4.7. Tài khoản

4.7.1. Lấy danh sách tài khoản

4.7.2. Sửa tài khoản

4.7.3. Xóa tài khoản

4.7.4. Tạo mới tài khoản

4.7.5. Lấy danh sách giao dịch theo account

4.7.6. Lấy thông tin chi tiết một tài khoản

4.8. Mục tiêu

4.8.1. Lấy danh sách mục tiêu

4.8.2. Sửa mục tiêu

4.8.3. Thêm mới mục tiêu

4.8.4. Xóa mục tiêu

4.8.5. Thêm tiền cho mục tiêu

4.8.6. Lấy thông tin chi tiết một mục tiêu

Tóm tắt

I. Tổng quan đồ án ứng dụng quản lý chi tiêu hướng dịch vụ

Báo cáo đồ án này trình bày chi tiết quá trình xây dựng và phát triển một ứng dụng quản lý chi tiêu cá nhân hoàn chỉnh, áp dụng kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA). Mục tiêu cốt lõi của dự án là cung cấp một công cụ hiệu quả cho người dùng trong việc ghi chép chi tiêu, theo dõi thu chilập ngân sách một cách khoa học. Trong bối cảnh tài chính cá nhân ngày càng phức tạp, việc có một hệ thống hỗ trợ là vô cùng cần thiết. Đồ án không chỉ giải quyết bài toán của người dùng cuối mà còn là một tài liệu thực tiễn cho sinh viên ngành công nghệ phần mềm về quy trình phân tích thiết kế hệ thống, lựa chọn công nghệ và triển khai một sản phẩm thực tế. Nền tảng của ứng dụng là một hệ thống backend mạnh mẽ, cung cấp các RESTful API để các client trên nền tảng Web, Android và iOS có thể truy cập và tương tác dữ liệu một cách đồng bộ. Việc lựa chọn kiến trúc hướng dịch vụ giúp hệ thống có khả năng mở rộng, bảo trì và tích hợp dễ dàng trong tương lai. Toàn bộ quá trình, từ phân tích yêu cầu người dùng ban đầu đến thiết kế giao diện người dùng (UI/UX) và triển khai, đều được ghi nhận trong báo cáo này. Đây là minh chứng cho việc áp dụng thành công các kiến thức từ môn học Phát triển phần mềm hướng dịch vụ vào một dự án có tính ứng dụng cao, giải quyết một nhu cầu thực tiễn trong xã hội hiện đại.

1.1. Thách thức trong việc theo dõi thu chi và quản lý tài chính

Việc quản lý tài chính cá nhân thủ công thường gặp nhiều khó khăn như dễ sai sót, mất thời gian và khó có cái nhìn tổng quan về tình hình tài chính. Người dùng thường không thể theo dõi thu chi một cách nhất quán, dẫn đến việc chi tiêu vượt mức kế hoạch. Thách thức đặt ra là cần một hệ thống tự động hóa, cho phép ghi chép chi tiêu nhanh chóng, phân loại giao dịch thông minh và cung cấp các báo cáo trực quan. Hơn nữa, việc lập ngân sách cho từng hạng mục cụ thể và nhận cảnh báo khi gần vượt ngưỡng là một yêu cầu quan trọng mà các phương pháp truyền thống không thể đáp ứng hiệu quả. Đồ án này ra đời nhằm giải quyết trực tiếp những thách thức đó bằng một giải pháp phần mềm toàn diện.

1.2. Mục tiêu của đồ án phát triển phần mềm hướng dịch vụ

Mục tiêu chính của đồ án bao gồm: 1) Phân tích thiết kế hệ thống một ứng dụng quản lý chi tiêu cá nhân hoàn chỉnh. 2) Áp dụng thành công kiến trúc hướng dịch vụ (SOA) để xây dựng một hệ thống backend linh hoạt, dễ mở rộng. 3) Thiết kế và triển khai bộ RESTful API chuẩn hóa để phục vụ cho nhiều nền tảng client khác nhau. 4) Xây dựng các ứng dụng client (Web, Android, iOS) với giao diện người dùng (UI/UX) thân thiện, cung cấp đầy đủ chức năng cốt lõi như quản lý giao dịch, tài khoản, ngân sách và mục tiêu tiết kiệm. 5) Đảm bảo tính nhất quán dữ liệu và bảo mật thông tin người dùng trên toàn hệ thống. Đồ án này là một báo cáo đồ án tốt nghiệp mẫu mực, thể hiện năng lực áp dụng lý thuyết vào thực tiễn.

II. Hướng dẫn phân tích thiết kế hệ thống quản lý chi tiêu

Quá trình phân tích thiết kế hệ thống là nền tảng quyết định sự thành công của ứng dụng quản lý chi tiêu cá nhân. Giai đoạn này bắt đầu bằng việc phân tích yêu cầu người dùng, xác định các chức năng cần có như: quản lý giao dịch, quản lý tài khoản ngân hàng, lập ngân sách theo tháng/năm, và thiết lập mục tiêu tài chính. Dựa trên các yêu cầu đó, kiến trúc tổng thể của hệ thống được định hình. Trong đồ án này, kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) được lựa chọn làm kim chỉ nam. Các dịch vụ được phân tách một cách logic, ví dụ: dịch vụ quản lý người dùng, dịch vụ quản lý giao dịch, dịch vụ báo cáo. Tiếp theo là thiết kế cơ sở dữ liệu, nơi các bảng dữ liệu như mp_users, mp_transactions, mp_categories, mp_budgets được tạo ra để lưu trữ thông tin một cách có cấu trúc và hiệu quả. Các sơ đồ use case được vẽ để mô tả tương tác giữa người dùng và hệ thống, trong khi sơ đồ lớpsơ đồ hoạt động giúp làm rõ cấu trúc và luồng xử lý bên trong. Toàn bộ thiết kế này đảm bảo ứng dụng không chỉ đáp ứng yêu cầu hiện tại mà còn sẵn sàng cho việc mở rộng các tính năng mới mà không ảnh hưởng đến các thành phần hiện có.

2.1. Lựa chọn kiến trúc hướng dịch vụ SOA và Microservices

Lựa chọn Service-Oriented Architecture (SOA) là một quyết định chiến lược. Kiến trúc này cho phép chia nhỏ ứng dụng thành các dịch vụ độc lập, có thể tái sử dụng và giao tiếp với nhau thông qua các giao thức chuẩn. Mỗi dịch vụ đảm nhiệm một chức năng kinh doanh cụ thể (ví dụ: xác thực, quản lý giao dịch). Điều này khác với kiến trúc nguyên khối (Monolithic) truyền thống, giúp việc phát triển, triển khai và nâng cấp từng phần của hệ thống trở nên dễ dàng hơn. Mặc dù đồ án tập trung vào SOA, nó cũng mở ra hướng tiếp cận microservices, một biến thể chi tiết hơn của SOA, nơi các dịch vụ được thiết kế nhỏ và độc lập hơn nữa. Ưu điểm chính là khả năng mở rộng linh hoạt và lựa chọn công nghệ phát triển phần mềm đa dạng cho từng dịch vụ.

2.2. Chi tiết thiết kế cơ sở dữ liệu cho việc ghi chép chi tiêu

Việc thiết kế cơ sở dữ liệu được thực hiện cẩn thận để đảm bảo tính toàn vẹn và hiệu suất. Tài liệu đồ án mô tả chi tiết các bảng chính: mp_transactions lưu trữ mọi giao dịch thu/chi; mp_categories phân loại giao dịch (ăn uống, mua sắm); mp_budgets chứa thông tin ngân sách người dùng đặt ra; mp_users quản lý thông tin người dùng; và mp_goals để theo dõi thu chi cho các mục tiêu tiết kiệm. Mối quan hệ giữa các bảng được thiết lập hợp lý, ví dụ, mỗi giao dịch trong mp_transactions sẽ liên kết với một người dùng trong mp_users và một thể loại trong mp_categories. Cấu trúc này cho phép truy vấn dữ liệu phức tạp để tạo báo cáo, thống kê một cách nhanh chóng và chính xác.

2.3. Sơ đồ Use Case và sơ đồ lớp mô tả chức năng hệ thống

Để trực quan hóa hệ thống, các sơ đồ Use Case đã được xây dựng. Ví dụ, use case 'Thêm giao dịch mới' sẽ bao gồm các bước: người dùng nhập số tiền, chọn thể loại, chọn tài khoản và lưu lại. Các tác nhân (Actor) chính là 'Người dùng' và 'Quản trị viên'. Bên cạnh đó, sơ đồ lớp chi tiết hóa các thực thể trong hệ thống như User, Transaction, Category, Budget, mô tả các thuộc tính và phương thức của chúng. Các sơ đồ này không chỉ là tài liệu thiết kế mà còn là công cụ giao tiếp hiệu quả trong nhóm phát triển, đảm bảo mọi thành viên đều có chung một sự hiểu biết về cách hệ thống hoạt động.

III. Phương pháp xây dựng RESTful API cho ứng dụng tài chính

Trái tim của ứng dụng quản lý chi tiêu cá nhân này là hệ thống RESTful API. Đây là cầu nối trung gian cho phép các client (Web, Android, iOS) giao tiếp với server để xử lý dữ liệu. Việc xây dựng API tuân thủ nghiêm ngặt các nguyên tắc của REST, sử dụng các phương thức HTTP (GET, POST, PUT, DELETE) một cách có ý nghĩa. Ví dụ, GET /api/transactions được dùng để lấy danh sách giao dịch, trong khi POST /api/transactions dùng để tạo một giao dịch mới. Dữ liệu trao đổi chủ yếu ở định dạng JSON, một định dạng nhẹ và dễ xử lý. Một khía cạnh quan trọng khác là bảo mật thông tin. Mọi yêu cầu truy cập tài nguyên người dùng đều phải được xác thực thông qua JSON Web Token (JWT). Token này được cấp cho người dùng sau khi đăng nhập thành công và phải được đính kèm trong header của mỗi request sau đó. Hệ thống API được tài liệu hóa rõ ràng, mô tả chi tiết từng endpoint, tham số đầu vào, và cấu trúc dữ liệu trả về, giúp cho việc tích hợp phía client trở nên thuận lợi. Source code app quản lý chi tiêu phần backend cho thấy sự tổ chức khoa học của các controller, service và model, tuân thủ theo các mô hình thiết kế phổ biến.

3.1. Đặc tả kiến trúc và quy tắc hoạt động của REST API

Theo tài liệu báo cáo, mọi request API đều trả về một cấu trúc JSON thống nhất bao gồm các thuộc tính result (0 hoặc 1), msg (thông báo), methoddata. Quy tắc này giúp phía client dễ dàng xử lý kết quả, dù thành công hay thất bại. Ví dụ, endpoint GET /api/accounts sẽ trả về danh sách các tài khoản ngân hàng của người dùng trong thuộc tính data. Endpoint được thiết kế theo tài nguyên, ví dụ các API liên quan đến thể loại được nhóm dưới /api/incomecategories hoặc /api/expensecategories. Cách thiết kế này giúp API trở nên dễ hiểu và dễ bảo trì.

3.2. Cơ chế xác thực và bảo mật thông tin người dùng qua JWT

Để đảm bảo bảo mật thông tin, hệ thống sử dụng phương thức xác thực bằng JWT. Khi người dùng đăng nhập thành công qua endpoint POST /api/login, server sẽ tạo ra một accessToken. Client phải lưu trữ token này và gửi nó trong header Authorization của mỗi request tiếp theo (ví dụ: Authorization: JWT <token>). Server sẽ giải mã và xác thực token này trước khi xử lý bất kỳ yêu cầu nào. Cơ chế này giúp bảo vệ các API, đảm bảo rằng chỉ người dùng đã được xác thực mới có thể truy cập vào dữ liệu cá nhân của mình, ngăn chặn các truy cập trái phép.

IV. Demo ứng dụng quản lý chi tiêu trên đa nền tảng tối ưu

Một trong những thành công lớn của đồ án là việc triển khai thành công các client trên nhiều nền tảng, mang lại trải nghiệm liền mạch cho người dùng. Ứng dụng quản lý chi tiêu cá nhân này có mặt trên Web, Android và iOS, tất cả đều kết nối đến cùng một hệ thống backend thông qua RESTful API. Phiên bản Web được xây dựng với giao diện dashboard mạnh mẽ, cho phép người dùng thực hiện các thao tác phức tạp như xem báo cáo, thống kê, và nhập dữ liệu hàng loạt từ file CSV. Phiên bản di động (Android và iOS) tập trung vào sự tiện lợi và nhanh chóng, tối ưu hóa cho việc ghi chép chi tiêu ngay khi phát sinh. Các ứng dụng này sử dụng các kiến trúc hiện đại như MVC cho Web (PHP) và MVVM cho Android/iOS. Giao diện người dùng (UI/UX) được thiết kế đơn giản, trực quan với các tính năng hữu ích như Dark Mode, thông báo đẩy, và biểu đồ phân tích chi tiêu. Phần demo ứng dụng cho thấy khả năng đồng bộ hóa dữ liệu tức thì giữa các thiết bị: một giao dịch được thêm vào trên điện thoại sẽ ngay lập tức xuất hiện trên phiên bản web và ngược lại. Điều này thể hiện sức mạnh của kiến trúc hướng dịch vụ đã được lựa chọn.

4.1. Giao diện người dùng UI UX và các chức năng trên Web

Ứng dụng web cung cấp một giao diện dashboard toàn diện. Người dùng có thể dễ dàng quản lý các giao dịch thu chi, tài khoản, ngân sách và mục tiêu. Các tính năng nổi bật bao gồm: thanh điều hướng tiện lợi, quick menu để thêm nhanh giao dịch, khả năng lọc và tìm kiếm mạnh mẽ. Đặc biệt, chức năng thống kê và báo cáo cho phép người dùng xem biểu đồ phân tích chi tiêu theo thể loại, theo thời gian, giúp đưa ra các quyết định tài chính thông minh hơn. Đối với quản trị viên, giao diện web còn có chức năng quản lý người dùng, thể loại và các cài đặt hệ thống.

4.2. Trải nghiệm ứng dụng trên Android và iOS với kiến trúc MVVM

Các ứng dụng di động được phát triển với trọng tâm là tốc độ và sự đơn giản. Kiến trúc MVVM (Model-View-ViewModel) được áp dụng để tách biệt logic giao diện và logic nghiệp vụ, giúp mã nguồn sạch sẽ và dễ bảo trì. Các chức năng chính như thêm giao dịch, xem số dư, kiểm tra tiến độ mục tiêu đều được tối ưu hóa cho thao tác một tay. Home Activity đóng vai trò là màn hình chính, từ đó người dùng có thể truy cập mọi tính năng khác. Ứng dụng cũng hỗ trợ các tính năng hiện đại như đăng nhập bằng tài khoản Google/Facebook và chế độ Dark Mode để bảo vệ mắt người dùng.

V. Kết luận đồ án và hướng phát triển cho ứng dụng tương lai

Đồ án ứng dụng quản lý chi tiêu cá nhân đã hoàn thành xuất sắc các mục tiêu đề ra, từ việc phân tích thiết kế hệ thống đến triển khai một sản phẩm phần mềm hoàn chỉnh hoạt động trên đa nền tảng. Việc áp dụng thành công kiến trúc hướng dịch vụ và xây dựng một hệ thống RESTful API mạnh mẽ là thành tựu kỹ thuật nổi bật nhất. Sản phẩm cuối cùng không chỉ là một công cụ hữu ích cho việc quản lý tài chính cá nhân mà còn là một báo cáo đồ án tốt nghiệp chất lượng, minh chứng cho kiến thức và kỹ năng của nhóm phát triển. Các chức năng cốt lõi như ghi chép chi tiêu, lập ngân sách, và theo dõi thu chi đều hoạt động ổn định và hiệu quả. Tuy nhiên, dự án vẫn còn những hạn chế nhất định và nhiều tiềm năng để phát triển trong tương lai. Hướng đi tiếp theo có thể bao gồm việc tích hợp AI để tự động phân loại giao dịch từ tin nhắn SMS của ngân hàng, phát triển các tính năng đầu tư, hoặc cung cấp các gói tư vấn tài chính cá nhân. Những cải tiến này sẽ giúp ứng dụng trở nên thông minh và toàn diện hơn, đáp ứng nhu cầu ngày càng cao của người dùng.

5.1. Tổng kết các kết quả đạt được của đồ án phần mềm

Kết quả chính của đồ án là một hệ thống phần mềm hoàn chỉnh bao gồm: một backend xây dựng theo kiến trúc hướng dịch vụ, một bộ RESTful API được tài liệu hóa đầy đủ, và ba ứng dụng client (Web, Android, iOS) có giao diện thân thiện và đồng bộ dữ liệu tốt. Đồ án đã áp dụng thành công các công nghệ phát triển phần mềm phổ biến như PHP (cho web server), MySQL (cơ sở dữ liệu), và các framework hiện đại cho di động. Hệ thống đáp ứng đầy đủ các yêu cầu chức năng và phi chức năng đã đề ra ban đầu, đặc biệt là tính ổn định và khả năng mở rộng.

5.2. Hạn chế và tiềm năng phát triển mở rộng các dịch vụ

Mặc dù đã thành công, đồ án vẫn còn một số hạn chế như giao diện chưa được tối ưu hóa hoàn toàn cho mọi kích thước màn hình và chưa có các tính năng nâng cao như liên kết trực tiếp với tài khoản ngân hàng để tự động đồng bộ giao dịch. Hướng phát triển trong tương lai rất rộng mở. Hệ thống có thể mở rộng bằng cách thêm các dịch vụ mới (microservices) như dịch vụ phân tích, dự báo chi tiêu bằng máy học, dịch vụ quản lý danh mục đầu tư, hoặc tích hợp với các ví điện tử. Việc này sẽ nâng cao giá trị của ứng dụng, biến nó từ một công cụ ghi chép đơn thuần thành một trợ lý tài chính thông minh.

09/07/2025
Báo cáo đồ án môn học đề tài ứng dụng quản lí chi tiêu cá nh

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

Chương 1: MÔ TẢ HỆ THỐNG I. Mô tả hệ thống 1. Đặc tả sơ đồ Tên bảng Mô tả Bảng mục tiêu, sẽ là những mục tiêu mp_goals cần đạt được Bảng chứa danh sách các giao dịch của mp_transactions người dùng Bảng chưa toàn bộ danh sách các thể mp_categories loại của giao dịch: mua sắm, ăn uống, … Bảng chưa danh sách các budget (ngân mp_budgets sách chi tiêu) là số tiền mà bạn dự định sẽ bỏ ra để chi cho cái gì đó Bảng chứa danh sách người dùng trong mp_users hệ thống Bảng chưa danh sách các tài khoản ngân hàng (không có chứa mật khẩu), mp_acounts Gồm: tên, mô tả, số tài khoản, số tiền hiện có bảng chứa thông báo của hệ thống tới mp_notifications người dùng Bảng chứa các thông tin khác của mp_general_data website 4. Kiến trúc REST API a.

Mô hình kiến trúc b. Đặc tả kiến trúc Rest API là một ứng dụng được dùng để chuyển đổi cấu trúc của dữ liệu có những phương thức giúp kết nối với các thư viện và ứng dụng khác nhau. Rest Api thường không được xem là công nghệ, mà nó là giải pháp giúp tạo ra những ứng dụng web services chuyên dụng để thay thế cho nhiều kiểu khác như: SOAP, WSDL,. API là từ viết tắt của cụm từ Application Programming Interface, đây là tập hợp những quy tắc và cơ chế mà theo đó thì: Một ứng dụng hoặc một thành phần nào đó sẽ tương tác với một ứng dụng hoặc một số thành phần khác.

API có thể sẽ được trả về dữ liệu mà người dùng cần cho chính ứng dụng của bạn với những kiểu dữ liệu được dùng phổ biến như JSON hoặc XML. Rest là từ viết tắt của Representational State Transfer: Nó là một trong những dạng chuyển đổi cấu trúc, với kiểu kiến trúc thường được viết API. Rest thường sử dụng dụng phương thức HTTP đơn giản để có thể tạo ra giao tiếp giữa các máy.Bởi vì thế, thay vì phải sử dụng một URL cho việc xử lý một số thông tin của người dùng thì Rest sẽ yêu cầu HTTP như: GET, POST, DELETE,. đến với bất kỳ một URL để được xử lý dữ liệu.

Kiến trúc MVC trong PHP Mô hình MVC là mô hình gồm 3 lớp: Model, View, Controller. Cụ thể như sau: Model: Lớp này chịu trách nhiệm quản lí dữ liệu: giao tiếp với cơ sở dữ liệu, chịu trách nhiệm lưu trữ hoặc truy vấn dữ liệu. View: Lớp này chính là giao diện của ứng dụng, chịu trách nhiệm biểu diễn dữ liệu của ứng dụng thành các dạng nhìn thấy được. Controller: Lớp này đóng vai trò quản lí và điều phối luồng hoạt động của ứng dụng.

Tầng này sẽ nhận request từ client, điều phối các Model và View để có thể cho ra output thích hợp và trả kết quả về cho người dung. Kiến trúc MVVM trong Android / iOS MVVM được hiểu như thế nào? View: Tương tự như trong mô hình MVC, View là phần giao diện của ứng dụng để hiển thị dữ liệu và nhận tương tác của người dùng. Một điểm khác biệt so với các ứng dụng truyền thống là View trong mô hình này tích cực hơn. Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng binding, command.

Model: Cũng tương tự như trong mô hình MVC. Model là các đối tượng giúp truy xuất và thao tác trên dữ liệu thực sự. ViewModel: Lớp trung gian giữa View và Model. ViewModel có thể được xem là thành phần thay thế cho Controller trong mô hình MVC.

Nó chứa các mã lệnh cần thiết để thực hiện data binding, command.  ViewModel không hề biết gì về View, một ViewModel có thể được sử dụng cho nhiều View (one-to-many). ViewModel sử dụng Observer design pattern để liên lạc với View (thường được gọi là binding data, có thể là 1 chiều hoặc 2 chiều tùy nhu cầu ứng dụng). Chính đặc điểm này MVVM thường được phối hợp với các thư viện hỗ trợ Reactive Programming hay Event/Data Stream, đây là triết lý lập trình hiện đại và hiệu quả phát triển rất mạnh trong những năm gần đây.

Chương 2: MÔI TRƯỜNG MÁY CHỦ WEBSERVER LAMP là viết tắt của Linux, Apache, MySQL và PHP (cũng có thể là Python, Perl nhưng bài này chỉ nói về Php), mỗi trong số đó là các gói phần mềm riêng lẻ được kết hợp để tạo thành một giải pháp máy chủ web linh hoạt. Các thành phần này, được sắp xếp theo các lớp hỗ trợ lẫn nhau, tạo thành các stack phần mềm. Linux: là lớp đầu tiên trong stack. Hệ điều hành này là cơ sở nền tảng cho các lớp phần mềm khác.

Apache đóng vai trò một HTTP server dùng để xử lý các yêu cầu gửi tới máy chủ. Mysql là cơ sở dữ liệu để lưu trữ mọi thông tin trên website. PHP sau đó sẽ xử lý các nhiệm vụ cần thiết hoặc kết nối với CSDL MySQL để lấy thông tin cần thiết sau đó trả về cho Apache. Apache cuối cùng sẽ trả kết quả nhận được về cho máy khách đã gửi yêu cầu tới.

Chương 3: CÁC CLIENT, APPLICATION TRUY CẬP API I. Ứng dụng Android Home Activity Đây là activity quan trọng, đóng vai trò là màn hình chính của ứng dụng. Từ home activity ta có thể truy cập tới bất kì chức năng khác nếu muốn. Activity này là nơi quản lý và sử dụng các Fragment Introduce Activity Đây là nơi hiển thị các màn hình giới thiệu nếu đây là lần đầu tiên người dùng mở ứng dụng lên Màn hình giới thiệu ứng dụng Main Activity Bản chất là màn hình đăng nhập.

Nếu người dùng lần đầu mở ứng dụng thì sẽ đi qua Introduce Activity trước rồi mới tới màn hình Đăng nhập. Ngược lại, nếu đã đăng nhập tài khoản thì khi mở ứng dụng sẽ vào ngay màn hình Home Activity. Màn hình đăng nhập ứng dụng. Hỗ trợ 3 hình thức đăng nhập khác nhau Màn hình chính và các chức năng chủ chốt Transaction Quản lý các nguồn thu nhập/hoạt động chi tiêu và tạo sao kê với nhiều tùy chọn khác nhau Chức năng quản lý các hoạt động thu nhập/chi tiêu Thêm mới hoặc chỉnh sửa nội dung dễ dàng Tạo sao kê với nhiều tùy chọn lọc dữ liệu Sao kê với các thông tin theo chuẩn Ngân hàng Trung ương Việt Nam Card Tạo thẻ ngân hàng và kiểm soát số dư tài khoản Category Tạo các thể loại thu nhập/chi tiêu theo mong muốn Goal Chức năng này giúp bạn đặt ra các mục tiêu để và kiểm soát việc tiết kiệm tiền bạc Để dành thêm được một khoản tiền ?? Cập nhật ngay thôi Notification Hiển thị thông báo ngay trên thanh quick-setting của thiết bị Dark Mode Hỗ trợ mạnh mẽ và toàn diện chế độ ban đêm II.

Ứng dụng iOS II. Ứng dụng web Giao diện đăng nhập Giao diện đăng nhập Giao diện đầu tiên người dùng nhìn thấy khi truy cập trang web. Bao gồm các tính năng cơ bản như đăng nhập, nhớ mật khẩu, quên mật khẩu.  Giao diện quên mật khẩu Người dùng có thể chọn quên mật khẩu và làm theo hướng dẫn theo từng bước để đến giao diện đổi mật khẩu.

 Giao diện dashboard Vì đây là giao diện chính của trang web nên có rất nhiều mục để thao tác.  Thanh điều hướng Thanh điều hướng giúp người dùng thuận tiện trong việc chuyển đổi giao diện để thao tác, Bên cạnh đó còn có thanh sáng giúp người dùng nhận biết mình đang ở giao diện nào.  Giao dịch và thống kê Giao dịch và thống kê Đây được coi là mục chính của dashboard vì chứa tất cả các thông tin của người dùng hiện tại bao gồm số dư, giao dịch trong tháng hoặc năm.  Quick menu Quick menu Đây là menu giúp người dùng đi thẳng đến giao diện thêm các giao dịch và ngân sách.

 Giao dịch Giao dịch được chia ra làm 2 phần là thu nhập và chi tiêu( income & expense). Quản lý thu nhập Quản lý chi tiêu Ở đây người dùng có thể thêm xóa sửa bất cứ giao dịch nào vì đây là giao dịch cá nhân của người dùng. Ngoài ra còn có tính năng import nhanh giao dịch bằng file CSV thích hợp cho việc người dùng chuyển đổi tài khoản nhưng vẫn muốn lưu giữ giao dịch cũ mà không cần thêm lại từng cái. Giao diện quản lý account Người dùng có thể thêm xóa sửa các tài khoản ngân hàng của mình.

 Quản lý ngân sách Giao diện quản lý ngân sách Thêm xóa sửa các ngân sách đặt ra.  Quản lý mục tiêu Giao diện quản lý mục tiêu Thêm xóa sửa các mục tiêu và thêm tiền để đạt được mục tiêu.  Lịch Giao diện lịch Người dùng có thể xem các giao dịch thu/chi mà mình đã tạo ra theo ngày hoặc tháng năm để dễ kiểm soát chi tiêu.  Thống kê và báo cáo Đầu tiên người dùng có thể chọn loại để thống kê và in ra báo cáo bao gồm loại giao dịch theo thu/chi, tài khoản, khoảng thời gian… Thống kê và báo cáo Tùy theo người dùng chọn loại thống kê mà sẽ chuyển hướng tới giao diện tương tự Giao diện thống kê & báo cáo thu nhập  Quản lý users (chức năng admin) Khi đăng nhập vào trang web phân quyền admin ở thanh điều hướng sẽ có chức năng quản lý users có thể thêm xóa sửa thông tin các users sử dụng app hoặc website của mình.

Quản lý users  Quản lý thể loại Người dùng có thể thêm xóa sửa thể loại. Quản lý thể loại  Quản lý settings Quản lý profile Quản lý ứng dụng Quản lý cài đặt email SMTP Chương 4: REST API I. Overview Đây là tài liệu hướng dẫn sử dụng API của moneypro Link documents: https://bitly.vn/ndz4xl. Error Codes HTTP status code của API: Mọi request của api đều trả về code 200.

Nếu có thất bại thì sẽ phân biệt qua thuộc tính result trong json trả về. Kết quả trả về của api sẽ có dạng chung như sau {"result": 0,"msg": "Thông báo", "method":"GET", "data": [],.} Property Description Range of Values Required Kết quả thực thi có result 0-1 của request Thông báo có msg string người dùng phương thức mà có GET|POST|DELETE| method người dùng đã PUT request API kết quả dang không, tuỳ vào data sách kết quả trả Array, Object request về Trong đó result, msg, method sẽ là các thuộc tính luôn xuất hiện trong api, ngoài sẽ có data hoặc các thuộc tính khác tuỳ vào API được request. Rate limit Đây chỉ là API để phục vụ học tập, testing, không thương mại hoá. Nên sẽ ko giới hạn số lần request IV.

Xác thực Thêm các tham số bên dưới vào header trong mỗi lần gọi api Bit Tên uh Kifu dư뀃 liê Mă ch đ椃⌀nh Mô tả buô ch JWT<dấucách><token> (xem Login để xem chi tiết về Authorization string có <token>) V. Categories Có 2 loại tiền trong ứng dụng là Income và Expense tương ứng là Thu nhập và chi tiêu Đi kèm trong giao dịch sẽ có cách thể loại.

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

Tài liệu này đi sâu vào việc xây dựng và triển khai một ứng dụng quản lý chi tiêu cá nhân theo cách tiếp cận hiện đại. Nó khám phá cách thức tích hợp các nguyên tắc của phát triển phần mềm hướng dịch vụ để tạo ra một giải pháp hiệu quả. Người đọc sẽ hiểu rõ các mô hình kiến trúc, quy trình thiết kế và lợi ích của việc sử dụng các dịch vụ độc lập, có thể tái sử dụng. Sự phân tích này giúp các nhà phát triển tạo ra hệ thống linh hoạt, dễ mở rộng và bảo trì. Đồng thời, tài liệu cũng nhấn mạnh tầm quan trọng của việc nghiên cứu kiến trúc hướng dịch vụ để tối ưu hóa hiệu suất và khả năng tương tác của phần mềm, mang lại giá trị cao cho người dùng cuối trong việc quản lý tài chính cá nhân.