Skip to content

Axestein/FitFlow.ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FitFlow.ai Group 1707485533

Made with React Vite TailwindCSS TensorFlow.js MediaPipe Node.js MongoDB License

Smart AI-powered fitness companion with real‑time pose detection, gamified progress, personalized plans, and a community leaderboard. Built for speed, accessibility, and fun. ✨

Group 1707485530 (1)

🧭 Table of Contents


🌟 Highlights

  • πŸ’‘ Personalized Workouts: Tailored exercise routines and desk‑friendly movements
  • πŸŽ₯ Real‑time Pose Coaching: MediaPipe + TensorFlow.js guidance via your webcam
  • 🧠 AI Insights: Hydration nudges, habit tracking, and daily goals
  • πŸ§‘β€πŸ€β€πŸ§‘ Community & Leaderboard: Stay motivated with friendly competition
  • πŸ—‚οΈ Kanban Productivity: Plan health tasks with a drag‑and‑drop board
  • πŸ” Auth & Profiles: JWT auth, user profiles, achievements and badges

Judges: jump to "Getting Started" to run the project quickly.


πŸ—οΈ Architecture

Screenshot 2025-09-07 162708

🧰 Tech Stack

  • βš›οΈ React 18, React Router
  • ⚑ Vite, ESLint, Tailwind CSS
  • 🧠 TensorFlow.js, MediaPipe Pose
  • πŸ”₯ Firebase (client SDK)
  • 🟩 Node.js, Express
  • πŸƒ MongoDB, Mongoose

βœ… Features

  • πŸ‘€ Sign up, sign in, and profiles
  • πŸ‹οΈ Exercise flows: pushup, pullup, lunges, squats, shoulder press, bicep curls, front raises, high knees, morning routine
  • πŸ’» Desk exercises: hand, curls, knee raises
  • πŸ§ƒ Hydration break alerts
  • πŸ—ΊοΈ Personalized plan suggestions
  • 🧱 Kanban task board (drag‑and‑drop)
  • πŸ† Leaderboard and badges
  • πŸŽͺ Events and community space

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • MongoDB Atlas (or local MongoDB)
  • A modern browser with webcam access (for pose features)

Environment Variables

Create server/.env with:

MONGO_URI=mongodb+srv://<username>:<password>@<cluster>/<db>?retryWrites=true&w=majority
PORT=8080
JWT_SECRET=change_this_secret

Firebase config for the client is read from client/src/components/firebaseConfig.jsx. Ensure your keys are set there if required.

Install & Run

Open two terminals or use a multiplexer. Commands are Windows‑friendly.

  1. Backend (Express + MongoDB)
cd server
npm install
npm start
# Server listens on http://localhost:8080 by default
  1. Frontend (Vite + React)
cd client
npm install
npm run dev
# App runs on http://localhost:5173 by default

πŸ—ΊοΈ Available Pages

  • / Landing page
  • /login, /signup Auth
  • /dashboard Overview widgets + quick links
  • /exercise Exercise hub
  • /exercise/pushup (and similar for others)
  • /personalized PersonalizedExercise
  • /kanban KanbanFlow
  • /leaderboard Leaderboard
  • /community Community
  • /diet DietPlan
  • /event Event
  • /profile Profile

πŸ”Œ API Overview

Base URL: http://localhost:8080/api

  • POST /auth Authentication routes (login/register)
  • GET/POST/PUT/DELETE /tasks Task CRUD for the Kanban board
  • GET /users/:id User profile and stats

See server/routes/ and server/controllers/ for details.


πŸ—‚οΈ Folder Structure

FitFlow.ai-master/
β”œβ”€ client/
β”‚  β”œβ”€ public/                # Static assets (gifs, images)
β”‚  β”œβ”€ src/
β”‚  β”‚  β”œβ”€ components/         # UI and auth components
β”‚  β”‚  β”œβ”€ pages/               # Feature pages (Exercise, Kanban, etc.)
β”‚  β”‚  β”œβ”€ lp/                  # Landing page sub-app
β”‚  β”‚  └─ data/                # Data helpers
β”‚  └─ package.json
└─ server/
   β”œβ”€ config/db.js           # Mongo connection (uses MONGO_URI)
   β”œβ”€ controllers/           # Route handlers
   β”œβ”€ models/                # Mongoose schemas
   β”œβ”€ routes/                # Express routers
   β”œβ”€ server.js              # App entrypoint
   └─ package.json

πŸ› οΈ Troubleshooting

  • 🧩 Pose not detected: ensure camera permission is granted and page is served over http://localhost.
  • πŸ”‘ Auth errors: verify Firebase config and server JWT_SECRET.
  • 🌿 DB not connecting: double‑check MONGO_URI and network IP allowlist on MongoDB Atlas.
  • 🧡 CORS issues: server enables CORS; ensure frontend uses the correct base URL.

🀝 Contributing

Contributions are welcome! Feel free to open issues or PRs. Please keep code readable and consistent, and add clear descriptions to changes.


shapes at 25-05-02 08 43 22

Built with ❀️, caffeine β˜•, and lots of reps πŸ‹οΈ by the PixelForce team.

About

Balancing Fitness in Busy Schedule is tough? Not any more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages