App Fintech per iOS
Fintech è la somma di finanza e tecnologia. Il termine si riferisce alle industrie emergenti che utilizzano la tecnologia per migliorare la fornitura di servizi finanziari. Dallo shopping online alle transazioni bancarie mobili, le persone utilizzano le applicazioni fintech quasi ogni giorno. Poiché le app di pagamento consentono agli imprenditori di effettuare pagamenti direttamente da uno smartphone senza utilizzare i tradizionali metodi di busta paga, abbiamo deciso di creare un'app di pagamento adatta ai clienti e ai commercianti (2 app separate) che non solo li aiuterebbe a effettuare transazioni senza interruzioni, ma anche a renderle guadagnare premi extra con ogni pagamento che farebbero.
L'app è stata creata in ambiente mobile iOS.
A) XCode IDE - Xcode è l'ambiente di sviluppo integrato di Apple per macOS, utilizzato per sviluppare software per macOS, iOS ecc. Per questo progetto è stata utilizzata la versione Xcode 11+.
B) Strumenti :
- Figma ( strumento di progettazione) : è uno strumento di progettazione gratuito per i team che costruiscono prodotti insieme. Abbiamo utilizzato questo strumento per progettare il prototipo dell'app e aiutare il team tecnico a progettare l'app in tempo reale.
- SwiftLint (Code Styling) : lo strumento open source per applicare lo stile e le convenzioni di Swift. È sviluppato da Realm. L'abbiamo usato per impostare le regole dello stile di codifica e forzarle durante lo sviluppo.
- Swift Package Manager (Code destribution) : è uno strumento per la gestione della distribuzione del codice Swift e integrato con il sistema di compilazione Swift per automatizzare il processo di download, compilazione e collegamento delle dipendenze. L'abbiamo usato al posto dei cacao pod.
- Postman : piattaforma API per progettare, costruire, testare e iterare le API. Usato per leggere la risposta dell'API paytm e verificare se il pagamento è andato a buon fine o meno.
D) Strutture:
- SwiftUI (SwiftUI fornisce viste, controlli e strutture di layout per dichiarare l'interfaccia utente della tua app)
- Foundation (fornisce un livello base di funzionalità per app e framework, inclusi archiviazione e persistenza dei dati, calcoli di data e ora, ordinamento e filtraggio, ecc.)
- Combina (API Swift dichiarativa per l'elaborazione dei valori nel tempo)
- UIKit (raccolta di risorse che contiene una serie di elementi di progettazione come componenti e stili dell'interfaccia utente)
- Posizione principale (per tracciare la posizione dei negozi e dell'utente)
- SDK Firebase (per autenticare l'utente, archiviare le sue informazioni e ricevere notifiche)
- CoreImage.CIFilterBuiltins (per creare QR dinamici per i pagamenti)
- CodeScanner (per scansionare il codice QR dal negozio)
- Webkit (per integrare la piattaforma di pagamento e leggere la risposta al pagamento)
F) Github (Versioning Tool) : è il servizio di hosting Internet per lo sviluppo software e lo strumento di controllo della versione. Fornisce il controllo della versione distribuita di Git più il controllo degli accessi, il monitoraggio dei bug, le richieste pull, la gestione delle attività, l'integrazione continua ecc. Per il nostro progetto.
G) Modello di progettazione architettonica (MVVM): la vista del modello ViewModel è un modello di progettazione dell'architettura utilizzato nello sviluppo mobile. Poiché la base di codice aumenterebbe di dimensioni in futuro, l'utilizzo del modello MVVM diventerebbe più vantaggioso.
H) Integrazione back-end:
- SDK Firebase: utilizzato questo SDK utilizzando SPM (https://github.com/firebase/firebase-ios-sdk) e aggiunto il file .plist nel progetto.
- Notifiche : FCM (Firebase Cloud Messaging) : è una soluzione di messaggistica multipiattaforma che ti consente di inviare messaggi in modo affidabile e gratuito.
- Database in tempo reale: utilizzato per memorizzare i dettagli del commerciante e dell'utente quando si registrano sull'app. Questo database è seguito dalle funzioni CRUD (crea, leggi, aggiorna, elimina) per aiutare a memorizzare le informazioni degli utenti in modo sicuro.
- Autenticazione utente: ( Firebase Auth ): utilizzato il framework per verificare l'autenticazione dell'utente al momento dell'accesso e della disconnessione. Aiuta il processo di autenticazione inviando l'otp sul rispettivo numero di cellulare registrato e verifica l'utente.
- Per ottenere la storia dettagliata di questo prodotto e la sua analisi di mercato, controlla il link qui sotto. Ho analizzato in dettaglio il prodotto e le sue prospettive commerciali. App di pagamento Fintech (esperienza di sviluppo e gestione del prodotto)
- 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 (non ripeterti): ha seguito questo principio di sviluppo del software per ridurre la ripetizione di schemi e la duplicazione del codice in aiuto delle astrazioni, evitando così la ridondanza.
Questa app consente fondamentalmente a un utente e a un commerciante di pagarsi a vicenda senza problemi con il trasferimento online e ti consente di ottenere sconti e premi aggiuntivi su ogni pagamento effettuato.
L'azienda guadagna con il modello di abbonamento in cui gli utenti pagano una quota di abbonamento all'azienda per utilizzare la loro app e ottenere vantaggi aggiuntivi su ogni pagamento. Se l'abbonamento non viene acquistato, gli utenti non riceveranno sconti su ogni pagamento effettuato, ma potranno utilizzare l'app per effettuare i normali pagamenti senza sconti.
L'app commerciante guadagna dal negoziante facendolo registrare sull'app al momento della registrazione e utilizzando l'applicazione per maggiori percentuali di profitto su ogni pagamento.
Principali punti salienti del codice:
> Per la scansione del codice QR:
Per scansionare il codice QR nell'app utente da parte del cliente, abbiamo integrato il framework di terze parti (CodeScanner) di Github per semplificare il processo di scansione.
Fare riferimento al link per saperne di più e integrarlo nel progetto: https://github.com/twostraws/CodeScanner
È stato chiamato al momento della scansione e in base al risultato, ad es. successo/fallimento, si verificherebbe la navigazione dello schermo. In caso di successo, passerà alla pagina di pagamento e, in caso di errore, genererà i seguenti errori:
case badInput //Non è stato possibile accedere alla videocamera.
case badOutput // La telecamera non è stata in grado di scansionare i codici richiesti.
> Integrazione dei pagamenti:
Per effettuare il pagamento in un negozio o per pagare le quote associative, WebKit è stato importato e integrato. Per fare in modo che il pagamento avvenga nella fase iniziale del lancio, abbiamo aggiunto l'integrazione webview dell'app di pagamento (Paytm) per inviare e ricevere pagamenti.
Passaggi 1: AggiungiWKNavigationDelegateil protocollo nell'oggetto che usi per coordinare i cambiamenti nel frame principale della tua visualizzazione web. Mentre l'utente tenta di navigare nel contenuto Web, la visualizzazione Web si coordina con il suo delegato di navigazione per gestire eventuali transizioni.
Passaggio 2: utilizza un'istanza UIViewRepresentable per creare e gestire un oggetto UIView nella tua interfaccia SwiftUI. Adotta questo protocollo in una delle istanze personalizzate della tua app e usa i suoi metodi per creare, aggiornare e abbattere la tua vista.
Passaggio 3: utilizzare quanto sopra nella vista principale. In base al successo o al fallimento, viene mostrata la risposta.
@StateObject var webViewCoordiantor = WebViewCoordinator()
Usa la classe WebView in ZStack.
> Genera QR dinamico:
Per generare ogni volta un nuovo QR per un importo diverso per l'app del commerciante, abbiamo seguito i seguenti passaggi:
Passaggio 1: Core Image fornisce metodi che creanoCIFilteristanze indipendenti dai tipi. Utilizza questi filtri per evitare errori di runtime che possono verificarsi quando si fa affidamento sull'API basata su stringhe di Core Image.
import CoreImage.CIFilterBuiltins
Passaggio 2: sono necessarie due proprietà per archiviare un contesto Core Image attivo e un'istanza del filtro del generatore di codici QR di Core Image. Quindi, aggiungi questi due aMeView:
let contesto = CIContext()
lascia filtrare CIFilter.qrCodeGenerator()
Passaggio 3: creare una funzione generateQR e utilizzarla nella vista principale.
Passaggio 4: aggiungi questa nuovaImagevista direttamente sotto:
> Localizzazione:
Per mostrare ai clienti i negozi vicini, abbiamo il framework CoreLocation dell'utente.
Passaggio 1: importare il framework CoreLocation:
importa CoreLocation
Passaggio 2: il gestore della posizione chiamerà i metodi del suo delegato per segnalare alla tua app gli eventi relativi alla posizione. Implementa questo protocollo in un oggetto specifico dell'app e usa i metodi per aggiornare la tua app.
Passo 3: Ora con il permesso dell'utente, le coordinate di latitudine e longitudine, aiuta l'iphone a tracciare la posizione dell'utente e dei suoi negozi nelle vicinanze.
Quindi vedi il permesso qui sotto per mostrare i negozi.
Conclusione : man mano che l'ambito dell'industria fintech si amplia di giorno in giorno, lo sviluppo di app fintech continuerà ad espandersi con l'aumento della domanda.
Metti mi piace, condividi e segui per ottenere contenuti più interessanti...!!
Buona programmazione...!!

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































