iOS Fintech-App

Nov 28 2022
Fintech ist die Summe aus Finanzen und Technologie. Der Begriff bezieht sich auf aufstrebende Branchen, die Technologien einsetzen, um die Bereitstellung von Finanzdienstleistungen zu verbessern.

Fintech ist die Summe aus Finanzen und Technologie. Der Begriff bezieht sich auf aufstrebende Branchen, die Technologien einsetzen, um die Bereitstellung von Finanzdienstleistungen zu verbessern. Vom Online-Shopping bis hin zu mobilen Banktransaktionen nutzen Menschen fast täglich Fintech-Anwendungen. Da die Zahlungs-Apps es Geschäftsinhabern ermöglichen, Zahlungen direkt von einem Smartphone aus zu tätigen, ohne herkömmliche Gehaltsabrechnungsmethoden zu verwenden, haben wir uns entschieden, eine kunden- und händlerfreundliche Zahlungs-App (2 separate Apps) zu entwickeln, die ihnen nicht nur dabei helfen würde, reibungslose Transaktionen durchzuführen, sondern sie auch durchzuführen Verdienen Sie zusätzliche Belohnungen mit jeder Zahlung, die sie leisten würden.

Die App wurde in der mobilen iOS-Umgebung erstellt.

A) XCode IDE – Xcode ist die integrierte Entwicklungsumgebung von Apple für macOS, die zur Entwicklung von Software für macOS, iOS usw. verwendet wird. Für dieses Projekt wurde die Version Xcode 11+ verwendet.

B) Werkzeuge :

  1. Figma ( Design Tool) : Es ist ein kostenloses Design-Tool für Teams, die gemeinsam Produkte entwickeln. Wir haben dieses Tool verwendet, um den Prototyp der App zu entwerfen und das technische Team beim Design der App in Echtzeit zu unterstützen.
  2. SwiftLint (Code Styling) : Das Open-Source-Tool zur Durchsetzung von Swift-Stil und -Konventionen. Es wird von Realm entwickelt. Wir haben es verwendet, um die Regeln für den Codierungsstil festzulegen und sie während der Entwicklung zu erzwingen.
  3. Swift Package Manager (Codeverteilung) : Es ist ein Tool zur Verwaltung der Verteilung von Swift-Code und integriert in das Swift-Build-System, um den Prozess des Herunterladens, Kompilierens und Verknüpfens von Abhängigkeiten zu automatisieren. Wir haben es anstelle von Kakaoschoten verwendet.
  4. Postman : API-Plattform zum Entwerfen, Erstellen, Testen und Iterieren von APIs. Verwenden Sie es, um die paytm-API-Antwort zu lesen und zu überprüfen, ob die Zahlung erfolgreich war oder fehlgeschlagen ist.

D) Rahmen:

  • SwiftUI (SwiftUI bietet Ansichten, Steuerelemente und Layoutstrukturen zum Deklarieren der Benutzeroberfläche Ihrer App)
  • Foundation (bietet eine grundlegende Funktionsebene für Apps und Frameworks, einschließlich Datenspeicherung und -persistenz, Datums- und Zeitberechnungen, Sortierung und Filterung usw.)
  • Combine (deklarative Swift-API zur Verarbeitung von Werten im Zeitverlauf)
  • UIKit (Sammlung von Assets, die eine Reihe von Designelementen wie UI-Komponenten und -Stile enthält)
  • Kernstandort (Um den Standort von Geschäften und Benutzern zu verfolgen)
  • Firebase SDK (Um den Benutzer zu authentifizieren, seine Informationen zu speichern und Benachrichtigungen zu erhalten)
  • CoreImage.CIFilterBuiltins (um dynamische QR für Zahlungen zu erstellen)
  • CodeScanner (Zum Scannen des QR-Codes aus dem Shop)
  • Webkit (um die Zahlungsplattform zu integrieren und die Zahlungsantwort zu lesen)

F) Github (Versioning Tool) : Dies ist der Internet-Hosting-Service für die Softwareentwicklung und das Versionskontrolltool. Es bietet die verteilte Versionskontrolle von Git plus Zugriffskontrolle, Fehlerverfolgung, Pull-Anforderungen, Aufgabenverwaltung, kontinuierliche Integration usw. für unser Projekt.

G) Architekturentwurfsmuster (MVVM): Das Model View ViewModel ist ein Architekturentwurfsmuster, das in der mobilen Entwicklung verwendet wird. Da die Codebasis in Zukunft größer werden würde, wäre die Verwendung des MVVM-Musters vorteilhafter.

H) Backend-Integration:

  • Firebase SDK: Dieses SDK mit SPM verwendet (https://github.com/firebase/firebase-ios-sdk) und hinzugefügte .plist-Datei im Projekt.
  • Benachrichtigungen : FCM (Firebase Cloud Messaging) : Es ist eine plattformübergreifende Messaging-Lösung, mit der Sie zuverlässig und kostenlos Nachrichten senden können.
  • Echtzeitdatenbank: Wird verwendet, um die Details von Händler und Benutzer zu speichern, wenn sie sich in der App registrieren. Dieser Datenbank folgen die CRUD-Funktionen (Erstellen, Lesen, Aktualisieren, Löschen), um die sichere Speicherung der Benutzerinformationen zu unterstützen.
  • Benutzerauthentifizierung: ( Firebase Auth ) – Verwendet das Framework, um die Benutzerauthentifizierung zum Zeitpunkt der Anmeldung und Abmeldung zu überprüfen. Es unterstützt den Authentifizierungsprozess, indem es das otp an die jeweilige registrierte Handynummer sendet und den Benutzer verifiziert.
  • J) DRY (Don't Repeat Yourself): Befolgte dieses Prinzip der Softwareentwicklung, um die Wiederholung von Mustern und die Codeduplizierung mithilfe von Abstraktionen zu reduzieren und so Redundanzen zu vermeiden.

    Diese App ermöglicht es einem Benutzer und einem Händler, sich gegenseitig nahtlos per Online-Überweisung zu bezahlen, und Sie erhalten zusätzliche Rabatte und Prämien für jede von Ihnen getätigte Zahlung.

    Das Unternehmen verdient mit dem Abonnementmodell, bei dem Benutzer Abonnementgebühren an das Unternehmen zahlen, um ihre App zu nutzen, und bei jeder Zahlung zusätzliche Vorteile erhalten. Wenn kein Abonnement gekauft wird, erhalten Benutzer keine Rabatte auf jede von ihnen getätigte Zahlung, können aber die App verwenden, um übliche Zahlungen ohne Rabatte zu leisten.

    Die Händler-App verdient vom Ladenbesitzer, indem sie ihn zum Zeitpunkt der Registrierung in der App registrieren lassen und die Anwendung für mehr Gewinnprozente bei jeder Zahlung verwenden.

    Wichtige Highlights des Codes:

    > Zum Scannen von QR-Codes:

    Um den QR-Code in der Benutzer-App durch den Kunden zu scannen, haben wir das Drittanbieter-Framework (CodeScanner) von Github integriert, um den Scanvorgang zu vereinfachen.

    Unter dem Link erfahren Sie mehr darüber und integrieren es in das Projekt: https://github.com/twostraws/CodeScanner

    Es wurde zum Zeitpunkt des Scannens aufgerufen und basierend auf dem Ergebnis, dh. Erfolg/Misserfolg, würde die Navigation des Bildschirms erfolgen. Wenn es erfolgreich war, würde es zur Zahlungsseite navigieren und wenn es ein Fehler ist, werden die folgenden Fehler ausgegeben:

    case badInput //Auf die Kamera konnte nicht zugegriffen werden.

    case badOutput // Die Kamera konnte die angeforderten Codes nicht scannen.

    > Zahlungsintegration:

    Um die Zahlung an einen Shop vorzunehmen oder Mitgliedsbeiträge zu bezahlen, wurde WebKit importiert und integriert. Um die Zahlung in der Anfangsphase des Starts zu ermöglichen, haben wir die Webview-Integration der Zahlungs-App (Paytm) hinzugefügt, um Zahlungen zu senden und zu empfangen.

    Schritte 1: FügenWKNavigationDelegateSie dem Objekt, das Sie verwenden, um Änderungen im Hauptrahmen Ihrer Webansicht zu koordinieren, ein Protokoll hinzu. Wenn der Benutzer versucht, im Webinhalt zu navigieren, stimmt sich die Webansicht mit ihrem Navigationsdelegierten ab, um alle Übergänge zu verwalten.

    Schritt 2: Verwenden Sie eine UIViewRepresentable- Instanz, um ein UIView-Objekt in Ihrer SwiftUI-Oberfläche zu erstellen und zu verwalten. Übernehmen Sie dieses Protokoll in einer der benutzerdefinierten Instanzen Ihrer App und verwenden Sie seine Methoden zum Erstellen, Aktualisieren und Abbauen Ihrer Ansicht.

    Schritt 3: Verwenden Sie das obige in der Hauptansicht. Basierend auf dem Erfolg oder Misserfolg wird die Antwort angezeigt.

    @StateObject var webViewCoordiantor = WebViewCoordinator()

    Verwenden Sie die WebView-Klasse in ZStack.

    > Dynamisches QR generieren:

    Um für die Händler-App jedes Mal einen neuen QR für einen anderen Betrag zu generieren, haben wir die folgenden Schritte befolgt:

    Schritt 1: Core Image stellt Methoden bereit, die typsichereCIFilterInstanzen erstellen. Verwenden Sie diese Filter, um Laufzeitfehler zu vermeiden, die auftreten können, wenn Sie sich auf die stringbasierte API von Core Image verlassen.

    Importieren Sie CoreImage.CIFilterBuiltins

    Schritt 2: Wir benötigen zwei Eigenschaften, um einen aktiven Core Image-Kontext und eine Instanz des QR-Code-Generatorfilters von Core Image zu speichern. Fügen Sie also diese beiden hinzuMeView:

    let context = CIContext()

    Filtern lassen CIFilter.qrCodeGenerator()

    Schritt 3: Erstellen Sie eine Funktion generateQR und verwenden Sie sie in der Hauptansicht.

    Schritt 4: Fügen Sie diese neueImageAnsicht direkt darunter hinzu:

    > Standortverfolgung:

    Um den Kunden die Geschäfte in der Nähe anzuzeigen, haben wir das CoreLocation-Framework für Benutzer.

    Schritt 1: Importieren Sie das CoreLocation-Framework:

    CoreLocation importieren

    Schritt 2: Der Standortmanager ruft die Methoden seines Stellvertreters auf, um standortbezogene Ereignisse an Ihre App zu melden. Implementieren Sie dieses Protokoll in einem App-spezifischen Objekt und verwenden Sie die Methoden zum Aktualisieren Ihrer App.

    Schritt 3: Jetzt mit Erlaubnis des Benutzers, Breiten- und Längenkoordinaten, helfen Sie dem iPhone, den Standort des Benutzers und seiner Geschäfte in der Nähe zu verfolgen.

    Daher sehen Sie die untenstehende Erlaubnis, die Shops anzuzeigen.

    Fazit : Da der Umfang der Fintech-Branche von Tag zu Tag größer wird, wird die Entwicklung von Fintech-Apps mit steigender Nachfrage weiter zunehmen.

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

    Liken, teilen und folgen Sie, um weitere interessante Inhalte zu erhalten…!!

    Viel Spaß beim Programmieren…!!