RepWise
RepWise is an advanced AI-powered fitness application that helps users achieve their fitness goals through personalized workout plans, real-time form correction, and comprehensive health tracking.
Features
- AI-Powered Workout Generation: Personalized plans based on user goals, equipment, and fitness level
- Real-time Pose Detection: Live form correction with voice feedback
- Macro & Nutrition Tracking: Food logging with barcode scanning capabilities
- Gamification: PVP fitness challenges and achievement tracking
- WearOS & Health Connect: Seamless data synchronization across devices
- WebRTC Integration: Real-time form scoring and interactive workout sessions
- Personalized User Onboarding: Comprehensive fitness profile creation
Tech Stack
- Frontend: SvelteKit with TypeScript
- UI Components: Custom component library with responsive design
- Database: Prisma ORM
- Authentication: User authentication and profile management
- Real-time Communication: WebRTC for live workout feedback
- AI Integration: For workout plan generation and form correction
- PWA Support: Progressive Web App capabilities
Getting Started
Prerequisites
- Node.js (v16 or later)
- npm or pnpm
- Database (see Prisma schema for requirements)
Installation
-
Clone the repository
git clone https://github.com/yourusername/RepWise.git cd RepWise
-
Install dependencies
npm install # or pnpm install
-
Set up environment variables (create a .env file in the root directory)
-
Initialize the database
npx prisma db push
-
Start the development server
npm run dev # or pnpm dev
Environment Variables
Create a .env
file in the root directory with the following variables:
DATABASE_URL="your-database-connection-string"
ELEVENLABS_API_KEY="elevenlabs-api-key"
GEMINI_API_KEY="gemini-api-key"
OCR_API_KEY="ocr-api-key"
PUBLIC_APP_ID="agora-app-id"
Database Schema
The project uses Prisma ORM with a schema that includes:
- User profiles
- Fitness onboarding data (goals, level, equipment, etc.)
- Workout plans and history
- Nutrition tracking
API Integrations
- Computer Vision API: For pose detection and form analysis
- Nutrition Database API: For food and barcode scanning data
- AI Services: For workout program generation and personalization
Project Structure
RepWise/
āāā prisma/ # Database schema and migrations
āāā src/
ā āāā routes/ # SvelteKit routes
ā ā āāā (app)/ # Authenticated app routes
ā ā āāā api/ # API endpoints
ā āāā lib/ # Shared utilities and components
ā āāā components/ # Reusable UI components
āāā static/ # Static assets
Deployment
The application can be deployed to any platform supporting Node.js applications:
npm run build
npm run preview
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.