Aplikasi Fintech iOS

Nov 28 2022
Fintech adalah gabungan dari keuangan dan teknologi. Istilah ini mengacu pada industri baru yang menggunakan teknologi untuk meningkatkan penyampaian layanan keuangan.

Fintech adalah gabungan dari keuangan dan teknologi. Istilah ini mengacu pada industri baru yang menggunakan teknologi untuk meningkatkan penyampaian layanan keuangan. Mulai dari belanja online hingga transaksi mobile bank, hampir setiap hari orang menggunakan aplikasi fintech. Karena aplikasi pembayaran memungkinkan pemilik bisnis melakukan pembayaran langsung dari smartphone tanpa menggunakan metode penggajian tradisional, kami memutuskan untuk membuat aplikasi pembayaran ramah pelanggan dan penjual (2 aplikasi terpisah) yang tidak hanya akan membantu mereka melakukan transaksi tanpa hambatan, tetapi juga membuatnya dapatkan hadiah ekstra dengan setiap pembayaran yang akan mereka lakukan.

Aplikasi ini dibuat di lingkungan seluler iOS.

A) XCode IDE - Xcode adalah lingkungan pengembangan terintegrasi Apple untuk macOS, digunakan untuk mengembangkan perangkat lunak untuk macOS, iOS, dll. Versi Xcode 11+ digunakan untuk proyek ini.

B) Alat :

  1. Figma ( Alat Desain) : Ini adalah alat desain gratis untuk tim yang membangun produk bersama. Kami menggunakan alat ini untuk mendesain prototipe aplikasi dan membantu tim teknis untuk mendesain aplikasi secara real time.
  2. SwiftLint (Penataan Kode) : Alat sumber terbuka untuk menerapkan gaya dan konvensi Swift. Ini dikembangkan oleh Realm. Kami menggunakannya untuk menetapkan aturan gaya pengkodean dan memaksanya selama pengembangan.
  3. Swift Package Manager (Destribusi kode) : Ini adalah alat untuk mengelola distribusi kode Swift dan terintegrasi dengan sistem build Swift untuk mengotomatiskan proses pengunduhan, kompilasi, dan penautan dependensi. Kami menggunakannya sebagai pengganti pod kakao.
  4. Postman : Platform API untuk merancang, membangun, menguji, dan mengulangi API. Digunakan untuk membaca respons api paytm dan memeriksa apakah pembayaran berhasil atau gagal.

D) Kerangka:

  • SwiftUI (SwiftUI menyediakan tampilan, kontrol, dan struktur tata letak untuk mendeklarasikan antarmuka pengguna aplikasi Anda)
  • Foundation (menyediakan lapisan dasar fungsionalitas untuk aplikasi dan kerangka kerja, termasuk penyimpanan dan persistensi data, penghitungan tanggal dan waktu, penyortiran dan pemfilteran, dll.)
  • Menggabungkan (Swift API deklaratif untuk memproses nilai dari waktu ke waktu)
  • UIKit (kumpulan aset yang berisi kumpulan elemen desain seperti komponen dan gaya UI)
  • Lokasi Inti (Untuk melacak lokasi toko dan pengguna)
  • Firebase SDK (Untuk mengautentikasi pengguna, menyimpan informasinya, dan mendapatkan notifikasi)
  • CoreImage.CIFilterBuiltins (Untuk membuat QR dinamis untuk pembayaran)
  • CodeScanner (Untuk memindai kode QR dari toko)
  • Webkit (Untuk mengintegrasikan platform pembayaran dan membaca respons pembayaran)

F) Github (Alat Versi) : Ini adalah layanan hosting Internet untuk pengembangan perangkat lunak dan alat kontrol versi. Ini menyediakan kontrol versi terdistribusi dari Git plus kontrol akses, pelacakan bug, permintaan tarik, manajemen tugas, integrasi berkelanjutan dll untuk proyek kami.

G) Pola Desain Arsitektur (MVVM): Model View ViewModel adalah pola desain arsitektur yang digunakan dalam pengembangan seluler. Karena basis kode akan bertambah besar di masa mendatang, menggunakan pola MVVM akan menjadi lebih menguntungkan.

H) Integrasi Backend:

  • Firebase SDK: Menggunakan SDK ini menggunakan SPM (https://github.com/firebase/firebase-ios-sdk) dan menambahkan file .plist di proyek.
  • Notifications : FCM(Firebase Cloud Messaging) : Ini adalah solusi perpesanan lintas platform yang memungkinkan Anda mengirim pesan dengan andal tanpa biaya.
  • Basis data waktu nyata: Digunakan untuk menyimpan detail pedagang dan pengguna saat mereka mendaftar di aplikasi. Basis data ini mengikuti fungsi CRUD (buat, baca, perbarui, hapus) untuk membantu menyimpan informasi pengguna dengan aman.
  • Otentikasi Pengguna: ( Firebase Auth ) - Menggunakan kerangka kerja untuk memeriksa otentikasi pengguna pada saat masuk dan keluar. Ini membantu proses otentikasi dengan mengirimkan otp pada nomor ponsel terdaftar masing-masing dan memverifikasi pengguna.
  • J) KERING (jangan ulangi sendiri): Mengikuti prinsip pengembangan perangkat lunak ini untuk mengurangi pengulangan pola dan duplikasi kode untuk membantu abstraksi, sehingga menghindari redundansi.

    Aplikasi ini pada dasarnya memungkinkan pengguna dan pedagang membayar satu sama lain tanpa terasa dengan transfer online dan memungkinkan Anda mendapatkan diskon dan hadiah tambahan untuk setiap pembayaran yang Anda lakukan.

    Bisnis menghasilkan dengan model berlangganan di mana pengguna membayar biaya berlangganan kepada perusahaan untuk menggunakan aplikasi mereka dan mendapatkan manfaat tambahan pada setiap pembayaran. Jika langganan tidak dibeli, pengguna tidak akan mendapatkan diskon untuk setiap pembayaran yang mereka lakukan, tetapi akan dapat menggunakan aplikasi untuk melakukan pembayaran biasa tanpa diskon.

    Aplikasi pedagang mendapat penghasilan dari penjaga toko dengan membuat mereka mendaftar di aplikasi pada saat pendaftaran dan menggunakan aplikasi untuk persentase keuntungan lebih banyak pada setiap pembayaran.

    Sorotan Utama dari kode:

    > Untuk pemindaian Kode QR:

    Untuk memindai kode QR di aplikasi pengguna oleh pelanggan, kami mengintegrasikan kerangka kerja pihak ketiga (CodeScanner) dari Github untuk menyederhanakan proses pemindaian.

    Lihat tautan untuk mengetahui lebih banyak tentangnya dan mengintegrasikannya dalam proyek: https://github.com/twostraws/CodeScanner

    Itu disebut pada saat pemindaian dan berdasarkan hasil yaitu. sukses/gagal, navigasi layar akan terjadi. Jika berhasil, ia akan menavigasi ke halaman pembayaran dan jika gagal, ia akan menampilkan kesalahan berikut:

    case badInput //Kamera tidak dapat diakses.

    case badOutput // Kamera tidak mampu memindai kode yang diminta.

    > Integrasi Pembayaran:

    Untuk melakukan Pembayaran ke toko atau membayar biaya keanggotaan, WebKit diimpor dan diintegrasikan. Untuk mewujudkan pembayaran pada fase awal peluncuran, kami menambahkan integrasi tampilan web dari aplikasi pembayaran (Paytm) untuk mengirim dan menerima pembayaran.

    Langkah 1: TambahkanWKNavigationDelegateprotokol di objek yang Anda gunakan untuk mengoordinasikan perubahan di bingkai utama tampilan web Anda. Saat pengguna mencoba menavigasi konten web, tampilan web berkoordinasi dengan delegasi navigasinya untuk mengelola transisi apa pun.

    Langkah 2: Gunakan instance UIViewRepresentable untuk membuat dan mengelola objek UIView di antarmuka SwiftUI Anda. Adopsi protokol ini di salah satu instance khusus aplikasi Anda, dan gunakan metodenya untuk membuat, mengupdate, dan menghapus tampilan Anda.

    Langkah 3: Gunakan yang di atas di Tampilan utama. Berdasarkan keberhasilan atau kegagalan, respon yang ditampilkan.

    @StateObject var webViewCoordiantor = WebViewCoordinator()

    Gunakan kelas WebView di ZStack.

    > Hasilkan QR Dinamis:

    Untuk menghasilkan QR baru dengan jumlah yang berbeda setiap kali untuk aplikasi pedagang, kami mengikuti langkah-langkah berikut:

    Langkah 1:CIFilter Core Image menyediakan metode yang membuat instanstipe amanGunakan filter ini untuk menghindari error run-time yang dapat terjadi saat mengandalkan API berbasis string Core Image.

    impor CoreImage.CIFilterBuiltins

    Langkah 2: Kita memerlukan dua properti untuk menyimpan konteks Core Image yang aktif dan sebuah instance dari filter pembuat kode QR Core Image. Jadi, tambahkan keduanya keMeView:

    biarkan konteks = CIContext()

    biarkan memfilter CIFilter.qrCodeGenerator()

    Langkah 3: Buat fungsi generateQR dan gunakan di tampilan utama.

    Langkah 4: TambahkanImagetampilan baru ini langsung di bawah:

    > Pelacakan Lokasi:

    Untuk menunjukkan toko terdekat kepada pelanggan, kami memiliki kerangka kerja CoreLocation pengguna.

    Langkah 1: impor kerangka kerja CoreLocation:

    impor CoreLocation

    Langkah 2: Pengelola lokasi akan memanggil metode delegasinya untuk melaporkan kejadian terkait lokasi ke aplikasi Anda. Terapkan protokol ini dalam objek khusus aplikasi dan gunakan metode untuk mengupdate aplikasi Anda.

    Langkah 3: Sekarang dengan izin pengguna, koordinat lintang dan bujur, bantu iphone melacak lokasi pengguna dan toko terdekatnya.

    Dengan demikian Anda melihat izin di bawah ini untuk menampilkan toko.

    Kesimpulan : Seiring dengan semakin luasnya cakupan industri tekfin, pengembangan aplikasi tekfin akan terus berkembang dengan meningkatnya permintaan.

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

    Sukai, bagikan, dan ikuti untuk mendapatkan konten yang lebih menarik…!!

    Selamat Coding…!!