Case study · Ứng dụng Mobile
Money App
App quản lý tiền cá nhân: tự đồng bộ giao dịch MB Bank, tự phân loại, widget trên màn hình iPhone và ngân sách 50/30/20.
- Vai trò
- Dự án cá nhân
- Thời gian
- 2026
- Đơn vị
- Cá nhân
- Trạng thái
- Đang phát triển
Bối cảnh
Ghi chép chi tiêu bằng tay thì ai cũng bỏ giữa chừng. App này lấy giao dịch thẳng từ tài khoản MB Bank, tự phân loại, và đưa tình hình ngân sách ra ngay màn hình chính của iPhone.
Bài toán & cách giải
- 01
Ba thành phần, ba ngôn ngữ
Một service Node/TypeScript nói chuyện với MB Bank, một Laravel 12 API lo đồng bộ, phân loại, ngân sách và gửi push qua APNs, và một app iOS native viết bằng SwiftUI kèm widget WidgetKit và App Intents.
- 02
Không để credentials ngân hàng trên máy
Thông tin đăng nhập MB Bank được gửi thẳng lên backend qua HTTPS và chỉ lưu dạng mã hoá trong database. App iOS không lưu credentials ngân hàng — chỉ giữ token Sanctum trong Keychain. Credentials và IP hard-code trong service cũ được gỡ trước commit đầu tiên.
- 03
Thao tác ngay trên màn hình chính
Widget WidgetKit hiển thị tình hình chi tiêu. Ba App Intent — thêm giao dịch, đổi danh mục, xem chi tiêu hôm nay — cho phép làm việc mà không cần mở app. Widget có snapshot test riêng.
Kết quả
- Đang phát triển: service MB Bank, Laravel backend và app iOS SwiftUI đều đã có mã nguồn.
Dự án cá nhân, dùng cho một người. Mã nguồn để riêng tư.
Dự án tiếp theo