Research: React Native + React selected for mobile and web

- Completed mobile-first platform strategy research
- React Native selected for iOS and Android mobile apps
- React selected for web companion app
- 70-80% code sharing between mobile and web
- Excellent health sensor integration (HealthKit, Health Connect)
- QR scanning, encryption, and background sync support
- Created comprehensive frontend research documentation
- Updated README with platform strategy
- Updated tech stack decisions

Key advantages:
- Single language (TypeScript) reduces development cost
- 70-80% code sharing between mobile and web
- Excellent health sensor integration
- Great chart visualization for web companion
- Faster time to market

Next: State management research (Redux vs Zustand)
This commit is contained in:
goose 2026-02-14 11:39:08 -03:00
parent eef5aed28e
commit 307f4964fa
4 changed files with 963 additions and 33 deletions

View file

@ -11,22 +11,32 @@ To record as many variables related to health as possible, store them in a secur
## Technology Stack
### Backend
- Framework: Axum 0.7.x
- Runtime: Tokio 1.x
- Middleware: Tower, Tower-HTTP
- Database: MongoDB (with zero-knowledge encryption)
- Language: Rust
- **Framework**: Axum 0.7.x
- **Runtime**: Tokio 1.x
- **Middleware**: Tower, Tower-HTTP
- **Database**: MongoDB (with zero-knowledge encryption)
- **Language**: Rust
### Frontend
- TBD (Research in progress)
### Mobile (iOS + Android)
- **Framework**: React Native 0.73+
- **Language**: TypeScript
- **Health Sensors**: react-native-health, react-native-google-fit
- **Encryption**: react-native-quick-crypto
### Mobile
- iOS: TBD
- Android: TBD
### Web
- **Framework**: React 18+
- **Language**: TypeScript
- **Charts**: Recharts
### Deployment
- Docker on Linux
## Platform Strategy
**Primary: Mobile Apps** - Daily health tracking, sensor integration, QR scanning, push notifications
**Secondary: Web Browser** - Extensive reporting, visualization, profile management
## Key Features
- Zero-knowledge encryption
@ -34,7 +44,7 @@ To record as many variables related to health as possible, store them in a secur
- Family structure management
- Secure sharing with expiring links
- Mobile apps with health sensor integration
- Web interface
- Web interface for complex visualizations
## Security Model
@ -59,15 +69,17 @@ Phase: Planning/Documentation
- Security architecture design
- Encryption implementation guide
- Git repository initialization
- Rust framework selection: Axum
- **Rust framework selection: Axum**
- **Mobile/Web framework selection: React Native + React**
### Next Steps
- Research frontend framework (React vs Vue vs Svelte)
- Design authentication system (JWT with recovery phrases)
- Design database schema
- State management research (Redux vs Zustand)
- Authentication system design (JWT with recovery phrases)
- Database schema design
- Create proof-of-concept with Axum
- Implement basic CRUD API
- Build web frontend
- Build mobile apps with health sensor integration
- Build web companion app
- Add encryption layer
- Implement sharing functionality