แอพ iOS Fintech
Fintech คือผลรวมของการเงินและเทคโนโลยี คำนี้หมายถึงอุตสาหกรรมเกิดใหม่ที่ใช้เทคโนโลยีเพื่อปรับปรุงการส่งมอบบริการทางการเงิน ตั้งแต่การช้อปปิ้งออนไลน์ไปจนถึงการทำธุรกรรมผ่านธนาคารบนมือถือ ผู้คนใช้แอพพลิเคชั่นฟินเทคเกือบทุกวัน เนื่องจากแอปการชำระเงินช่วยให้เจ้าของธุรกิจสามารถชำระเงินได้โดยตรงจากสมาร์ทโฟนโดยไม่ต้องใช้วิธีบัญชีเงินเดือนแบบดั้งเดิม เราจึงตัดสินใจที่จะสร้างแอปการชำระเงินที่เป็นมิตรต่อลูกค้าและผู้ค้า (2 แอปแยกกัน) ซึ่งไม่เพียงช่วยให้พวกเขาทำธุรกรรมได้อย่างราบรื่นเท่านั้น แต่ยังทำให้ รับรางวัลพิเศษกับทุกการชำระเงินที่พวกเขาจะทำ
แอพนี้สร้างขึ้นในสภาพแวดล้อมมือถือ iOS
A) XCode IDE - Xcode เป็นสภาพแวดล้อมการพัฒนาแบบผสานรวมของ Apple สำหรับ macOS ซึ่งใช้เพื่อพัฒนาซอฟต์แวร์สำหรับ macOS, iOS เป็นต้น ใช้เวอร์ชัน Xcode 11+ สำหรับโครงการนี้
ข) เครื่องมือ :
- Figma( Design Tool) : เป็นเครื่องมือออกแบบฟรีสำหรับทีมที่สร้างผลิตภัณฑ์ร่วมกัน เราใช้เครื่องมือนี้ในการออกแบบต้นแบบของแอปและช่วยทีมเทคนิคในการออกแบบแอปแบบเรียลไทม์
- SwiftLint (Code Styling) : เครื่องมือโอเพ่นซอร์สเพื่อบังคับใช้สไตล์และระเบียบแบบแผนของ Swift มันถูกพัฒนาโดยอาณาจักร เราใช้มันเพื่อกำหนดกฎของรูปแบบการเขียนโค้ดและบังคับใช้ระหว่างการพัฒนา
- Swift Package Manager (การแจกแจงโค้ด) :เป็นเครื่องมือสำหรับจัดการการแจกจ่ายโค้ด Swift และรวมเข้ากับระบบสร้าง Swift เพื่อทำให้กระบวนการดาวน์โหลด คอมไพล์ และเชื่อมโยงการพึ่งพาเป็นไปโดยอัตโนมัติ เราใช้แทนฝักโกโก้
- 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 ไปยังหมายเลขโทรศัพท์มือถือที่ลงทะเบียนและยืนยันผู้ใช้
- หากต้องการทราบเรื่องราวโดยละเอียดของผลิตภัณฑ์นี้และการวิเคราะห์ตลาด โปรดดูลิงก์ด้านล่าง ฉันได้วิเคราะห์ผลิตภัณฑ์และโอกาสทางธุรกิจโดยละเอียดแล้ว Fintech Payment App (ประสบการณ์การพัฒนาและการจัดการผลิตภัณฑ์)
- 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/
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 ติดตามตำแหน่งของผู้ใช้และร้านค้าใกล้เคียงได้
ดังนั้นคุณจึงเห็นการอนุญาตด้านล่างเพื่อแสดงร้านค้า
สรุป : เนื่องจากขอบเขตของอุตสาหกรรมฟินเทคกว้างขึ้นทุกวัน การพัฒนาแอปฟินเทคจะยังคงขยายต่อไปพร้อมกับความต้องการที่เพิ่มขึ้น
ไลค์ แชร์ และติดตามเพื่อรับเนื้อหาที่น่าสนใจ…!!
มีความสุขในการเข้ารหัส…!!