แอพ iOS Fintech

Nov 28 2022
Fintech คือผลรวมของการเงินและเทคโนโลยี คำนี้หมายถึงอุตสาหกรรมเกิดใหม่ที่ใช้เทคโนโลยีเพื่อปรับปรุงการส่งมอบบริการทางการเงิน

Fintech คือผลรวมของการเงินและเทคโนโลยี คำนี้หมายถึงอุตสาหกรรมเกิดใหม่ที่ใช้เทคโนโลยีเพื่อปรับปรุงการส่งมอบบริการทางการเงิน ตั้งแต่การช้อปปิ้งออนไลน์ไปจนถึงการทำธุรกรรมผ่านธนาคารบนมือถือ ผู้คนใช้แอพพลิเคชั่นฟินเทคเกือบทุกวัน เนื่องจากแอปการชำระเงินช่วยให้เจ้าของธุรกิจสามารถชำระเงินได้โดยตรงจากสมาร์ทโฟนโดยไม่ต้องใช้วิธีบัญชีเงินเดือนแบบดั้งเดิม เราจึงตัดสินใจที่จะสร้างแอปการชำระเงินที่เป็นมิตรต่อลูกค้าและผู้ค้า (2 แอปแยกกัน) ซึ่งไม่เพียงช่วยให้พวกเขาทำธุรกรรมได้อย่างราบรื่นเท่านั้น แต่ยังทำให้ รับรางวัลพิเศษกับทุกการชำระเงินที่พวกเขาจะทำ

แอพนี้สร้างขึ้นในสภาพแวดล้อมมือถือ iOS

A) XCode IDE - Xcode เป็นสภาพแวดล้อมการพัฒนาแบบผสานรวมของ Apple สำหรับ macOS ซึ่งใช้เพื่อพัฒนาซอฟต์แวร์สำหรับ macOS, iOS เป็นต้น ใช้เวอร์ชัน Xcode 11+ สำหรับโครงการนี้

ข) เครื่องมือ :

  1. Figma( Design Tool) : เป็นเครื่องมือออกแบบฟรีสำหรับทีมที่สร้างผลิตภัณฑ์ร่วมกัน เราใช้เครื่องมือนี้ในการออกแบบต้นแบบของแอปและช่วยทีมเทคนิคในการออกแบบแอปแบบเรียลไทม์
  2. SwiftLint (Code Styling) : เครื่องมือโอเพ่นซอร์สเพื่อบังคับใช้สไตล์และระเบียบแบบแผนของ Swift มันถูกพัฒนาโดยอาณาจักร เราใช้มันเพื่อกำหนดกฎของรูปแบบการเขียนโค้ดและบังคับใช้ระหว่างการพัฒนา
  3. Swift Package Manager (การแจกแจงโค้ด) :เป็นเครื่องมือสำหรับจัดการการแจกจ่ายโค้ด Swift และรวมเข้ากับระบบสร้าง Swift เพื่อทำให้กระบวนการดาวน์โหลด คอมไพล์ และเชื่อมโยงการพึ่งพาเป็นไปโดยอัตโนมัติ เราใช้แทนฝักโกโก้
  4. Postman : แพลตฟอร์ม API สำหรับออกแบบ สร้าง ทดสอบ และทำซ้ำ API ใช้มันเพื่ออ่านการตอบกลับ paytm api และตรวจสอบว่าการชำระเงินสำเร็จหรือล้มเหลว

D) กรอบ:

  • SwiftUI (SwiftUI ให้มุมมอง การควบคุม และโครงสร้างเค้าโครงสำหรับการประกาศส่วนติดต่อผู้ใช้ของแอปของคุณ)
  • Foundation (จัดเตรียมฟังก์ชันการทำงานพื้นฐานสำหรับแอปและเฟรมเวิร์ก รวมถึงการจัดเก็บข้อมูลและการคงอยู่ การคำนวณวันที่และเวลา การเรียงลำดับและการกรอง ฯลฯ)
  • รวม (Swift API ที่ประกาศสำหรับการประมวลผลค่าเมื่อเวลาผ่านไป)
  • UIKit (คอลเลกชันของสินทรัพย์ที่มีชุดขององค์ประกอบการออกแบบ เช่น ส่วนประกอบและสไตล์ของ UI)
  • ตำแหน่งหลัก (เพื่อติดตามตำแหน่งของร้านค้าและผู้ใช้)
  • Firebase SDK (เพื่อตรวจสอบสิทธิ์ผู้ใช้ เก็บข้อมูลและรับการแจ้งเตือน)
  • CoreImage.CIFilterBuiltins (เพื่อสร้าง QR แบบไดนามิกสำหรับการชำระเงิน)
  • CodeScanner (เพื่อสแกนคิวอาร์โค้ดจากร้านค้า)
  • Webkit (เพื่อรวมแพลตฟอร์มการชำระเงินและอ่านคำตอบการชำระเงิน)

F) Github (Versioning Tool) :เป็นบริการอินเทอร์เน็ตโฮสติ้งสำหรับการพัฒนาซอฟต์แวร์และเครื่องมือควบคุมเวอร์ชัน ให้การควบคุมเวอร์ชันแบบกระจายของ Git บวกกับการควบคุมการเข้าถึง การติดตามข้อผิดพลาด การดึงคำขอ การจัดการงาน การรวมอย่างต่อเนื่อง ฯลฯ สำหรับโครงการของเรา

G) รูปแบบการออกแบบสถาปัตยกรรม(MVVM): Model View ViewModel เป็นรูปแบบการออกแบบสถาปัตยกรรมที่ใช้ในการพัฒนามือถือ เนื่องจากโค้ดเบสจะมีขนาดใหญ่ขึ้นในอนาคต การใช้รูปแบบ MVVM จะได้รับประโยชน์มากขึ้น

H) การรวมแบ็กเอนด์:

  • Firebase SDK:ใช้ SDK นี้โดยใช้ SPM (https://github.com/firebase/firebase-ios-sdk) และเพิ่มไฟล์ .plist ในโครงการ
  • การแจ้งเตือน : FCM(Firebase Cloud Messaging) : เป็นโซลูชันการส่งข้อความข้ามแพลตฟอร์มที่ช่วยให้คุณส่งข้อความได้อย่างน่าเชื่อถือโดยไม่มีค่าใช้จ่าย
  • ฐานข้อมูลเรียลไทม์:ใช้เพื่อเก็บรายละเอียดของผู้ค้าและผู้ใช้เมื่อพวกเขาลงทะเบียนตัวเองในแอป ฐานข้อมูลนี้เป็นไปตามฟังก์ชัน CRUD (สร้าง อ่าน อัปเดต ลบ) เพื่อช่วยจัดเก็บข้อมูลผู้ใช้อย่างปลอดภัย
  • การ รับรองความถูกต้องของผู้ใช้: ( Firebase Auth )- ใช้เฟรมเวิร์กเพื่อตรวจสอบการรับรองความถูกต้องของผู้ใช้ในเวลาที่เข้าสู่ระบบและออกจากระบบ ช่วยกระบวนการตรวจสอบสิทธิ์โดยส่ง otp ไปยังหมายเลขโทรศัพท์มือถือที่ลงทะเบียนและยืนยันผู้ใช้
  • J) แห้ง(อย่าพูดซ้ำ): ปฏิบัติ ตาม หลักการพัฒนาซอฟต์แวร์นี้เพื่อลดการซ้ำซ้อนของรูปแบบและการทำซ้ำโค้ดเพื่อช่วยในนามธรรม ดังนั้นจึงหลีกเลี่ยงความซ้ำซ้อน

    แอปนี้โดยพื้นฐานแล้วให้ผู้ใช้และผู้ค้าชำระเงินให้กันโดยดูเหมือนไม่ติดขัดด้วยการโอนออนไลน์ และช่วยให้คุณได้รับส่วนลดและรางวัลเพิ่มเติมสำหรับทุกการชำระเงินที่คุณทำ

    ธุรกิจทำรายได้ด้วยรูปแบบการสมัครรับข้อมูลที่ผู้ใช้จ่ายค่าธรรมเนียมการสมัครสมาชิกให้กับบริษัทเพื่อใช้แอปของตนและรับสิทธิประโยชน์เพิ่มเติมในการชำระเงินทุกครั้ง หากไม่ได้ซื้อการสมัครสมาชิก ผู้ใช้จะไม่ได้รับส่วนลดจากการชำระเงินทุกครั้ง แต่จะสามารถใช้แอปเพื่อชำระเงินตามปกติโดยไม่มีส่วนลด

    แอพผู้ค้าสร้างรายได้จากเจ้าของร้านโดยทำให้พวกเขาลงทะเบียนในแอพ ณ เวลาที่ลงทะเบียนและใช้แอพพลิเคชั่นเพื่อผลกำไรที่มากขึ้นในการชำระเงินแต่ละครั้ง

    จุดเด่นที่สำคัญของรหัส:

    > สำหรับการสแกนรหัส QR:

    ในการสแกนรหัส QR ในแอปผู้ใช้โดยลูกค้า เราได้รวมเฟรมเวิร์กของบุคคลที่สาม (CodeScanner) จาก Github เพื่อทำให้กระบวนการสแกนง่ายขึ้น

    อ้างถึงลิงก์เพื่อทราบข้อมูลเพิ่มเติมและรวมเข้ากับโครงการ: https://github.com/twostraws/CodeScanner

    มันถูกเรียกในขณะที่ทำการสแกนและตามผลลัพธ์เช่น สำเร็จ/ล้มเหลว การนำทางของหน้าจอจะเกิดขึ้น หากสำเร็จ ระบบจะนำคุณไปยังหน้าการชำระเงิน และหากล้มเหลว ระบบจะแสดงข้อผิดพลาดต่อไปนี้:

    case badInput // ไม่สามารถเข้าถึงกล้องได้

    case badOutput // กล้องไม่สามารถสแกนรหัสที่ร้องขอได้

    > การรวมการชำระเงิน:

    ในการชำระเงินให้กับร้านค้าหรือชำระค่าสมาชิกWebKitจะถูกนำเข้าและรวมเข้าด้วยกัน ในการทำให้การชำระเงินเกิดขึ้นในช่วงแรกของการเปิดตัว เราได้เพิ่มการรวม webview ของแอพการชำระเงิน (Paytm) เพื่อส่งและรับการชำระเงิน

    ขั้นตอนที่ 1:เพิ่มWKNavigationDelegateโปรโตคอลในวัตถุที่คุณใช้เพื่อประสานการเปลี่ยนแปลงในเฟรมหลักของมุมมองเว็บของคุณ ขณะที่ผู้ใช้พยายามนำทางเนื้อหาเว็บ มุมมองเว็บจะประสานงานกับผู้รับมอบสิทธิ์การนำทางเพื่อจัดการการเปลี่ยนใดๆ

    ขั้นตอนที่ 2:ใช้ อินสแตนซ์ UIViewRepresentableเพื่อสร้างและจัดการวัตถุ UIView ในอินเทอร์เฟซ SwiftUI ของคุณ นำโปรโตคอลนี้ไปใช้ในหนึ่งในอินสแตนซ์ที่กำหนดเองของแอป และใช้วิธีการเพื่อสร้าง อัปเดต และทำลายมุมมองของคุณ

    ขั้นตอนที่ 3:ใช้ด้านบนในมุมมองหลัก ขึ้นอยู่กับความสำเร็จหรือความล้มเหลวจะแสดงการตอบสนอง

    @StateObject var webViewCoordiantor = WebViewCoordinator()

    ใช้คลาส WebView ใน ZStack

    > สร้าง QR แบบไดนามิก:

    ในการสร้าง QR ใหม่ด้วยจำนวนเงินที่แตกต่างกันทุกครั้งสำหรับแอปผู้ขาย เราได้ทำตามขั้นตอนต่อไปนี้:

    ขั้นตอนที่ 1: Core Image มีเมธอดที่สร้างCIFilterอินสแตนซ์ใช้ตัวกรองเหล่านี้เพื่อหลีกเลี่ยงข้อผิดพลาดรันไทม์ที่อาจเกิดขึ้นเมื่อใช้ API แบบสตริงของ Core Image

    นำเข้า CoreImage.CIFilterBuiltins

    ขั้นตอนที่ 2:เราต้องการคุณสมบัติสองอย่างเพื่อจัดเก็บบริบท Core Image ที่ใช้งานอยู่และอินสแตนซ์ของตัวกรองตัวสร้างรหัส QR ของ Core Image ดังนั้นเพิ่มสองสิ่งนี้ในMeView:

    ให้บริบท = CIContext()

    ให้ตัวกรอง CIFilter.qrCodeGenerator()

    ขั้นตอนที่ 3:สร้างฟังก์ชัน createQRและใช้ในมุมมองหลัก

    ขั้นตอนที่ 4:เพิ่มImageมุมมองใหม่ด้านล่างโดยตรง:

    > การติดตามตำแหน่ง:

    เพื่อแสดงร้านค้าใกล้เคียงแก่ลูกค้า เรามีเฟรมเวิร์ก CoreLocation ของผู้ใช้

    ขั้นตอนที่ 1:นำเข้ากรอบงาน CoreLocation:

    นำเข้า CoreLocation

    ขั้นตอนที่ 2:ผู้จัดการตำแหน่งจะเรียกวิธีการของผู้รับมอบสิทธิ์เพื่อรายงานเหตุการณ์ที่เกี่ยวข้องกับตำแหน่งไปยังแอปของคุณ ใช้โปรโตคอลนี้ในวัตถุเฉพาะแอปและใช้วิธีการต่างๆ เพื่ออัปเดตแอปของคุณ

    ขั้นตอนที่ 3:ตอนนี้ได้รับอนุญาตจากผู้ใช้แล้ว พิกัดละติจูดและลองจิจูดช่วยให้ iphone ติดตามตำแหน่งของผู้ใช้และร้านค้าใกล้เคียงได้

    ดังนั้นคุณจึงเห็นการอนุญาตด้านล่างเพื่อแสดงร้านค้า

    สรุป : เนื่องจากขอบเขตของอุตสาหกรรมฟินเทคกว้างขึ้นทุกวัน การพัฒนาแอปฟินเทคจะยังคงขยายต่อไปพร้อมกับความต้องการที่เพิ่มขึ้น

    • 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/

    ไลค์ แชร์ และติดตามเพื่อรับเนื้อหาที่น่าสนใจ…!!

    มีความสุขในการเข้ารหัส…!!