A React Native app to track your fitness activity — including daily steps, calories, and more. Built with SQLite and Firebase, this app stores your progress, supports custom goals, and offers a clean, gradient-based UI using Tailwind-inspired styling.
- Track daily steps, calories, and personal health metrics
- Persist progress with SQLite + AsyncStorage
- Smooth navigation and onboarding flow
- Context-based state management
- Firebase-ready architecture
- Offline-first support
- Dark/light theme support
git clone https://github.com/your-username/fitness-tracker-app.git
cd fitness-tracker-appnpm installnpx react-native run-android
# or
npx react-native run-ios.
├── android/ # Android-specific code
├── ios/ # iOS-specific code
├── src/
│ ├── assets/ # Fonts, images, icons
│ ├── components/ # Shared UI components
│ ├── configs/ # App-level configuration
│ ├── constants/ # Static values
│ ├── contexts/ # App-wide Context Providers
│ │ ├── LanguageContext.jsx
│ │ ├── StepsTrackingContext.jsx
│ │ └── themeContext.jsx
│ ├── dbHelpers/ # SQLite helpers
│ │ ├── StepsHelper.jsx
│ │ └── stepsHelper.js
│ ├── hooks/ # Custom React hooks
│ │ ├── useAds.jsx
│ │ ├── usePersonal.jsx
│ │ └── useSteps.jsx
│ ├── layouts/ # Layout components
│ ├── navigations/ # Stack and tab navigators
│ ├── screens/ # App screens
│ │ ├── FAQs.jsx
│ │ ├── Home.jsx
│ │ ├── OnBoard.jsx
│ │ ├── Register.jsx
│ │ ├── Settings.jsx
│ │ └── Tracker.jsx
│ └── ui-components/ # Buttons, cards, icons
├── App.tsx # Main entry point
└── ...
Using Context API for global state:
StepsTrackingContext: Handles step data and logicThemeContext: Dark/light modeLanguageContext: Multi-language support (planned)
useSteps: Manages SQLite step datausePersonal: Loads user details (age, gender, goal)useAds: [Future] AdMob or rewarded video integration
StepsHelper: Insert, read, delete step dataPersonalHelper: Save/load user profile metrics
| Screen | Purpose |
|---|---|
| OnBoard | First-time intro to app |
| Register | Capture personal details |
| Home | Step counter and dashboard |
| Tracker | Graphs and history of activity |
| Settings | App settings and theme/language |
| FAQs | Help and common questions |
Includes essential packages:
- axios
- moment, dayjs
- @react-navigation/native, stack, bottom-tabs
- @react-native-async-storage/async-storage
- react-native-sqlite-storage
- react-native-safe-area-context, gesture-handler, screens
- react-native-linear-gradient
- react-native-wind (Tailwind CSS-like styling)
- react-native-heroicons, react-native-svg
- react-native-firebase/app
- lottie-react-native
- uuid, react-native-rename
- Poppins
- Montserrat
- Google Fit / Apple HealthKit Integration
- Firebase Authentication & Cloud Sync
- Weekly/Monthly analytics
- Language translations (i18n)
- Notification reminders for activity
Abdul Rehman
Full Stack Developer (React Native, PHP, Node.js)
- 💼 Portfolio
- 📫 Email: hi@rehman.developer@outlook.com