The Smart Clothing App is a mobile platform interfacing with sensor-equipped wearables to collect and analyze real-time biometric data. Stored on Firestore real-time database cloud platforms, and locally, this data provides student athletes and their coaches with performance insights and personalized training recommendations. Additionally, it provides injury prevention and data sharing capabilities, the app integrates seamlessly into existing digital health ecosystems. All features are presented via an intuitive, user-friendly interface, ensuring easy access and comprehension of complex biometric data.
Tech Stack
- Project Goals
- Scope of Functionalities
- Push Notifications
- Application Setup
- Application Launch
- Development Etiquette
- Troubleshooting
Smart textile products integrate the design research (environment and communication), physiology (human), and textile technology (E-textiles) all together. However, smart textiles are blind to many consumers with no sufficient knowledge in wearable technology to understand and analyze the real-time vital signs. Therefore, the main goal of this research is to figure out:
- User-oriented/centered technology that reflects CSUN student-athletes’ latent smart textile needs through the wear test in smart textiles and users’ feedback in this wearable technology.
- Development of an application that communicates with smart textiles using the collected authorized data shared by users, then processes and stores the data securely.
- Deployment/application of a large-scale consumer research instrument based on the multi-method measurement of student-athletes’ wearing experience and user feedback.
A more outlined description can be found here: https://arcs.center/a-framework-for-smart-textile-large-scale-consumer-research/
-
User authentication
- Log in/out via Firebase Authentication
- Forgot password reset
-
Account management
- Edit profile: Name, date of birth, height, weight, sports
- Change email/password
- Delete health data
- Delete account
-
Data collection & storage
- Pull metrics from user profile and wearable sources
- Store health data in Firebase and locally
- Integrate with Apple HealthKit (iOS) and Google Health Connect (Android)
-
Coach-athlete invite system
- Coaches can send invites to athletes
- Athletes can manage coach permissions, pause sharing, or remove coach access
-
Work-in-progress
- Injury prevention (ML-based)
- Export data to Boracle and third-party dashboards
- Performance insight visualization
This app supports Expo Push Notifications, triggered from the Coaching Dashboard and delivered to athlete devices.
- Coaches send invitations through the dashboard
- Athletes receive push notifications on their mobile device when:
- An invite is sent
- A coach takes certain actions
This system enables real-time updates and enhanced coach-athlete coordination.
To run push notifications on iOS:
- An Apple Developer account is required
- The app must be built using EAS Build with a development profile
- Team members should never share login credentials. Instead, request access to the Apple Developer Team from the account owner or admin.
To safely collaborate:
- Project owner can invite others to Apple Dev Team via App Store Connect → Users and Access
- Assigned Developer role is sufficient for testing and EAS builds
- For service accounts and
.envsetup related to push tokens, ask@cfiguer055directly
Expo Go workflow won’t work — must use dev build via EAS CLI
cd SmartClothingApp
npm installTerminal 1: Build the dev client
eas build --platform ios --profile developmentTerminal 2: Run metro server
npx expo start --clearHaving trouble?
cd ios
rm -rf Pods Podfile.lock
pod install
cd ..
# Repeat terminal 1 and 2 steps abovecd SmartClothingApp
npm install
npx expo run:androidIf the build fails:
cd android
./gradlew clean build
cd ..
npx expo run:androidRepeat until the issue clears.
This notification system connects with the Coaching Dashboard:
-
Coaches sign into their account
-
Go to the Invite Page
-
Enter an athlete’s email to send an invite
-
Athletes receive a push notification and can:
- Accept or reject the invite
- Temporarily stop tracking
- Permanently revoke coach access
For full dashboard setup, see: Dashboard README
- Ensure Node.js is up to date
- Download Expo Go (only for testing non-push features)
- Ask admin for
.envfile with secure API keys - Place
.envin the root directory (outsidesrc/) - Run
npm installbefore any development
cd smartclothingapp
npx expo startTo bypass login/signup during dev:
- Open
reducers/userReducer.js - Set
uuidto a valid value ininitialState
stable: production-ready branchmain: in-progress work, must be functional- Dev branches should be regularly rebased and merged via PR
- All pull requests must be tested and reviewed
- "Main" not registered → run:
npx expo start --clear-
Android SDK PATH issue:
- Ensure correct path:
C:\Users\YOURNAME\AppData\Local\Android\Sdk - Set it in
local.propertiesassdk.dir=...
- Ensure correct path:
-
Old JDK used:
- Use
JDK 17(recommended) - Run
./gradlew stopinandroid/to kill old daemon
- Use