Skip to content

SuperEsquilo/Swift_Leitor_QRCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Swift_Leitor_QRCode

Esse aplicativo iOS foi projetado para permitir o cadastro estruturado de produtos em uma empresa de grande porte a partir da leitura de QR Codes, utilizando Swift, SwiftUI e uma arquitetura moderna baseada em MVVM. Ao iniciar o app, o usuário é direcionado diretamente para a tela de leitura, onde a câmera do dispositivo é ativada e fica aguardando a identificação de um QR Code válido. Esse QR Code contém dados estruturados do produto, como identificador, número de série, lote e data de fabricação, permitindo que o processo de cadastro seja rápido, padronizado e com mínimo risco de erro humano, algo essencial em ambientes corporativos de alta escala.

A leitura do QR Code é realizada por meio do framework AVFoundation, encapsulado em um serviço específico que cuida exclusivamente da câmera e da detecção dos códigos. Esse serviço se comunica com a camada de interface através de um delegate, mantendo a separação de responsabilidades e garantindo que a lógica de leitura não fique acoplada à interface visual. Assim que um código é detectado, a leitura é interrompida para evitar duplicidade, e o conteúdo capturado é repassado para a camada de ViewModel, que se encarrega de processar e validar os dados recebidos antes de qualquer ação adicional.

Após a leitura, o conteúdo do QR Code é convertido de JSON para um objeto fortemente tipado, garantindo segurança e previsibilidade no uso das informações. Caso os dados estejam no formato esperado, o usuário é levado para uma tela de confirmação, onde pode visualizar as informações do produto antes de efetivar o cadastro. Essa etapa é fundamental em processos corporativos, pois permite uma validação humana final, reduzindo o risco de registros incorretos no sistema central da empresa e aumentando a confiabilidade da base de dados.

Quando o usuário confirma o cadastro, o aplicativo realiza a comunicação com o backend corporativo por meio de uma camada de rede dedicada, responsável por construir a requisição HTTP, adicionar os cabeçalhos necessários e autenticar a chamada utilizando token JWT. Essa abordagem garante que apenas usuários autorizados consigam registrar produtos, além de facilitar a integração com sistemas maiores como ERPs, plataformas de estoque ou sistemas de auditoria. Todo o processo é feito de forma assíncrona, mantendo a interface responsiva mesmo em ambientes com rede instável.

O gerenciamento de estado do cadastro, incluindo carregamento, sucesso ou erro, é tratado pelo ViewModel responsável pelo produto, o que permite que a interface reaja automaticamente às mudanças sem a necessidade de lógica complexa dentro das views. Caso o cadastro seja realizado com sucesso, o usuário é direcionado para uma tela de confirmação visual clara, reforçando a conclusão da operação. Em situações de falha, o sistema apresenta mensagens de erro controladas, evitando comportamentos inesperados ou travamentos do aplicativo.

No conjunto, esse aplicativo foi estruturado para atender padrões profissionais exigidos por empresas de grande porte, com código modular, fácil manutenção e grande capacidade de evolução. A separação clara entre camadas, o uso de boas práticas de segurança e a organização dos arquivos tornam o projeto escalável, permitindo a inclusão futura de funcionalidades como modo offline, histórico de registros, controle de usuários, auditoria e integração com outras tecnologias corporativas. Mais do que um simples leitor de QR Code, o app se posiciona como uma base sólida para um sistema corporativo robusto de gestão de produtos.

About

Um app bem completo feito totalmente em swift, sendo esse app exclusivo apenas para o sistema IOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages