A React Native fitness tracking app built with Expo that helps you log workouts, track progress, and manage your fitness journey.
- Quick access to main features
- Navigation to workout logging
- Getting started guide
- Progress overview
- Calendar View: Navigate between months and select dates
- Workout Logging: Add exercises with sets, reps, and weight
- Exercise Library: Quick access to common exercises
- Custom Exercises: Add your own exercises
- Workout Templates: Save and reuse workout routines
- Progress Tracking: View completed workouts by date
The app uses a bottom tab navigator with two main screens:
- Home - Landing page with quick actions
- Log - Workout logging and calendar view
- Smooth transitions between screens
- Persistent state across navigation
- Month navigation in calendar
- Date selection for workout logging
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI
- Clone the repository:
git clone <repository-url>
cd 2plates- Install dependencies:
npm install- Start the development server:
npx expo start- Run on your preferred platform:
- Web: Press
wor visit the web URL - iOS: Press
i(requires iOS Simulator) - Android: Press
a(requires Android Emulator)
- Navigate to the Log tab
- Select a date on the calendar
- Tap "New Workout"
- Add exercises by:
- Tapping exercise chips from the library
- Using "Custom Exercise" for unique exercises
- Fill in sets, reps, and weight for each exercise
- Save the workout
- Create a workout as described above
- Tap "Save as Template" before saving
- Next time, tap "New Workout" and select your template
- Use the arrow buttons to navigate between months
- Tap any date to view or log workouts
- Green dots indicate days with logged workouts
- Orange highlight shows the selected date
- Blue highlight shows today's date
- React Native 0.79.6
- Expo SDK 53
- React Navigation 7
- Expo Vector Icons
2plates/
├── App.js # Main app component with navigation
├── screens/
│ ├── HomeScreen.js # Home screen with quick actions
│ └── LogScreen.js # Workout logging and calendar
├── assets/ # App icons and images
└── package.json # Dependencies and scripts
- ✅ Added missing
@expo/vector-iconsdependency - ✅ Fixed navigation configuration with proper screen options
- ✅ Improved error handling for exercise validation
- ✅ Fixed Alert.prompt compatibility issues
- ✅ Enhanced calendar navigation with month controls
- ✅ Added proper input validation for sets and reps
- ✅ Smooth tab navigation between Home and Log screens
- ✅ Quick action buttons on Home screen for easy access
- ✅ Month navigation in calendar view
- ✅ Proper screen state management
- ✅ Intuitive calendar interface
- ✅ Quick exercise selection
- ✅ Form validation and error messages
- ✅ Responsive design for different screen sizes
- ✅ Clear visual indicators for workout days
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For issues or questions, please open an issue on GitHub or contact the development team.