Aplicativo Fintech para iOS

Nov 28 2022
Fintech é a soma de finanças e tecnologia. O termo refere-se a indústrias emergentes que usam a tecnologia para melhorar a prestação de serviços financeiros.

Fintech é a soma de finanças e tecnologia. O termo refere-se a indústrias emergentes que usam a tecnologia para melhorar a prestação de serviços financeiros. De compras online a transações bancárias móveis, as pessoas usam aplicativos fintech quase todos os dias. Como os aplicativos de pagamento permitem que os proprietários de empresas façam pagamentos diretamente de um smartphone sem usar métodos tradicionais de folha de pagamento, decidimos criar um aplicativo de pagamento amigável ao cliente e ao comerciante (2 aplicativos separados) que não apenas os ajudaria a fazer transações perfeitas, mas também torná-los ganhar recompensas extras com cada pagamento que fariam.

O aplicativo foi criado em ambiente móvel iOS.

A) XCode IDE - Xcode é o ambiente de desenvolvimento integrado da Apple para macOS, usado para desenvolver software para macOS, iOS etc. A versão Xcode 11+ foi usada para este projeto.

B) Ferramentas :

  1. Figma ( ferramenta de design) : é uma ferramenta de design gratuita para equipes que constroem produtos juntos. Usamos esta ferramenta para projetar o protótipo do aplicativo e ajudar a equipe técnica a projetar o aplicativo em tempo real.
  2. SwiftLint (Code Styling) : A ferramenta de código aberto para impor o estilo e as convenções do Swift. É desenvolvido pela Realm. Nós o usamos para definir as regras de estilo de codificação e forçá-las durante o desenvolvimento.
  3. Swift Package Manager (destribuição de código) : É uma ferramenta para gerenciar a distribuição de código Swift e integrada ao sistema de compilação Swift para automatizar o processo de download, compilação e vinculação de dependências. Nós o usamos em vez de cápsulas de cacau.
  4. Postman : plataforma API para projetar, construir, testar e iterar APIs. Usei-o para ler a resposta da API paytm e verificar se o pagamento foi um sucesso ou uma falha.

D) Estruturas:

  • SwiftUI (SwiftUI fornece visualizações, controles e estruturas de layout para declarar a interface do usuário do seu aplicativo)
  • Fundação (fornece uma camada básica de funcionalidade para aplicativos e estruturas, incluindo armazenamento e persistência de dados, cálculos de data e hora, classificação e filtragem, etc.)
  • Combine (API Swift declarativa para processamento de valores ao longo do tempo)
  • UIKit (coleção de ativos que contém um conjunto de elementos de design, como componentes e estilos de interface do usuário)
  • Localização principal (para rastrear a localização de lojas e usuários)
  • Firebase SDK (para autenticar o usuário, armazenar suas informações e receber notificação)
  • CoreImage.CIFilterBuiltins (para criar QR dinâmico para pagamentos)
  • CodeScanner (para digitalizar o código QR da loja)
  • Webkit (Para integrar a plataforma de pagamento e ler a resposta de pagamento)

F) Github (Versioning Tool) : É o serviço de hospedagem na Internet para desenvolvimento de software e ferramenta de controle de versão. Ele fornece o controle de versão distribuída do Git, além de controle de acesso, rastreamento de bugs, solicitações pull, gerenciamento de tarefas, integração contínua, etc., para nosso projeto.

G) Padrão de projeto arquitetônico (MVVM): O Model View ViewModel é um padrão de projeto de arquitetura usado no desenvolvimento móvel. Como a base de código aumentaria de tamanho no futuro, usar o padrão MVVM seria mais vantajoso.

H) Integração de back-end:

  • Firebase SDK: usou este SDK usando SPM (https://github.com/firebase/firebase-ios-sdk) e adicionei o arquivo .plist no projeto.
  • Notificações : FCM (Firebase Cloud Messaging) : é uma solução de mensagens multiplataforma que permite enviar mensagens de forma confiável e sem nenhum custo.
  • Banco de dados em tempo real: usado para armazenar os detalhes do lojista e do usuário quando eles se cadastram no aplicativo. Este banco de dados é seguido pelas funções CRUD (criar, ler, atualizar, excluir) para ajudar a armazenar as informações dos usuários com segurança.
  • User Authentication: ( Firebase Auth )- Utilizado o framework para verificar a autenticação do usuário no momento do login e logout. Auxilia no processo de autenticação enviando o otp no respectivo número de celular cadastrado e verifica o usuário.
  • J) DRY(não se repita): Seguiu este princípio de desenvolvimento de software para reduzir a repetição de padrões e a duplicação de código em auxílio de abstrações, evitando assim a redundância.

    Este aplicativo basicamente permite que um usuário e um comerciante paguem um ao outro sem problemas com transferência on-line e permite que você obtenha descontos e recompensas adicionais em cada pagamento que fizer.

    A empresa ganha com o modelo de assinatura em que os usuários pagam taxas de assinatura à empresa para usar seu aplicativo e obter benefícios adicionais em cada pagamento. Se a assinatura não for comprada, os usuários não receberão descontos em todos os pagamentos que fizerem, mas poderão usar o aplicativo para fazer pagamentos normais sem descontos.

    O aplicativo do lojista ganha com o lojista fazendo com que ele se cadastre no aplicativo no momento do cadastro e use o aplicativo para obter mais porcentagens de lucro em cada pagamento.

    Principais destaques do código:

    > Para digitalização de código QR:

    Para digitalizar o código QR no aplicativo do usuário pelo cliente, integramos a estrutura de terceiros (CodeScanner) do Github para simplificar o processo de digitalização.

    Consulte o link para saber mais sobre ele e integrá-lo no projeto: https://github.com/twostraws/CodeScanner

    Foi chamado no momento da digitalização e com base no resultado, ou seja. sucesso/falha, ocorreria a navegação da tela. Se for um sucesso, ele navegará para a página de pagamento e, se for uma falha, lançará os seguintes erros:

    case badInput //A câmera não pôde ser acessada.

    case badOutput // A câmera não foi capaz de digitalizar os códigos solicitados.

    > Integração de pagamento:

    Para fazer o Pagamento a uma loja ou pagar quotas, o WebKit foi importado e integrado. Para que o pagamento aconteça na fase inicial do lançamento, adicionamos a integração webview do aplicativo de pagamento (Paytm) para enviar e receber pagamentos.

    Etapas 1: adicioneWKNavigationDelegateo protocolo no objeto que você usa para coordenar as alterações no quadro principal da visualização da web. À medida que o usuário tenta navegar pelo conteúdo da web, a visualização da web se coordena com seu representante de navegação para gerenciar quaisquer transições.

    Etapa 2: use uma instância UIViewRepresentable para criar e gerenciar um objeto UIView em sua interface SwiftUI. Adote esse protocolo em uma das instâncias personalizadas de seu aplicativo e use seus métodos para criar, atualizar e desmontar sua exibição.

    Passo 3: Use o acima na exibição principal. Com base no sucesso ou falha, a resposta é mostrada.

    @StateObject var webViewCoordiantor = WebViewCoordinator()

    Use a classe WebView no ZStack.

    > Gerar QR dinâmico:

    Para gerar um novo QR com um valor diferente a cada vez para o aplicativo do comerciante, seguimos os seguintes passos:

    Etapa 1: Core Image fornece métodos que criamCIFilterinstâncias de tipo seguro. Use esses filtros para evitar erros de tempo de execução que podem ocorrer ao confiar na API baseada em string do Core Image.

    importar CoreImage.CIFilterBuiltins

    Etapa 2: precisamos de duas propriedades para armazenar um contexto de imagem principal ativo e uma instância do filtro do gerador de código QR da imagem principal. Então, adicione esses dois aMeView:

    deixe contexto = CIContext ()

    vamos filtrar CIFilter.qrCodeGenerator()

    Passo 3: Crie uma função generateQR e use-a na visualização principal.

    Etapa 4: adicione esta novaImagevisualização diretamente abaixo:

    > Rastreamento de localização:

    Para mostrar as lojas próximas aos clientes, temos a estrutura CoreLocation do usuário.

    Etapa 1: importar a estrutura CoreLocation:

    importar CoreLocation

    Etapa 2: o gerenciador de localização chamará os métodos de seu delegado para relatar eventos relacionados à localização para seu aplicativo. Implemente esse protocolo em um objeto específico do aplicativo e use os métodos para atualizar seu aplicativo.

    Passo 3: Agora com a permissão do usuário, coordenadas de latitude e longitude, ajude o iphone a rastrear a localização do usuário e suas lojas próximas.

    Assim você vê a permissão abaixo para mostrar as lojas.

    Conclusão : À medida que o escopo da indústria fintech se torna mais amplo a cada dia, o desenvolvimento de aplicativos fintech continuará a se expandir com o aumento da demanda.

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

    Curta, compartilhe e siga para obter mais conteúdo interessante…!!

    Codificação feliz…!!