Welcome to the HealthySportMind repository! This project is a comprehensive wellness and performance tracking platform designed for athletes. It consists of a React Native (Expo) frontend and a Django backend that is hosted on Google Cloud.
- Athlete Profiles: Customized tracking based on sport, experience level, and preferred communication tone.
- Daily Check-Ins: Log daily health metrics including mood, stress, energy, and sleep hours.
- Performance Tracking: Track training sessions with performance ratings and contextual comments.
- Data Visualization: View performance and check-in trends over time with beautiful, interactive graphs.
- AI-Assisted Feedback: Receive customized short-term and long-term actionable feedback generated from your check-ins and performance logs.
- Frontend: React Native, Expo, React Navigation, Axios, React Native Gifted Charts.
- Backend: Python, Django, Celery (task scheduling).
- Infrastructure: Google Cloud (Hosting).
The frontend is an Expo project. Its dependencies (including drawing and chart libraries) are tracked in package.json.
- Open a terminal and navigate to the frontend directory:
cd frontend - Install the Node modules:
npm install
- Ensure your environment variables are configured to point to the Google Cloud backend URL. (You may need to update the
API_URLvariables in thefrontend/services/api/folders or within a.envfile). - Start the Expo development server:
npx expo start -c
While the production backend operates on Google Cloud, you can run the Django API locally for further development:
- Navigate to the backend directory:
cd backend - Create and activate a Virtual Environment:
# Windows python -m venv venv .\venv\Scripts\activate # Mac/Linux python3 -m venv venv source venv/bin/activate
- Install the dependencies:
pip install -r requirements.txt
- Apply the database schema (such as the
PerformanceLogandCheckInmodels):python manage.py makemigrations api python manage.py migrate
- Start the backend development server:
python manage.py runserver
HealthySportMind/
├── backend/ # Django backend
│ ├── api/ # Main API app (urls, views, models, etc.)
│ ├── project/ # Django project config (settings, asgi)
│ └── requirements.txt # Python dependencies
├── frontend/ # React Native / Expo application
│ ├── app/ # Expo Router navigation framework
│ ├── components/ # Reusable UI components
│ ├── services/ # API services
│ └── package.json # Node dependencies
└── README.md
The backend of this application is deployed using Google Cloud. If you are updating the deployment:
- Install and authenticate the Google Cloud SDK.
- Navigate to your backend directory:
cd backend - Deploy the application to App Engine (or your specified Cloud Run instance):
gcloud app deploy
- Once deployed, verify the generated Google Cloud URL works and update it in your frontend environments (
EXPO_PUBLIC_API_URL/API_URL) so that your mobile application continues talking to the cloud endpoint.