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

109 lines
2.7 KiB
Markdown

# 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.