Application Fintech iOS
La fintech est la somme de la finance et de la technologie. Le terme fait référence aux industries émergentes qui utilisent la technologie pour améliorer la prestation de services financiers. Des achats en ligne aux transactions bancaires mobiles, les gens utilisent des applications fintech presque tous les jours. Comme les applications de paiement permettent aux propriétaires d'entreprise d'effectuer des paiements directement à partir d'un smartphone sans utiliser les méthodes de paie traditionnelles, nous avons décidé de créer des applications de paiement conviviales pour les clients et les commerçants (2 applications distinctes) qui les aideraient non seulement à effectuer des transactions transparentes, mais également à les rendre gagner des récompenses supplémentaires avec chaque paiement qu'ils feraient.
L'application a été créée dans l'environnement mobile iOS.
A) XCode IDE - Xcode est l'environnement de développement intégré d'Apple pour macOS, utilisé pour développer des logiciels pour macOS, iOS, etc. La version Xcode 11+ a été utilisée pour ce projet.
B) Outils :
- Figma( Design Tool) : C'est un outil de conception gratuit pour les équipes qui construisent des produits ensemble. Nous avons utilisé cet outil pour concevoir le prototype de l'application et aider l'équipe technique à concevoir l'application en temps réel.
- SwiftLint (Code Styling) : L'outil open-source pour appliquer le style et les conventions Swift. Il est développé par Realm. Nous l'avons utilisé pour définir les règles de style de codage et les forcer pendant le développement.
- Swift Package Manager (Code destribution) : C'est un outil de gestion de la distribution du code Swift et intégré au système de construction Swift pour automatiser le processus de téléchargement, de compilation et de liaison des dépendances. Nous l'avons utilisé à la place des cabosses de cacao.
- Postman : plateforme d'API pour concevoir, construire, tester et itérer des API. Utilisé pour lire la réponse de l'api paytm et vérifier si le paiement a été un succès ou un échec.
D) Cadres :
- SwiftUI (SwiftUI fournit des vues, des contrôles et des structures de mise en page pour déclarer l'interface utilisateur de votre application)
- Foundation (fournit une couche de base de fonctionnalités pour les applications et les frameworks, y compris le stockage et la persistance des données, les calculs de date et d'heure, le tri et le filtrage, etc.)
- Combine (API Swift déclarative pour le traitement des valeurs au fil du temps)
- UIKit (collection d'actifs contenant un ensemble d'éléments de conception tels que des composants et des styles d'interface utilisateur)
- Emplacement principal (pour suivre l'emplacement des magasins et des utilisateurs)
- Firebase SDK (pour authentifier l'utilisateur, stocker ses informations et recevoir une notification)
- CoreImage.CIFilterBuiltins (Pour créer un QR dynamique pour les paiements)
- CodeScanner (pour scanner le code QR de la boutique)
- Webkit (pour intégrer la plateforme de paiement et lire la réponse de paiement)
F) Github (Versioning Tool) : C'est le service d'hébergement Internet pour le développement de logiciels et l'outil de contrôle de version. Il fournit le contrôle de version distribué de Git plus le contrôle d'accès, le suivi des bogues, les demandes d'extraction, la gestion des tâches, l'intégration continue, etc. pour notre projet.
G) Modèle de conception architecturale (MVVM) : le modèle de vue ViewModel est un modèle de conception d'architecture utilisé dans le développement mobile. Comme la base de code augmenterait à l'avenir, l'utilisation du modèle MVVM deviendrait plus avantageuse.
H) Intégration dorsale :
- SDK Firebase : utilisé ce SDK à l'aide de SPM (https://github.com/firebase/firebase-ios-sdk) et ajout du fichier .plist dans le projet.
- Notifications : FCM (Firebase Cloud Messaging) : Il s'agit d'une solution de messagerie multiplateforme qui vous permet d'envoyer des messages de manière fiable et sans frais.
- Base de données en temps réel : utilisée pour stocker les détails du commerçant et de l'utilisateur lorsqu'ils s'enregistrent sur l'application. Cette base de données est suivie des fonctions CRUD (créer, lire, mettre à jour, supprimer) pour aider à stocker les informations des utilisateurs en toute sécurité.
- Authentification de l'utilisateur : ( Firebase Auth ) - Utilisation du framework pour vérifier l'authentification de l'utilisateur au moment de la connexion et de la déconnexion. Il facilite le processus d'authentification en envoyant l'otp sur le numéro de mobile enregistré respectif et vérifie l'utilisateur.
- Pour obtenir l'histoire détaillée de ce produit et son analyse de marché, consultez le lien ci-dessous. J'ai analysé en détail le produit et ses perspectives commerciales. Application de paiement Fintech (expérience en développement et en gestion de produits)
- 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) DRY (ne vous répétez pas) : suivi de ce principe de développement logiciel pour réduire la répétition des modèles et la duplication de code à l'aide d'abstractions, évitant ainsi la redondance.
Cette application permet essentiellement à un utilisateur et à un commerçant de se payer sans problème avec un transfert en ligne et vous permet d'obtenir des remises et des récompenses supplémentaires sur chaque paiement que vous effectuez.
L'entreprise gagne avec le modèle d'abonnement où les utilisateurs paient des frais d'abonnement à l'entreprise pour utiliser leur application et obtenir des avantages supplémentaires à chaque paiement. Si l'abonnement n'est pas acheté, les utilisateurs n'obtiendront pas de remise sur chaque paiement qu'ils effectuent, mais pourront utiliser l'application pour effectuer des paiements habituels sans remise.
L'application marchande gagne du commerçant en le faisant s'inscrire sur l'application au moment de l'inscription et en utilisant l'application pour plus de pourcentages de profit sur chaque paiement.
Principaux faits saillants du code :
> Pour scanner le QR Code :
Pour scanner le code QR dans l'application utilisateur par le client, nous avons intégré le framework tiers (CodeScanner) de Github pour simplifier le processus de numérisation.
Référez-vous au lien pour en savoir plus et l'intégrer dans le projet : https://github.com/twostraws/CodeScanner
Il a été appelé au moment de la numérisation et basé sur le résultat, c'est-à-dire. succès/échec, la navigation de l'écran se produirait. Si c'était un succès, il naviguerait vers la page de paiement et si c'était un échec, il renverrait les erreurs suivantes :
case badInput // Impossible d'accéder à la caméra.
case badOutput // La caméra n'a pas pu scanner les codes demandés.

> Intégration de paiement :
Pour effectuer le Paiement à une boutique ou pour payer les frais d'adhésion, WebKit a été importé et intégré. Pour que le paiement ait lieu lors de la phase initiale du lancement, nous avons ajouté l'intégration de la vue Web de l'application de paiement (Paytm) pour envoyer et recevoir des paiements.
Étapes 1 : AjoutezWKNavigationDelegate
protocole dans l'objet que vous utilisez pour coordonner les modifications dans le cadre principal de votre vue Web. Lorsque l'utilisateur tente de naviguer dans le contenu Web, la vue Web se coordonne avec son délégué de navigation pour gérer les transitions.

Étape 2 : Utilisez une instance UIViewRepresentable pour créer et gérer un objet UIView dans votre interface SwiftUI. Adoptez ce protocole dans l'une des instances personnalisées de votre application et utilisez ses méthodes pour créer, mettre à jour et supprimer votre vue.

Étape 3 : Utilisez ce qui précède dans la vue principale. En fonction du succès ou de l'échec, la réponse est affichée.
@StateObject var webViewCoordiantor = WebViewCoordinator()
Utilisez la classe WebView dans ZStack.


> Générer QR Dynamique :
Pour générer un nouveau QR pour un montant différent à chaque fois pour l'application marchand, nous avons suivi les étapes suivantes :
Étape 1 :CIFilter
Core Image fournit des méthodes qui créent des instancesde type sécuriséUtilisez ces filtres pour éviter les erreurs d'exécution qui peuvent se produire lors de l'utilisation de l'API basée sur des chaînes de Core Image.
importer CoreImage.CIFilterBuiltins
Étape 2 : Nous avons besoin de deux propriétés pour stocker un contexte Core Image actif et une instance du filtre générateur de code QR de Core Image. Alors, ajoutez ces deux àMeView
:
laisser contexte = CIContext()
laisser filtrer CIFilter.qrCodeGenerator()
Étape 3 : Créez une fonction generateQR et utilisez-la dans la vue principale.

Étape 4 : Ajoutez cette nouvelleImage
vue directement ci-dessous :

> Suivi de localisation :
Afin de montrer les magasins à proximité aux clients, nous avons le framework utilisateur CoreLocation.
Étape 1 : importez le framework CoreLocation :
importer CoreLocation
Étape 2 : Le gestionnaire d'emplacement appellera les méthodes de son délégué pour signaler les événements liés à l'emplacement à votre application. Implémentez ce protocole dans un objet spécifique à l'application et utilisez les méthodes pour mettre à jour votre application.

Étape 3 : Maintenant, avec la permission de l'utilisateur, les coordonnées de latitude et de longitude, aidez l'iphone à suivre l'emplacement de l'utilisateur et de ses magasins à proximité.

Ainsi, vous voyez ci-dessous l'autorisation de montrer les magasins.

Conclusion : À mesure que la portée de l'industrie fintech s'élargit de jour en jour, le développement d'applications fintech continuera de se développer avec l'augmentation de la demande.
Aimez, partagez et suivez pour obtenir un contenu plus intéressant… !!
Bon codage… !!