Aplicativo movel em Expo/React Native para acompanhar pesagens, gamificacao e historico de coletas na cooperativa.
- Autenticacao e fluxo separado por
expo-router - Integracao BLE com a balanca para solicitar/iniciar pesagens
- Dashboard com XP/nivel, leaderboard e indicadores semanais
- Historico, relatorios e perfil do usuario consumindo a API do backend
- Node.js 20+ e npm 10 (recomendado pelo Expo SDK 52)
- Emulador ou dispositivo Android/iOS configurado
- Conta Expo (necessaria para builds com EAS)
- Instale dependencias:
npm install - Crie um
.envna raiz com suas variaveis:Essa variavel e lida emEXPO_PUBLIC_API_URL=https://sua-api.com/api
app.config.tse usada nas chamadas HTTP. - Rode o app:
npm run startpara abrir o bundler do Exponpm run androidounpm run iospara abrir no emulador/dispositivo
npm run start- inicia o dev clientnpm run android/npm run ios- executa no emulador/dispositivonpm run lint- verifica o codigo com ESLint/TypeScriptnpm test- roda a suite de testesjest-expo
app/- rotas comexpo-router(login, dashboard, BLE, historico, relatorios, perfil)components/- componentes de UI compartilhados e providersfeatures/- hooks e casos de uso (auth, pesagens, leaderboard)lib/- clientes de API, tema, utilitariosproviders/- contextos globaistests/- configuracao e testes unitarios
- Antes de abrir PR, execute
npm run lintenpm test. - Para limpar caches do bundler, use
npm run start -- --clear. - Builds e submissoes podem ser feitas via EAS:
npx eas build --platform android|ios.