# FightRate React Native Bare Rebuild — Mini-spec Data: 2026-06-10 Status: implementação autorizada Stack: **React Native Community CLI, sem Expo** ## Objetivo Criar a nova base do FightRate em React Native bare, sem Expo, usando a direção visual oficial **Corner Instrument**. A implementação inicial deve provar: - identidade visual escolhida; - fluxo principal de captura contínua; - estrutura de código React Native escalável; - telas base para Captura, Histórico, Sensor e Insights; - dados mockados apenas como estado de protótipo local, não como gráfico ou amostra real persistida. ## Fora de escopo nesta primeira fatia - BLE real Magene H003. - SQLite real. - Build de APK final assinado. - Migração de todos os recursos do Android legado. - Expo ou qualquer dependência Expo. ## Decisões - Criar novo app em `FightRateRN/` para não destruir o Android legado antes da base RN compilar. - Usar React Native Community CLI. - Usar TypeScript. - Começar com UI e estado local; BLE/persistência entram em fatias posteriores. - Fonte visual obrigatória: `FIGHTRATE_DESIGN_SYSTEM.md`. ## Estrutura desejada ```text FightRateRN/ src/ app/ FightRateApp.tsx components/ ActionButton.tsx MetricTile.tsx SectionPanel.tsx StatusTag.tsx TrainingChart.tsx screens/ CaptureScreen.tsx HistoryScreen.tsx SensorScreen.tsx InsightsScreen.tsx theme/ colors.ts radius.ts spacing.ts typography.ts index.ts data/ demoTraining.ts ``` ## Critérios de aceite 1. Projeto React Native bare criado sem Expo. 2. `package.json` não contém dependências Expo. 3. App inicial mostra a direção Corner Instrument. 4. Captura contínua é o fluxo principal. 5. Round manual não domina a interface. 6. Design tokens estão centralizados em `src/theme`. 7. Componentes principais reutilizáveis existem. 8. Telas visíveis: - Captura; - Histórico; - Sensor; - Insights. 9. Verificação mínima: ```bash cd FightRateRN npm install npm run typecheck npm run lint npm test -- --runInBand ``` Build Android debug validado neste ambiente: ```bash cd FightRateRN/android ./gradlew assembleDebug ``` Observação local: o PATH atual tem JRE, mas não `javac`. Para o build Gradle RN, use o JBR do Android Studio como `JAVA_HOME`: ```bash export JAVA_HOME="/c/Users/Evandro/AppData/Local/Programs/Android Studio/jbr" export PATH="$JAVA_HOME/bin:$PATH" cd FightRateRN/android ./gradlew assembleDebug ``` ## Riscos - React Native CLI pode mudar template conforme versão atual. - Ambiente local pode não ter Android SDK/NDK adequado para build RN. - BLE real exigirá dependência nativa futura e teste físico.