Ứng dụng công nghệ tài chính iOS

Nov 28 2022
Fintech là tổng của tài chính và công nghệ. Thuật ngữ này đề cập đến các ngành mới nổi sử dụng công nghệ để cải thiện việc cung cấp các dịch vụ tài chính.

Fintech là tổng của tài chính và công nghệ. Thuật ngữ này đề cập đến các ngành mới nổi sử dụng công nghệ để cải thiện việc cung cấp các dịch vụ tài chính. Từ mua sắm trực tuyến đến giao dịch ngân hàng di động, mọi người sử dụng các ứng dụng fintech hầu như mỗi ngày. Vì các ứng dụng thanh toán cho phép chủ doanh nghiệp thực hiện thanh toán trực tiếp từ điện thoại thông minh mà không cần sử dụng các phương thức trả lương truyền thống, chúng tôi đã quyết định tạo một ứng dụng thanh toán thân thiện với khách hàng và người bán (2 ứng dụng riêng biệt) không chỉ giúp họ thực hiện các giao dịch liền mạch mà còn giúp họ kiếm thêm phần thưởng với mỗi khoản thanh toán họ sẽ thực hiện.

Ứng dụng được tạo trong môi trường di động iOS.

A) XCode IDE - Xcode là môi trường phát triển tích hợp của Apple dành cho macOS, được sử dụng để phát triển phần mềm cho macOS, iOS, v.v. Phiên bản Xcode 11+ đã được sử dụng cho dự án này.

B) Công cụ :

  1. Figma( Design Tool) : Đây là một công cụ thiết kế miễn phí dành cho các nhóm cùng nhau xây dựng sản phẩm. Chúng tôi đã sử dụng công cụ này để thiết kế nguyên mẫu của ứng dụng và giúp nhóm kỹ thuật thiết kế ứng dụng trong thời gian thực.
  2. SwiftLint (Code Styling) : Công cụ mã nguồn mở để thực thi các quy ước và phong cách Swift. Nó được phát triển bởi Realm. Chúng tôi đã sử dụng nó để đặt các quy tắc về kiểu viết mã và buộc chúng trong quá trình phát triển.
  3. Trình quản lý gói Swift (Phân phối mã) : Đây là một công cụ để quản lý việc phân phối mã Swift và được tích hợp với hệ thống xây dựng Swift để tự động hóa quá trình tải xuống, biên dịch và liên kết các phần phụ thuộc. Chúng tôi đã sử dụng nó thay cho ca cao.
  4. Postman : Nền tảng API để thiết kế, xây dựng, thử nghiệm và lặp lại các API. Đã sử dụng nó để đọc phản hồi api paytm và kiểm tra xem thanh toán thành công hay thất bại.

D) Khung:

  • SwiftUI (SwiftUI cung cấp chế độ xem, điều khiển và cấu trúc bố cục để khai báo giao diện người dùng cho ứng dụng của bạn)
  • Foundation (cung cấp một lớp chức năng cơ bản cho các ứng dụng và khung, bao gồm lưu trữ và lưu trữ dữ liệu, tính toán ngày và giờ, sắp xếp và lọc, v.v.)
  • Kết hợp (API Swift khai báo để xử lý các giá trị theo thời gian)
  • UIKit (bộ sưu tập nội dung chứa một tập hợp các thành phần thiết kế như thành phần và kiểu UI)
  • Vị trí cốt lõi (Để theo dõi vị trí của các cửa hàng và người dùng)
  • SDK Firebase (Để xác thực người dùng, lưu trữ thông tin của người dùng và nhận thông báo)
  • CoreImage.CIFilterBuiltins (Để tạo QR động cho thanh toán)
  • CodeScanner (Để quét mã QR từ cửa hàng)
  • Webkit (Để tích hợp nền tảng thanh toán và đọc phản hồi thanh toán)

F) Github (Công cụ Phiên bản) : Đây là dịch vụ lưu trữ Internet dành cho công cụ kiểm soát phiên bản và phát triển phần mềm. Nó cung cấp kiểm soát phiên bản phân tán của Git cộng với kiểm soát truy cập, theo dõi lỗi, yêu cầu kéo, quản lý tác vụ, tích hợp liên tục, v.v. cho dự án của chúng tôi.

G) Mẫu thiết kế kiến ​​trúc (MVVM): Model View ViewModel là mẫu thiết kế kiến ​​trúc được sử dụng trong phát triển di động. Vì cơ sở mã sẽ tăng kích thước trong tương lai, nên việc sử dụng mẫu MVVM sẽ có nhiều lợi thế hơn.

H) Tích hợp phụ trợ:

  • SDK Firebase: Đã sử dụng SDK này bằng SPM (https://github.com/firebase/firebase-ios-sdk) và thêm tệp .plist vào dự án.
  • Thông báo : FCM(Firebase Cloud Messaging) : Đây là một giải pháp nhắn tin đa nền tảng cho phép bạn gửi tin nhắn miễn phí một cách đáng tin cậy.
  • Cơ sở dữ liệu thời gian thực: Được sử dụng để lưu trữ thông tin chi tiết về người bán và người dùng khi họ đăng ký trên ứng dụng. Cơ sở dữ liệu này được thực hiện theo các hàm CRUD(tạo, đọc, cập nhật, xóa) giúp lưu trữ thông tin người dùng một cách an toàn.
  • Xác thực người dùng: ( Firebase Auth ) - Đã sử dụng khung để kiểm tra xác thực người dùng tại thời điểm đăng nhập và đăng xuất. Nó giúp quá trình xác thực bằng cách gửi otp trên số điện thoại di động đã đăng ký tương ứng và xác minh người dùng.
  • J) KHÔ (không lặp lại chính mình): Tuân theo nguyên tắc phát triển phần mềm này để giảm sự lặp lại của các mẫu và sao chép mã để hỗ trợ trừu tượng hóa, do đó tránh được sự dư thừa.

    Về cơ bản, ứng dụng này cho phép người dùng và người bán thanh toán cho nhau một cách dễ dàng bằng chuyển khoản trực tuyến và cho phép bạn nhận thêm chiết khấu và phần thưởng cho mỗi khoản thanh toán bạn thực hiện.

    Doanh nghiệp kiếm tiền với mô hình đăng ký trong đó người dùng trả phí đăng ký cho công ty để sử dụng ứng dụng của họ và nhận thêm lợi ích trên mỗi khoản thanh toán. Nếu đăng ký không được mua, người dùng sẽ không được giảm giá cho mọi khoản thanh toán mà họ thực hiện nhưng sẽ có thể sử dụng ứng dụng để thực hiện các khoản thanh toán thông thường mà không được giảm giá.

    Ứng dụng người bán kiếm tiền từ chủ cửa hàng bằng cách yêu cầu họ đăng ký trên ứng dụng tại thời điểm đăng ký và sử dụng ứng dụng để có thêm phần trăm lợi nhuận trên mỗi khoản thanh toán.

    Điểm nổi bật chính của mã:

    > Để quét mã QR:

    Để khách hàng quét mã QR trong ứng dụng người dùng, chúng tôi đã tích hợp khung bên thứ ba (CodeScanner) từ Github để đơn giản hóa quy trình quét.

    Tham khảo liên kết để biết thêm về nó và tích hợp nó trong dự án: https://github.com/twostraraws/CodeScanner

    Nó được gọi tại thời điểm quét và dựa trên kết quả tức là. thành công/thất bại, điều hướng của màn hình sẽ xảy ra. Nếu thành công, nó sẽ điều hướng đến trang thanh toán và nếu thất bại, nó sẽ đưa ra các lỗi sau:

    case badInput //Không thể truy cập máy ảnh.

    case badOutput // Máy ảnh không thể quét mã được yêu cầu.

    > Tích hợp thanh toán:

    Để thực hiện Thanh toán cho cửa hàng hoặc thanh toán phí thành viên, WebKit đã được nhập và tích hợp. Để thực hiện thanh toán ở giai đoạn đầu khởi chạy, chúng tôi đã thêm tính năng tích hợp chế độ xem web của ứng dụng thanh toán (Paytm) để gửi và nhận thanh toán.

    Các bước 1: ThêmWKNavigationDelegategiao thức vào đối tượng bạn sử dụng để điều phối các thay đổi trong khung chính của chế độ xem web của bạn. Khi người dùng cố gắng điều hướng nội dung web, chế độ xem web sẽ phối hợp với đại diện điều hướng của nó để quản lý mọi chuyển đổi.

    Bước 2: Sử dụng phiên bản UIViewRepftimeable để tạo và quản lý đối tượng UIView trong giao diện SwiftUI của bạn. Áp dụng giao thức này trong một trong các phiên bản tùy chỉnh của ứng dụng và sử dụng các phương thức của nó để tạo, cập nhật và chia nhỏ chế độ xem của bạn.

    Bước 3: Sử dụng phần trên trong Chế độ xem chính. Dựa trên sự thành công hay thất bại, phản hồi được hiển thị.

    @StateObject var webViewCoordiantor = WebViewCoordinator()

    Sử dụng lớp WebView trong ZStack.

    > Tạo QR động:

    Để tạo QR mới với số tiền khác nhau mỗi lần cho ứng dụng người bán, chúng tôi đã làm theo các bước sau:

    Bước 1: Core Image cung cấp các phương thức tạo các phiên bản an toàn kiểuCIFilter. Sử dụng các bộ lọc này để tránh lỗi thời gian chạy có thể xảy ra khi dựa vào API dựa trên chuỗi của Core Image.

    nhập CoreImage.CIFilterBuiltins

    Bước 2: Chúng tôi cần hai thuộc tính để lưu trữ ngữ cảnh Core Image đang hoạt động và một phiên bản của bộ lọc tạo mã QR của Core Image. Vì vậy, thêm hai cái này vàoMeView:

    để ngữ cảnh = CIContext()

    hãy lọc CIFilter.qrCodeGenerator()

    Bước 3: Tạo một hàm generateQR và sử dụng nó trong giao diện chính.

    Bước 4: ThêmImagechế độ xem mới này ngay bên dưới:

    > Theo dõi vị trí:

    Để hiển thị các cửa hàng gần đó cho khách hàng, chúng tôi có khung CoreLocation người dùng.

    Bước 1: nhập khung CoreLocation:

    nhập CoreLocation

    Bước 2: Trình quản lý vị trí sẽ gọi các phương thức của người được ủy quyền để báo cáo các sự kiện liên quan đến vị trí cho ứng dụng của bạn. Triển khai giao thức này trong một đối tượng dành riêng cho ứng dụng và sử dụng các phương thức để cập nhật ứng dụng của bạn.

    Bước 3: Bây giờ với sự cho phép của người dùng, vĩ độ và kinh độ tọa độ, giúp iphone theo dõi vị trí của người dùng và các cửa hàng gần đó.

    Vì vậy, bạn thấy sự cho phép dưới đây để hiển thị các cửa hàng.

    Kết luận : Khi phạm vi của ngành fintech ngày càng mở rộng, việc phát triển ứng dụng fintech sẽ tiếp tục mở rộng với nhu cầu ngày càng tăng.

    • https://www.hackingwithswift.com/books/ios-swiftui/generating-and-scaling-up-a-qr-code
    • https://developer.apple.com/documentation/webkit/wkwebview
    • https://developer.apple.com/documentation/corelocation/
    • https://blog.kiprosh.com/preferable-dependency-manager-swift-package-manager-spm-or-cocoapods/

    Thích, chia sẻ và theo dõi để nhận được nhiều nội dung thú vị hơn…!!

    Mã hóa vui vẻ…!!