Stronger Together is a collaborative fitness app designed to foster motivation and accountability through social connections. The app's standout feature allows users to log their exercises, which then sends real-time notifications to friends, creating a supportive community of fitness enthusiasts.
- Social Workout Logging: Record your exercises with details like reps and sets
- Real-time Friend Notifications: When you complete a workout, friends receive motivational push notifications
- Activity Feed: View a chronological feed of friends' workouts and achievements
- Workout Likes and Reactions: Engage with friends' activities through likes
- User Profiles: Track your progress and workout history
- Frontend: React Native with Expo framework
- UI Libraries: React Native UI Lib, React Native Reanimated, React Native Gesture Handler
- State Management: Zustand and React Query (TanStack Query)
- Backend: Firebase (Authentication, Firestore, Storage)
- Push Notifications: Expo Notifications
- Navigation: Expo Router
- Authentication: Firebase Authentication with Google Sign-in integration
- TypeScript: Used throughout for type safety and improved developer experience
- Deployment: EAS (Expo Application Services)
This project demonstrates expertise in mobile app development, real-time notifications, social features implementation, and cloud integration. It showcases the ability to create a polished, feature-rich application that combines fitness tracking with social engagement to enhance user motivation.
Getting Started:
- Download Expo and go their Getting Started docs. This will install most of the dependencies needed to run this app.
Also install:
- XCode (for running the iOS app)
- Android Studio (for running the Android app)
- Firebase credentials (ask project admin)
$ nvm use
$ npm install$ npx expo startIf the above fails, try building the app locally:
$ npx expo prebuild --clean
$ npx expo run:ios # or npx expo run:android- How to create and submit a release locally. (save $ on the 30 max build per month from EAS)
- Note, you will need to update the
eas.jsonfile to include theascAppIdfor the app you are building. - Add the
--non-interactiveflag, as of this issue: expo/eas-cli#2639
$ eas build --non-interactive --platform ios --local
$ eas submit -p ios
# > select build from local binary file