Prerequisites
Before you begin, ensure you have the following installed:- Node.js (v18 or later)
- npm, yarn, pnpm, or bun package manager
- Git for version control
GymApp is built with Expo SDK 54 and React Native 0.81.4, which requires Node.js 18 or higher.
Platform-Specific Requirements
- iOS
- Android
- Web
- macOS (required for iOS development)
- Xcode 14.0 or later
- CocoaPods (installed via
sudo gem install cocoapods) - iOS Simulator (included with Xcode)
Clone the Repository
First, clone the GymApp repository to your local machine:Install Dependencies
Install the project dependencies using your preferred package manager:- Expo SDK 54 - The framework for universal React applications
- React 19.1.0 - The UI library
- React Native 0.81.4 - The native platform bindings
- Expo Router 6 - File-based routing for navigation
- React Native Reanimated 4.1 - High-performance animations
- TypeScript 5.9 - Type-safe development
The complete dependency list can be found in
package.json at the root of the project.Verify Installation
Once the installation is complete, verify that everything is set up correctly:Check Expo CLI
Verify that Expo is installed correctly:You should see the Expo version number (54.x.x).
Project Configuration
GymApp comes pre-configured with the following settings:TypeScript Configuration
The project uses strict TypeScript settings defined intsconfig.json:
tsconfig.json
Expo Configuration
Key features enabled inapp.json:
- New Architecture: Enabled for improved performance
- Typed Routes: Type-safe navigation with Expo Router
- React Compiler: Experimental automatic optimization
- Edge-to-Edge UI: Modern Android experience
- Universal Platforms: iOS, Android, and Web support
Development Environment Setup
Configure Your Code Editor
For the best development experience with TypeScript and React Native: Visual Studio Code (Recommended) Install these extensions:- ESLint
- Prettier
- React Native Tools
- TypeScript and JavaScript Language Features
Set Up Environment Variables
If your project requires environment variables, create a.env file in the root directory:
Troubleshooting
Clear Cache
If you encounter issues, try clearing the cache:Reset Dependencies
For persistent issues, try resetting your dependencies:Common Issues
Metro bundler won't start
Metro bundler won't start
- Ensure no other processes are using port 8081
- Try clearing the Metro cache:
npx expo start --clear - Restart your terminal and try again
TypeScript errors in node_modules
TypeScript errors in node_modules
- This is usually safe to ignore
- Run
npx expo install --fixto ensure compatible versions - Check that you’re using Node.js 18 or higher
Android build fails
Android build fails
- Verify ANDROID_HOME is set correctly
- Ensure Android SDK platform 33+ is installed
- Clean the Android build:
cd android && ./gradlew clean
Next Steps
Now that you have GymApp installed, you’re ready to start development:Quickstart
Get your app running in minutes
Project Structure
Understand the codebase organization