POWR is a local-first fitness tracking application built with React Native and Expo, featuring planned Nostr protocol integration for decentralized social features.
- Exercise library management
- Workout template creation
- Local-first data architecture
- Cross-platform support (iOS, Android)
- Dark mode support
- Workout record and template sharing
- Nostr integration
- Social features
- Training programs
- Performance analytics
- Node.js (v18 or later)
- npm or yarn
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio (for Android development)
- Clone the repository
git clone https://github.com/docNR/powr.git
cd powr
- Install dependencies
npm install
- Start the development server
npx expo start
- Press 'i' for iOS simulator
- Press 'a' for Android simulator
- Scan QR code with Expo Go app for physical device
powr/
├── app/ # Main application code
│ ├── (tabs)/ # Tab-based navigation
│ └── components/ # Shared components
├── assets/ # Static assets
├── docs/ # Documentation
│ └── design/ # Design documents
├── lib/ # Shared utilities
└── types/ # TypeScript definitions
- React Native
- Expo
- TypeScript
- SQLite (via expo-sqlite)
- NativeWind
- React Navigation
- Lucide Icons
- Jest
- React Native Testing Library
- Install development tools
npm install -g expo-cli
- Configure environment
cp .env.example .env
- Configure development settings
npm run setup-dev
# Run all tests
npm test
# Run with coverage
npm test -- --coverage
# Run in watch mode
npm test -- --watch
# Build for iOS
eas build -p ios
# Build for Android
eas build -p android
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and development process.
This project is licensed under the MIT License - see the LICENSE file for details.