Files
HealthTracking/docs/superpowers/specs/2026-06-10-fightrate-react-native-bare-rebuild.md

2.7 KiB

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

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:
cd FightRateRN
npm install
npm run typecheck
npm run lint
npm test -- --runInBand

Build Android debug validado neste ambiente:

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:

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.