A comprehensive health and fitness tracking Android application that connects with Bluetooth Low Energy (BLE) smart scales to provide detailed body composition analysis and health insights.
- Smart Scale Integration: Connect and sync data from BLE-enabled smart scales
- Body Composition Analysis: Track multiple health metrics including:
- Weight and BMI
- Body Fat Percentage
- Body Water Percentage
- Skeletal Muscle Mass
- Lean Body Mass
- Basal Metabolic Rate (BMR)
- Body Age calculations
- Multi-User Support: Manage multiple user profiles within a single account
- User Authentication: Secure login with email/password and Google Sign-In
- Profile Management: Personalized health profiles with age, height, and gender settings
- Interactive Charts: Visual representation of health trends over time
- Health Reports: Comprehensive health analysis and recommendations
- Historical Data: Track progress with detailed history views
- Multi-Language Support: Available in 15+ languages including English, Hindi, Bengali, German, Spanish, French, Japanese, Chinese, and more
- Device Management: Add, connect, and manage multiple smart scale devices
- Privacy Controls: Complete privacy policy compliance and data protection
- Framework: Android Native with Jetpack Compose
- Language: Kotlin
- Architecture: MVVM (Model-View-ViewModel)
- Backend: Firebase (Authentication & Firestore)
- Bluetooth: BLE (Bluetooth Low Energy) integration
- Charts: YCharts and Composable-Graphs libraries
- ViewModels:
AuthViewModel- User authentication managementBleScanViewModel- Bluetooth device scanning and connectionUserDetailsViewModel- User profile and health data management
- Repositories:
UserRepository- Firebase user data operationsUserDetailRepository- Health metrics and user details
- Navigation: Jetpack Compose Navigation with animated transitions
- Android Studio Arctic Fox or later
- Android SDK 31 or higher
- Kotlin 1.9.0+
- Google Services account for Firebase integration
-
Clone the repository
git clone https://github.com/yourusername/fitfusion.git cd fitfusion -
Firebase Setup
- Create a new Firebase project at Firebase Console
- Add your Android app to the Firebase project
- Download
google-services.jsonand place it in theapp/directory - Enable Authentication (Email/Password and Google Sign-In)
- Set up Firestore Database
-
Configure Google Sign-In
- In Firebase Console, go to Authentication > Sign-in method
- Enable Google sign-in and add your SHA-1 fingerprint
- Update the
default_web_client_idin yourstrings.xml
-
Build and Run
./gradlew assembleDebug
The app requires the following permissions:
BLUETOOTH&BLUETOOTH_ADMIN- For BLE device communicationBLUETOOTH_CONNECT&BLUETOOTH_SCAN- Android 12+ BLE permissionsACCESS_FINE_LOCATION&ACCESS_COARSE_LOCATION- Required for BLE scanningINTERNET- For Firebase connectivity
- Min SDK: 31 (Android 12)
- Target SDK: 34 (Android 14)
- Compile SDK: 34
- Home Screen: Dashboard with latest health metrics and quick actions
- History Screen: Charts and historical data visualization
- Profile Screen: User management and app settings
- Device Management: BLE device pairing and management
- Health Reports: Detailed analysis and recommendations
Intro → Authentication → Main App (Bottom Navigation)
├── Home (Health Dashboard)
├── History (Data Visualization)
└── Me (Profile & Settings)
├── User Management
├── Device Management
├── Language Settings
└── Privacy Policy
// Core Android
implementation "androidx.core:core-ktx:1.13.1"
implementation "androidx.activity:activity-compose:1.9.0"
// Jetpack Compose
implementation "androidx.compose.ui:ui:1.6.0-alpha08"
implementation "androidx.compose.material3:material3"
implementation "androidx.navigation:navigation-compose:2.7.5"
// Firebase
implementation "com.google.firebase:firebase-auth"
implementation "com.google.firebase:firebase-firestore"
implementation "com.google.android.gms:play-services-auth:20.6.0"
// Charts & Visualization
implementation "co.yml:ycharts:2.1.0"
implementation "com.github.jaikeerthick:Composable-Graphs:v1.2.3"
// Lifecycle & ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1"./gradlew assembleReleaseThe app supports Android App Bundle (AAB) format for optimized distribution.
FitFusion supports multiple languages:
- English (default)
- Bengali (বাংলা)
- German (Deutsch)
- Spanish (Español)
- French (Français)
- Gujarati (ગુજરાતી)
- Hindi (हिन्दी)
- Japanese (日本語)
- Kannada (ಕನ್ನಡ)
- Malayalam (മലയാളം)
- Marathi (मराठी)
- Nepali (नेपाली)
- Punjabi (ਪੰਜਾਬੀ)
- Sanskrit (संस्कृत)
- Sindhi (سنڌي)
- Tamil (தமிழ்)
- Telugu (తెలుగు)
- Urdu (اردو)
- Chinese Simplified (简体中文)
FitFusion takes user privacy seriously. All health data is:
-
Encrypted in transit and at rest
-
Stored securely in Firebase Firestore
-
Never shared with third parties without explicit consent
-
Compliant with relevant data protection regulations
-
The Android development community
Version: 6.0
Last Updated: 2024
Developed with: ❤️ and ☕








