Mini Project
Mini Project
Project by,
Madhumitha K(221501071)
ABSTRACT
In today’s health-conscious world, personalized dietary recommendations are essential for maintaining
well-being and managing weight. This project presents a smart food recommendation system powered by
Machine Learning that assesses users’ health metrics such as BMI (Body Mass Index) and provides
dietary suggestions tailored to their body type—underweight, normal, or overweight. The system also
visualizes nutritional data using pie charts and suggests healthy recipes and weight management plans.
Unlike static diet plans, this system adapts to each user's unique health profile, making the
recommendations more practical, interactive, and user-focused..
OBJECTIVE
The primary objective of the Diet Recommendation System is to provide personalized, data-driven diet
recommendations to users based on their unique health parameters such as age, weight, and height. The
system aims to leverage a content-based recommendation approach to suggest healthy food options,
promoting a balanced diet tailored to individual needs. The project seeks to empower users to make informed
food choices by offering customized meal plans, and it also allows for custom food recommendations based
on users' nutritional preferences. Additionally, the system is designed to be scalable and efficient, deploying
the application using Docker and Docker-Compose to ensure smooth and consistent performance across
various environments.
PROBLEM SOLUTION
The Diet Recommendation System solves this problem by offering personalized diet suggestions based
on user-specific data such as age, weight, and height. By employing a content-based recommendation
engine, the system analyzes nutritional information about food items to generate customized
recommendations that align with individual preferences and dietary restrictions. The solution ensures that
the recommendations are not only tailored but also diverse, providing users with a variety of healthy meal
options. With the use of Docker for deployment, the application can easily be scaled and run in any
environment, offering users a consistent and efficient experience. Additionally, the system can be accessed
through a user-friendly web interface built with Streamlit, making it accessible and intuitive for all users.
METHODOLOGY
•User Input Interface: Users enter basic details—age, height, weight, activity level.
•BMI Calculation Module:
•BMI = weight (kg) / (height in meters²)
•Categories: Underweight, Normal, Overweight, Obese
•Health Status Analysis:
•Classify users into BMI categories.
•Trigger specific recommendation plans based on the category.
•Machine Learning Model for Recommendation: .
•A Content-Based Filtering ML model is used.
•Trained on a dataset containing food items, calories, nutritional value, dietary tags (e.g., keto, protein-rich, low-carb).
•Recommends meals matching user profile + health goals.
•Visualization:
•Uses pie charts to show nutritional breakdown (carbs, protein, fat).
•Suggests food recipes with calorie values and macros.
•Weight Management Plan:
•Based on BMI, a tailored weight gain/loss/maintenance plan is generated.
TECH STACK
🧰 Tech Stack
Frontend
•React.js / Vue.js
•HTML5, CSS3, JavaScript
•Chart.js (for Pie Chart Visualizations)
🧠 ML Model (Backend)
•Python
•scikit-learn, Pandas, NumPy, Matplotlib
•Flask / FastAPI (for API)
•Docker (Containerization)
Database
•Firebase Firestore / MongoDB
•Firebase Authentication
Deployment
•Docker
•Render / Heroku / Vercel / Google Cloud
•GitHub for version control
🧭 Architecture Diagram
Includes:
•User Input ➜ BMI Calculation ➜ Classification ➜ ML Model ➜ Diet & Food Recommendation ➜ Visualization (Pie
Chart)
ARCHITECTURE DIAGRAM
ARCHITECTURE WORKFLOW
LIST OF MODULES
1. User Profile & Input Module
• Handles: Age, weight, height, gender, preferences, allergies, goals.
• Functions:
• BMI Calculation
• Preprocessing for input validation
• Frontend: Streamlit form interface
• Backend: FastAPI handles form data as API calls