FitSync is a holistic fitness ecosystem designed to bridge the gap between workout tracking, nutrition management, and AI-driven insights. It seamlessly integrates a cross-platform mobile application, a responsive web dashboard, a robust backend API, and advanced AI models to provide users with a personalized health experience.
- Cross-Platform Mobile App: Built with Flutter, offering a native experience on both Android and iOS. Tracks workouts, diet, and integrates with health data.
- Web Dashboard: A React-based admin and user dashboard for detailed analytics, profile management, and visualization of fitness trends.
- AI-Powered Insights:
- Food Clustering: Intelligent grouping of food items for better diet recommendations.
- Workout Recommendations: AI models to suggest workouts based on user goals and history.
- Heart Beat Analysis: Advanced analysis of heart rate data.
- Secure Authentication: Robust user management using JWT, OAuth (Google, Facebook), and Passport.js.
- Real-Time Tracking: Monitor progress with dynamic charts and logs.
FitSync utilizes a modern, full-stack architecture:
- Framework: Flutter SDK (Dart)
- State Management: Bloc
- Authentication: Firebase Auth, Google Sign-In
- Integrations: Health Connect, Local Notifications
- UI: Cupertino Icons, Google Fonts, Syncfusion Charts
- Framework: React.js
- Styling: Vanilla CSS, FontAwesome
- Charts: Chart.js, ApexCharts
- HTTP Client: Axios
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB (Mongoose ODM)
- Authentication: Passport.js, JWT, BCrypt
- Security: Helmet, XSS-Clean, Express-Rate-Limit
- Language: Python
- API Framework: FastAPI
- Libraries: Pandas, Scikit-learn, NumPy, Diffusers, Transformers
- Notebooks: Jupyter for data collection and model training
FitSync/
βββ Ai/ # AI Models, Notebooks, and FastAPI Service
β βββ api/ # FastAPI application
β βββ data/ # Datasets (CSV, etc.)
β βββ models/ # Trained model files
βββ Back-End/ # Node.js/Express Server
β βββ config/ # DB and App Configuration
β βββ controllers/ # Route Logic
β βββ models/ # Mongoose Schemas
β βββ routes/ # API Endpoints
βββ Front-End/ # React Web Application
β βββ fitsync/ # React Source Code
βββ Mobile/ # Flutter Mobile Application
βββ fitsync/ # Dart Source Code
Follow these instructions to set up the project locally.
- Node.js (v16+) & npm
- Flutter SDK (v3.0+)
- Python (v3.8+)
- MongoDB (Local or Atlas URI)
Navigate to the backend directory and install dependencies:
cd Back-End
npm installCreate a .env file in Back-End/ and configure your variables (PORT, MONGO_URI, JWT_SECRET, etc.).
Start the server:
npm startNavigate to the frontend directory:
cd Front-End/fitsync
npm installStart the React development server:
npm startNavigate to the mobile directory:
cd Mobile/fitsync
flutter pub getRun the app on an emulator or physical device:
flutter runNavigate to the AI API directory:
cd Ai/api
pip install -r requirements.txtStart the FastAPI server:
uvicorn main:app --reloadThis project is licensed under the ISC License.