Strona Licząca Kalorie to przyjazna użytkownikowi aplikacja, która pomaga śledzić dzienne spożycie kalorii i efektywnie zarządzać dietą. Użytkownicy mogą rejestrować swoje posiłki, przeglądać informacje o wartości odżywczej i jeść to co lubią, bez obaw o swoją wagę.
- Rejestrowanie posiłków: Łatwe dodawanie śniadania, obiadu, kolacji i przekąsek.
- Śledzenie kalorii: Automatyczne obliczanie całkowitego dziennego spożycia kalorii.
- Informacje odżywcze: Szczegółowy podział makroskładników (białka, tłuszcze, węglowodany).
Aby uruchomić stronę Calorie Calculator lokalnie, wykonaj następujące kroki:
-
Sklonuj repozytorium:
git clone https://github.com/Wojtyua/38053_38062_38545_38073.git cd 38053_38062_38545_38073
-
Zainstaluj zależności:
npm install
lub
npm install --force
-
Uruchom aplikację:
npm run dev
-
Otwórz przeglądarkę: Przejdź do
http://localhost:5173
, aby zobaczyć aplikację.
- Rejestrowanie posiłków: Dodawaj posiłki, wyszukując je z bazy
const useProducts = () => {
const [products, setProducts] = useState([]);
useEffect(() => {
const getProducts = async () => {
const { data } = await supabase.from("products").select("*");
setProducts(data);
};
getProducts();
}, []);
return products;
}
- Przeglądanie kaloryki posiłków: Sprawdź ile kalorii mają twoje posiłki.
const useSelectedProducts = () => {
const [selectedProducts, setSelectedProducts] = useState([]);
const [totals, setTotals] = useState({
calories: 0,
protein: 0,
carbs: 0,
sugar: 0,
fat: 0,
});
const addProductToList = (product) => {
setSelectedProducts((prevProducts) => [...prevProducts, product]);
setTotals((prevTotals) => ({
calories: prevTotals.calories + product.calories,
protein: prevTotals.protein + product.protein,
carbs: prevTotals.carbs + product.carbs,
sugar: prevTotals.sugar + product.sugar,
fat: prevTotals.fat + product.fat,
}));
};
return {
selectedProducts,
totals,
addProductToList,
};
};
- Przeglądanie informacji odżywczych: Sprawdź podział odżywczy swoich posiłków.
{selectedProducts.map((product, index) => (
<tr className="capitalize bg-white even:bg-gray-50" key={index}>
<td className="py-2 px-4 border-b border-gray-200">{product.name}</td>
<td className="py-2 px-4 border-b border-gray-200">{Math.round(product.calories)} kcal</td>
<td className="py-2 px-4 border-b border-gray-200">{Math.round(product.protein)}g</td>
<td className="py-2 px-4 border-b border-gray-200">{Math.round(product.carbs)}g</td>
<td className="py-2 px-4 border-b border-gray-200">{Math.round(product.sugar)}g</td>
<td className="py-2 px-4 border-b border-gray-200">{Math.round(product.fat)}g</td>
</tr>
Ten projekt jest licencjonowany na warunkach licencji MIT.
Dziękujemy za korzystanie ze Strony Liczącej Kalorie!