mirror of
https://github.com/DocNR/POWR.git
synced 2025-04-22 16:51:33 +00:00
POWR - Cross-Platform Fitness Tracking App
POWR is a local-first fitness tracking application built with React Native and Expo, featuring planned Nostr protocol integration for decentralized social features.
Features
Current
- Exercise library management
- Workout template creation
- Local-first data architecture
- Cross-platform support (iOS, Android)
- Dark mode support
Planned
- Workout record and template sharing
- Nostr integration
- Social features
- Training programs
- Performance analytics
Getting Started
Prerequisites
- Node.js (v18 or later)
- npm or yarn
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio (for Android development)
Installation
- Clone the repository
git clone https://github.com/docNR/powr.git
cd powr
- Install dependencies
npm install
- Start the development server
npx expo start
Development Options
- Press 'i' for iOS simulator
- Press 'a' for Android simulator
- Scan QR code with Expo Go app for physical device
Project Structure
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
Technology Stack
Core
- React Native
- Expo
- TypeScript
- SQLite (via expo-sqlite)
UI Components
- NativeWind
- React Navigation
- Lucide Icons
Testing
- Jest
- React Native Testing Library
Development
Environment Setup
- Install development tools
npm install -g expo-cli
- Configure environment
cp .env.example .env
- Configure development settings
npm run setup-dev
Running Tests
# Run all tests
npm test
# Run with coverage
npm test -- --coverage
# Run in watch mode
npm test -- --watch
Building for Production
# Build for iOS
eas build -p ios
# Build for Android
eas build -p android
Contributing
- 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.
Documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Description
Cross-platform fitness tracking app built with React Native and Expo. Features local-first architecture with planned Nostr protocol integration for decentralized social features.
Languages
TypeScript
98.2%
Kotlin
1.1%
JavaScript
0.2%
Objective-C++
0.2%
Ruby
0.2%
Other
0.1%