2.7 KiB
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
- Projeto React Native bare criado sem Expo.
package.jsonnão contém dependências Expo.- App inicial mostra a direção Corner Instrument.
- Captura contínua é o fluxo principal.
- Round manual não domina a interface.
- Design tokens estão centralizados em
src/theme. - Componentes principais reutilizáveis existem.
- Telas visíveis:
- Captura;
- Histórico;
- Sensor;
- Insights.
- 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.