Este projeto tem como objetivo a migração de uma aplicação originalmente desenvolvida em Next.js para o ambiente React Native, garantindo que a experiência do usuário seja mantida e otimizada para dispositivos móveis. A aplicação permite navegação fluida, integração com serviços externos e oferece funcionalidades robustas que abrangem autenticação, consumo de APIs e gerenciamento de dados.
- 🟢 React Native: Framework principal para o desenvolvimento do aplicativo.
- 🟢 Expo CLI: Ferramenta para inicialização, desenvolvimento e build do projeto.
- 🟢 React Navigation: Biblioteca de navegação para criar rotas, stacks e navegação fluida no aplicativo.
- 🟢 react-native-msal: Integração com Microsoft Authentication Library (MSAL) para autenticação de usuários.
- 🟢 @react-native-picker/picker: Componente de seleção para facilitar inputs em formulários.
- 🔵 Node.js: Ambiente de execução do JavaScript utilizado para APIs.
- 🔵 Express.js: Framework utilizado para construção de rotas e gerenciamento de requisições.
- 🔵 Azure: Plataforma de nuvem para deploy de APIs e gerenciamento de banco de dados.
- 🔵 MSAL (Microsoft Authentication Library): Biblioteca para autenticação com contas Microsoft.
- 🟡 MySQL: Banco de dados relacional utilizado para armazenar e gerenciar os dados da aplicação, com suporte a transações e modelagem de dados.
- 🟠 Zod: Biblioteca de validação e manipulação de esquemas para formulários.
- 🟠 React Hook Form: Gerenciamento de formulários e validação com alta performance.
- 🟠 Toastify: Exibição de notificações amigáveis para o usuário.
- 🟠 EAS Build: Ferramenta de build da Expo para gerar os arquivos .apk e .ipa (Android e iOS).
- ✅ Jest: Framework de testes automatizados.
- ✅ E2E Testing: Para garantir a usabilidade do aplicativo.
- 📝 Markdown: Para criar documentações técnicas e relatórios.
- 📝 Git: Controle de versão utilizado para gerenciar o código-fonte.
-
Adaptação de Componentes e Layouts
O projeto foi iniciado pela transferência de componentes e layouts do ambiente web (Next.js) para React Native. Isso incluiu:- Ajustes nos estilos para compatibilidade com o ambiente mobile.
- Substituição de bibliotecas específicas do Next.js por alternativas para React Native (por exemplo, substituindo o
next/router
porReact Navigation
).
-
Criação do Back-End
- APIs desenvolvidas em Node.js e Express.js.
- Integração com MySQL para armazenamento de dados.
- Deploy realizado na plataforma Azure para garantir escalabilidade e segurança.
-
Autenticação
- Implementação da biblioteca
react-native-msal
para autenticação via contas Microsoft, mantendo a segurança e o fluxo de login do projeto original.
- Implementação da biblioteca
-
Gerenciamento de Estados e Formulários
- Utilização de
React Hook Form
para gestão de formulários. - Validações eficientes com
Zod
, oferecendo mensagens de erro claras e consistentes.
- Utilização de
-
Build e Deploy
- Utilização do EAS Build para gerar os arquivos .apk (Android) e .ipa (iOS), prontos para publicação nas respectivas lojas.
/
├── src/
│ ├── components/ # Componentes reutilizáveis
│ ├── screens/ # Telas do aplicativo
│ ├── services/ # Integrações com APIs
│ ├── navigation/ # Configuração de rotas
│ ├── styles/ # Arquivos de estilização global
│ └── utils/ # Funções auxiliares
├── eas.json # Configuração para build no EAS
├── package.json # Dependências do projeto
├── README.md # Documentação do projeto
└── App.js # Arquivo principal do aplicativo
- Node.js instalado na máquina.
- Expo CLI instalado globalmente:
npm install -g expo-cli
- Conta configurada no Expo e no EAS Build.
-
Clonar o Repositório
git clone https://github.com/seu-repositorio.git cd seu-repositorio
-
Instalar Dependências
npm install
-
Iniciar o Projeto
expo start
-
Build do APK ou IPA
Configure o arquivoeas.json
e execute:eas build
-
Guilherme Avila
Desenvolvedor do front-end e responsável pela adaptação para React Native. -
Nicholas Cardoso
Produtor das APIs, banco de dados MySQL e integrações com MSAL e Azure. -
Ryan Henrique
QA oficial e colaborador na documentação técnica. -
Nicolly Vitória
Responsável pela documentação de entrega e textos explicativos.
A migração de Next.js para React Native foi um sucesso, permitindo que o projeto evoluísse para um ambiente mobile nativo. Com a colaboração de uma equipe dedicada, garantimos uma aplicação robusta, funcional e bem documentada.