Vaga Mobile

Desenvolvedor(a) Sênior ReactNative para máquinas POS

API MySQL PHP Redis TypeScript React Native

MisterCheff

MisterCheff

Startup

Salário: Até R$10.000

Aceito candidatos de outras cidades/estados dispostos a se mudar para o local de trabalho

Descrição da empresa

Empresa Saas para o ramo Foodservice

Atividades e Responsabilidades

Se candidatar somente quem tem ou já teve as principais atividades abaixo. Facilite o processo por favor.

🧩 Principais Atividades (com base no SDK da Stone POS)
Mapear e compreender o código-legado (PHP + JavaScript) do PDV atual para entender fluxos de venda, cancelamento e impressão.
Planejar e desenvolver o novo app PDV em React Native + TypeScript, adotando arquitetura modular, performance otimizada com Hermes e suporte a modo offline-first (SQLite, redux-persist ou WatermelonDB).
Integrar nativamente o SDK da Stone POS Android, criando bridges entre Java/Kotlin e React Native, incluindo:
Iniciar conexão com a maquininha (StoneStart.init()).
Executar pagamentos via EMV, crédito, débito e voucher (StoneTransaction, TransactionProvider).
Gerenciar status e retorno de transações (TransactionStatusEnum, StoneTransactionCallback).
Tratar exceções e falhas de transação (StoneException, TransactionProviderException).
Controlar a impressora térmica interna via SDK Stone (StonePrintProvider, Printable, Printer). Criar recibos e comprovantes com formatação personalizada, QR Codes e logotipo.
Trabalhar com APIs criptografadas e seguras, garantindo conformidade com PCI-DSS:
Uso de Android KeyStore para armazenamento de chaves e tokens.
Não persistir dados de cartão, apenas identificadores tokenizados.
Implementar logs seguros e mascaramento de dados sensíveis.
Projetar fila de pedidos com retry/sincronização, usando armazenamento local para vendas pendentes em caso de queda de conexão. Essa lógica é essencial para smart POS operando em locais com Wi-Fi/4G instável.
Gerenciar cancelamentos e reimpressões, tratando corretamente os fluxos de reversão de transações (cancelTransaction()), reimpressões (Printer.print()), e transações parciais ou pendentes.
Implementar atualização automática do app (OTA) via serviços como CodePush ou MDM/EMM da adquirente. Garantir suporte a diferentes versões Android (geralmente 7 a 10 nas maquininhas).
Montar pipeline de build CI/CD com geração de APK assinado, integração com Fastlane, Gradle, GitHub Actions ou Bitrise, e flavor específico para cada adquirente (ex: stoneRelease, pagseguroRelease).
Escrever testes automatizados (unitários e E2E) com Jest, React Testing Library e Detox, simulando fluxos reais de venda em POS.

Requisitos

Obrigatórios

Experiência comprovada em React Native + TypeScript (publicação de apps em produção).
Integração de SDKs de pagamento ou TEF em Android (Stone, PagSeguro, Cielo, etc.).
Domínio de bridging nativo (criação de Native Modules/UI Components em Java/Kotlin).
Prática com arquiteturas offline-first (SQLite/WatermelonDB, redux-persist ou equivalentes).
Segurança mobile: criptografia, KeyStore/Keychain, práticas PCI-DSS.
Conhecimento de CI/CD mobile (Fastlane, CodePush, Bitrise, ou pipelines equivalentes).
Inglês técnico para leitura de documentação.
Desejáveis

Vivência prévia com PHP ou JavaScript (Node.js) backend, facilitando a leitura do legado.
Experiência com testes E2E (Detox/Appium) e device farms.
Familiaridade com AWS, Docker, ou infraestrutura de microsserviços.
Conhecimento em UX para dispositivos de tela reduzida e impressoras térmicas.
Participação em processos de homologação de adquirentes (Stone, PagSeguro, Getnet).