Skip to content
/ POWR Public

Cross-platform fitness tracking app built with React Native and Expo. Features local-first architecture with planned Nostr protocol integration for decentralized social features.

Notifications You must be signed in to change notification settings

DocNR/POWR

Repository files navigation

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

  1. Clone the repository
git clone https://github.com/docNR/powr.git
cd powr
  1. Install dependencies
npm install
  1. 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

  1. Install development tools
npm install -g expo-cli
  1. Configure environment
cp .env.example .env
  1. 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

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. 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

About

Cross-platform fitness tracking app built with React Native and Expo. Features local-first architecture with planned Nostr protocol integration for decentralized social features.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published