Aplikacja fintech na iOS

Nov 28 2022
Fintech to suma finansów i technologii. Termin ten odnosi się do wschodzących branż, które wykorzystują technologię do poprawy świadczenia usług finansowych.

Fintech to suma finansów i technologii. Termin ten odnosi się do wschodzących branż, które wykorzystują technologię do poprawy świadczenia usług finansowych. Od zakupów online po mobilne transakcje bankowe, ludzie prawie codziennie korzystają z aplikacji fintech. Ponieważ aplikacje płatnicze umożliwiają właścicielom firm dokonywanie płatności bezpośrednio ze smartfona bez korzystania z tradycyjnych metod płacowych, postanowiliśmy stworzyć przyjazne dla klientów i handlowców aplikacje płatnicze (2 oddzielne aplikacje), które nie tylko pomogą im w dokonywaniu bezproblemowych transakcji, ale także sprawią, że zdobywać dodatkowe nagrody za każdą dokonaną przez nich płatność.

Aplikacja została stworzona w środowisku mobilnym iOS.

A) XCode IDE — Xcode to zintegrowane środowisko programistyczne firmy Apple dla systemu macOS, służące do tworzenia oprogramowania dla systemów macOS, iOS itp. W tym projekcie wykorzystano wersję Xcode 11+.

B) Narzędzia :

  1. Figma ( Narzędzie do projektowania) : Jest to bezpłatne narzędzie do projektowania dla zespołów, które wspólnie tworzą produkty. Użyliśmy tego narzędzia do zaprojektowania prototypu aplikacji i pomocy zespołowi technicznemu w projektowaniu aplikacji w czasie rzeczywistym.
  2. SwiftLint (Code Styling) : Narzędzie typu open source do wymuszania stylu i konwencji Swift. Jest rozwijany przez Realm. Użyliśmy go do ustalenia reguł stylu kodowania i wymuszenia ich podczas programowania.
  3. Swift Package Manager (Destrybucja kodu) : Jest to narzędzie do zarządzania dystrybucją kodu Swift i zintegrowane z systemem kompilacji Swift w celu automatyzacji procesu pobierania, kompilowania i łączenia zależności. Użyliśmy go zamiast kapsułek kakaowych.
  4. Postman : platforma API do projektowania, budowania, testowania i iteracji interfejsów API. Użył go do odczytania odpowiedzi paytm api i sprawdzenia, czy płatność zakończyła się sukcesem, czy niepowodzeniem.

D) Ramy:

  • SwiftUI (SwiftUI zapewnia widoki, elementy sterujące i struktury układu do deklarowania interfejsu użytkownika aplikacji)
  • Foundation (zapewnia podstawową warstwę funkcjonalności dla aplikacji i frameworków, w tym przechowywanie i trwałość danych, obliczenia daty i godziny, sortowanie i filtrowanie itp.)
  • Combine (deklaratywny Swift API do przetwarzania wartości w czasie)
  • UIKit (zbiór zasobów zawierający zestaw elementów projektu, takich jak komponenty i style interfejsu użytkownika)
  • Główna lokalizacja (Aby śledzić lokalizację sklepów i użytkowników)
  • Firebase SDK (Aby uwierzytelnić użytkownika, przechowywać jego informacje i otrzymywać powiadomienia)
  • CoreImage.CIFilterBuiltins (do tworzenia dynamicznych QR dla płatności)
  • CodeScanner (Aby zeskanować kod QR ze sklepu)
  • Webkit (Aby zintegrować platformę płatniczą i odczytać odpowiedź dotyczącą płatności)

F) Github (narzędzie do wersjonowania) : Jest to internetowa usługa hostingowa służąca do tworzenia oprogramowania i narzędzia do kontroli wersji. Zapewnia rozproszoną kontrolę wersji Git oraz kontrolę dostępu, śledzenie błędów, żądania ściągania, zarządzanie zadaniami, ciągłą integrację itp. dla naszego projektu.

G) Wzorzec projektowania architektonicznego (MVVM): Widok modelu ViewModel to wzorzec projektowy architektury używany w programowaniu mobilnym. Ponieważ baza kodu będzie się w przyszłości powiększać, użycie wzorca MVVM stanie się bardziej korzystne.

H) Integracja zaplecza:

  • Pakiet SDK Firebase: użyto tego pakietu SDK przy użyciu SPM (https://github.com/firebase/firebase-ios-sdk) i dodałem plik .plist w projekcie.
  • Powiadomienia : FCM (Firebase Cloud Messaging) : Jest to międzyplatformowe rozwiązanie do przesyłania wiadomości, które umożliwia niezawodne wysyłanie wiadomości bez żadnych kosztów.
  • Baza danych w czasie rzeczywistym: używana do przechowywania danych handlowca i użytkownika, gdy rejestrują się w aplikacji. Ta baza danych jest śledzona przez funkcje CRUD (tworzenie, odczytywanie, aktualizowanie, usuwanie), aby pomóc w bezpiecznym przechowywaniu informacji o użytkownikach.
  • Uwierzytelnianie użytkownika: ( Firebase Auth ) — użyto struktury do sprawdzenia uwierzytelnienia użytkownika podczas logowania i wylogowywania. Pomaga w procesie uwierzytelniania, wysyłając otp na odpowiedni zarejestrowany numer telefonu komórkowego i weryfikuje użytkownika.
  • J) DRY (nie powtarzaj się): Postępowałem zgodnie z tą zasadą tworzenia oprogramowania, aby zredukować powtarzanie wzorców i powielanie kodu na rzecz abstrakcji, unikając w ten sposób redundancji.

    Ta aplikacja zasadniczo pozwala użytkownikowi i handlowcowi płacić sobie nawzajem za pomocą przelewu online i pozwala uzyskać dodatkowe rabaty i nagrody za każdą dokonaną płatność.

    Firma zarabia dzięki modelowi subskrypcji, w którym użytkownicy płacą firmie opłaty abonamentowe za korzystanie z ich aplikacji i uzyskują dodatkowe korzyści przy każdej płatności. Jeśli subskrypcja nie zostanie wykupiona, użytkownicy nie otrzymają rabatu przy każdej dokonanej płatności, ale będą mogli używać aplikacji do dokonywania zwykłych płatności bez rabatów.

    Aplikacja handlowca zarabia na sprzedawcy, zmuszając go do zarejestrowania się w aplikacji w momencie rejestracji i korzystania z aplikacji w celu uzyskania większych procentów zysku przy każdej płatności.

    Kluczowe cechy kodu:

    > Skanowanie kodu QR:

    Aby zeskanować kod QR w aplikacji użytkownika przez klienta, zintegrowaliśmy platformę innej firmy (CodeScanner) z Github, aby uprościć proces skanowania.

    Zapoznaj się z linkiem, aby dowiedzieć się więcej na ten temat i zintegrować go z projektem: https://github.com/twostraws/CodeScanner

    Został wywołany w momencie skanowania i na podstawie wyniku tj. sukces/porażka, nastąpi nawigacja po ekranie. Jeśli się powiedzie, przejdzie do strony płatności, a jeśli się nie powiedzie, wyświetli następujące błędy:

    case badInput // Nie można uzyskać dostępu do kamery.

    case badOutput // Aparat nie był w stanie zeskanować żądanych kodów.

    > Integracja płatności:

    Aby dokonać płatności do sklepu lub opłacić składki członkowskie, zaimportowano i zintegrowano WebKit . Aby płatność miała miejsce w początkowej fazie uruchomienia, dodaliśmy integrację z przeglądarką internetową aplikacji płatniczej (Paytm) w celu wysyłania i odbierania płatności.

    Kroki 1: DodajWKNavigationDelegateprotokół w obiekcie, którego używasz do koordynowania zmian w głównej ramce widoku internetowego. Gdy użytkownik próbuje nawigować po zawartości sieci Web, widok sieci Web koordynuje działania swojego delegata nawigacji w celu zarządzania wszelkimi przejściami.

    Krok 2: Użyj instancji UIViewRepresentable do utworzenia obiektu UIView i zarządzania nim w interfejsie SwiftUI. Zastosuj ten protokół w jednym z niestandardowych wystąpień swojej aplikacji i użyj jego metod do tworzenia, aktualizowania i niszczenia widoku.

    Krok 3: Użyj powyższego w głównym widoku. W zależności od sukcesu lub porażki wyświetlana jest odpowiedź.

    @StateObject var webViewCoordiantor = WebViewCoordinator()

    Użyj klasy WebView w ZStack.

    > Wygeneruj dynamiczny kod QR:

    Aby za każdym razem wygenerować nowy kod QR dla innej kwoty dla aplikacji sprzedawcy, wykonaliśmy następujące czynności:

    Krok 1: Core Image zapewnia metody, które tworząCIFilterinstancje bezpieczne dla typów. Użyj tych filtrów, aby uniknąć błędów w czasie wykonywania, które mogą wystąpić podczas polegania na interfejsie API Core Image opartym na ciągach.

    importuj CoreImage.CIFilterBuiltins

    Krok 2: Potrzebujemy dwóch właściwości do przechowywania aktywnego kontekstu Core Image i instancji filtra generatora kodów QR Core Image. Więc dodaj te dwa doMeView:

    niech kontekst = CIContext()

    niech filtruje CIFilter.qrCodeGenerator()

    Krok 3: Utwórz funkcję generateQR i użyj jej w głównym widoku.

    Krok 4: Dodaj ten nowyImagewidok bezpośrednio poniżej:

    > Śledzenie lokalizacji:

    Aby pokazać klientom pobliskie sklepy, mamy framework użytkownika CoreLocation.

    Krok 1: zaimportuj framework CoreLocation:

    zaimportuj CoreLocation

    Krok 2: Menedżer lokalizacji wywoła metody swojego pełnomocnika, aby zgłosić zdarzenia związane z lokalizacją do Twojej aplikacji. Zaimplementuj ten protokół w obiekcie specyficznym dla aplikacji i użyj metod do zaktualizowania aplikacji.

    Krok 3: Teraz, za zgodą użytkownika, współrzędnymi szerokości i długości geograficznej, pomóż iPhone'owi śledzić lokalizację użytkownika i jego pobliskich sklepów.

    W ten sposób widzisz poniższe pozwolenie na pokazanie sklepów.

    Wniosek : Ponieważ zakres branży fintech poszerza się z dnia na dzień, rozwój aplikacji fintech będzie się rozwijał wraz ze wzrostem popytu.

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

    Polub, udostępnij i obserwuj, aby uzyskać więcej interesujących treści…!!

    Szczęśliwego kodowania…!!