ThunderLean is a revolutionary web application that redefines your fitness journey. By harnessing the power of Artificial Intelligence, we provide you with smart, personalized insights into your meals, helping you to effortlessly manage your caloric intake and expenditure. Our goal is to make fitness tracking intuitive, accessible, and highly effective for everyone.
Our application is packed with a suite of features designed to support you every step of the way on your fitness journey:
- 🤖 AI Calorie Tracker: Simply describe your meal or snap a picture, and our Gemini-powered AI will provide an estimate of its nutritional content, including calories, protein, carbs, and fat.
- 🧮 TDEE Calculator: Determine your Total Daily Energy Expenditure (TDEE) to understand your body's needs. Get tailored calorie targets for maintaining, losing, or gaining weight.
- 📊 Interactive Dashboard: A beautifully designed dashboard to visualize your daily nutrition, track your progress with an interactive calendar, and monitor your goals at a glance.
- 💡 Personalized Tips: Receive customized advice to help you achieve your specific fitness goals, whether it's weight loss, weight gain, or muscle building.
This project is a monorepo that includes both the frontend and backend applications, built with a modern and robust technology stack:
- Framework: React
- Build Tool: Vite
- Routing: React Router
- Styling: Tailwind CSS
- Charts: Chart.js with react-chartjs-2
- HTTP Client: Axios
- Framework: Express.js
- Environment Variables: dotenv
- API Communication: Axios for requests to the Gemini API
- Middleware: CORS, Helmet
- Image Upload: Multer
To get a local copy of ThunderLean up and running, please follow these simple steps.
- Node.js (v18.0.0 or higher)
- npm or yarn
-
Clone the repository:
git clone [https://github.com/bhavishyaplawat/thunderlean.git](https://github.com/bhavishyaplawat/thunderlean.git) cd thunderlean -
Setup the Backend:
- Navigate to the backend directory:
cd Backend - Install NPM packages:
npm install
- Create a
.envfile in theBackenddirectory and add your Google Gemini API key:GEMINI_API_KEY=YOUR_API_KEY_HERE PORT=8080 - Start the backend server:
The server will be running at
node app.js
http://localhost:8080.
- Navigate to the backend directory:
-
Setup the Frontend:
- In a new terminal, navigate to the frontend directory:
cd frontend - Install NPM packages:
npm install
- Start the frontend development server:
The application will be available at
npm run dev
http://localhost:5173.
- In a new terminal, navigate to the frontend directory:
Contributions are the lifeblood of the open-source community and are greatly appreciated. Your contributions will help make ThunderLean an even better tool for everyone.
Please see our CONTRIBUTING.md file for details on our code of conduct and the process for submitting pull requests to us.
This project is licensed under the MIT License. See the LICENSE file for more information.
- A big thank you to all the open-source libraries and tools that made this project possible.
- Inspiration and motivation from the fitness and tech communities.
Made with ❤️ by the ThunderLean Team
