Your Tabata Workout Community
Welcome to TabaFit, the ultimate Tabata Timer application built with React Native and Expo. TabaFit goes beyond just timing your workouts; it brings together a vibrant community of fitness enthusiasts where you can generate custom workouts on the fly based on your preferences, explore and save a variety of workouts, and share your own routines with the world.
- Generate Workouts: Create personalized Tabata workouts tailored to your specific preferences and goals.
- Explore and Save Workouts: Browse through a diverse collection of workouts created by the community and save your favorites for easy access.
- Share Your Workouts: Publish your own workout routines and share them with the TabaFit community.
- Follow Users: Follow other users to keep up with their latest workouts and fitness activities.
- Engage with the Community: Like, comment, and engage with workouts shared by other users to build connections and stay motivated.
Join TabaFit today and be part of a community that shares your passion for fitness and helps you achieve your workout goals!
To get this project running on your local machine, follow the steps outlined below.
Ensure that you have the following installed on your local machine:
-
Clone this repository and navigate into it
git clone https://github.com/yourUsername/yourRepoName.git cd yourRepoName -
Navigate into the
mobiledirectorycd mobile -
Install dependencies
npm install
-
Start the application via Expo
npx expo start
This will open Expo Dev Tools in the browser. You can then use an emulator or a physical device connected to your machine to run the application.
To build expo, run eas build --platform ios --profile production. Use the transfer app to upload the .eas file to the Apple Connect.
-
Navigate back to the root directory and then into the
serverdirectorycd .. cd server && cd src
-
Install dependencies
npm install
-
Start the server
npm start
The server will start running at http://localhost:3000.
To set up Firebase Admin in your local environment:
- Rename
firebaseServiceAccountKey.ts.templatetofirebaseServiceAccountKey.tsin the/server/src/configdirectory. - Fill in the placeholders in
firebaseServiceAccountKey.tswith your actual Firebase service account details.- You can find these details in your Firebase project settings under Service Accounts.
- Ensure that
firebaseServiceAccountKey.tsis included in your.gitignorefile to avoid exposing sensitive information.
- Configurable number of exercises
- Configurable exercise duration
- Configurable rest interval
- Display of total workout time
- Countdown timer for current interval
- Visual cues for different states
This project is licensed under the terms of the MIT license.