Eckstein is a modern iOS fitness tracking app built with SwiftUI and Core Data, designed to help users track their workouts, diet, weight progress, and receive AI-powered coaching.
- Comprehensive exercise library with categorization
- Set tracking with weight, reps, and rest time
- Workout history and progress visualization
- Support for custom exercises
- Meal tracking with nutritional information
- Calorie bank system for flexible dieting
- Food database with search functionality
- Daily/weekly nutrition summaries
- Weight entry with progress charts
- BMI calculation and tracking
- Goal setting and progress monitoring
- Visual trend analysis
- Personalized workout and nutrition advice
- Form tips and exercise recommendations
- Progress analysis and suggestions
- Chat-based interaction with context awareness
- Offline-first architecture with cloud sync
- Multi-language support (English, Hebrew)
- Dark mode support
- HealthKit integration
- Xiaomi scale support (coming soon)
- Frontend: SwiftUI, Core Data
- Backend: Supabase (PostgreSQL)
- AI: OpenAI GPT-4
- Architecture: MVVM with Coordinator pattern
- Minimum iOS: 17.0
- Xcode 15.0 or later
- iOS 17.0+ device or simulator
- Supabase account (for backend)
- OpenAI API key (for AI features)
- Clone the repository:
git clone https://github.com/yourusername/eckstein.git
cd eckstein- Open the project in Xcode:
open Eckstein/Eckstein.xcodeproj-
Configure environment:
- Copy
.env.exampleto.env - Add your Supabase URL and keys
- Add your OpenAI API key
- Copy
-
Build and run the project in Xcode
The app uses Supabase as the backend. The complete database schema is provided in FINAL_VERSION_APP_DB.sql. To set up:
- Create a new Supabase project
- Run the SQL script in the Supabase SQL editor
- Update your
.envfile with the project credentials
The app follows a clean architecture pattern:
- Core/: Core services, utilities, and data models
- Features/: Feature modules (Workout, Diet, Weight, AI)
- Resources/: Assets, localizations, and configurations
- App/: App entry point and coordinators
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with SwiftUI and Core Data
- Powered by Supabase and OpenAI
- Designed for fitness enthusiasts by fitness enthusiasts