A React Native fitness app that provides personalized workout plans and tracks your fitness progress.
- Node.js (v14 or higher)
- npm or yarn
- MongoDB (local installation or MongoDB Atlas account)
- Expo CLI (
npm install -g expo-cli)
-
Clone the repository
git clone <repository-url> cd DialedIn
-
Install dependencies
npm install # or yarn install -
Configure environment variables
- Copy
.env.exampleto.env - Update the following variables in
.env:MONGODB_URI=mongodb://localhost:27017/dialedin PORT=3000 JWT_SECRET=your_secret_key_here GEMINI_API_KEY=your_gemini_api_key_here
- Copy
-
Set up MongoDB
- Install MongoDB locally or use MongoDB Atlas
- If using local MongoDB, make sure it's running on port 27017
- If using MongoDB Atlas, update the MONGODB_URI in
.envwith your connection string
-
Get a Gemini API key
- Go to https://makersuite.google.com/app/apikey
- Create a new API key
- Add the key to your
.envfile
-
Start the backend server
npm start # or yarn start -
Start the Expo development server
npx expo start
-
Run the app
- Press 'i' to run on iOS simulator
- Press 'a' to run on Android emulator
- Scan the QR code with Expo Go app on your physical device
If you want to test the app on a physical device:
-
Find your computer's local IP address:
- On macOS/Linux:
ifconfigorip addr - On Windows:
ipconfig
- On macOS/Linux:
-
Update the API_URL in
config.js:export const API_URL = 'http://YOUR_LOCAL_IP:3000/api';
-
Make sure your phone is on the same WiFi network as your computer
- MongoDB Connection Issues: Make sure MongoDB is running and accessible
- API Connection Issues: Check that the backend server is running and the API_URL is correct
- Expo Build Issues: Try clearing the Expo cache with
expo start -c - Missing Video Files: The app will still work without video files, but exercise demonstrations won't be available
/app- React Native screens and components/routes- Backend API routes/models- MongoDB models/config- Configuration files/components- Reusable React components
[Your License Here]