An open API service indexing awesome lists of open source software.

https://github.com/guillevarelabarros/fittrack-dev

A responsive calorie tracking app built with React, TypeScript, and Material UI. Showcases global state management with Context API and useReducer, including theme toggle, localStorage, and dynamic UI components.
https://github.com/guillevarelabarros/fittrack-dev

calorie-tracker context-api fitness-app frontend localstorage material-ui react responsive-design state-management typescript usereducer

Last synced: about 1 year ago
JSON representation

A responsive calorie tracking app built with React, TypeScript, and Material UI. Showcases global state management with Context API and useReducer, including theme toggle, localStorage, and dynamic UI components.

Awesome Lists containing this project

README

          

# πŸ₯— FitTrack - Calorie Manager

![screenshot](./public/screen1.png)

**FitTrack** is a responsive calorie tracking web application built with
**React + TypeScript**, styled with **Material UI**, and powered by **Context
API** + `useReducer` for global state management. It allows users to log meals
and exercises to monitor their daily calorie intake, burn, and net balance.

## πŸš€ Live Demo

πŸ‘‰ [Live Demo on Netlify](https://fittrack-calories.netlify.app) ← _(Replace
with your actual URL)_

---

## 🧠 Technologies Used

- βš›οΈ **React 18** with **TypeScript**
- 🎨 **Material UI (MUI)**
- 🧠 **Context API** + `useReducer`
- πŸ“Š **Recharts** for data visualization
- 🍿 **notistack** for snack notifications
- πŸŒ— Light and dark mode support
- πŸ’Ύ LocalStorage persistence
- ⚑ Built with Vite

---

## πŸ“Έ Screenshots

| Add Activity | Summary | Meals & Activities |
| -------------------------------- | -------------------------------- | -------------------------------- |
| ![screen1](./public/screen1.png) | ![screen2](./public/screen2.png) | ![screen3](./public/screen3.png) |

---

## πŸ—‚οΈ Folder Structure

src/ β”œβ”€β”€ components/ # Main visual components β”œβ”€β”€ context/ # Global contexts and
providers β”œβ”€β”€ data/ # Static data (categories) β”œβ”€β”€ hooks/ # Custom React hooks
β”œβ”€β”€ reducers/ # State management with useReducer β”œβ”€β”€ types/ # TypeScript type
definitions β”œβ”€β”€ App.tsx # Root component └── main.tsx # App entry point

---

## ✨ Features

βœ… Add meals or exercises
βœ… See calories consumed, burned, and net difference
βœ… View bar chart summary
βœ… Edit and delete existing records
βœ… Toggle between light and dark mode
βœ… Responsive design
βœ… LocalStorage data persistence (no backend required)

---

## πŸ“¦ Installation

1. Clone the repository

```bash
git clone https://github.com/guillevarelabarros/fittrack-calorie-manager.git
cd fittrack-calorie-manager
```

---

## ✨ Features

βœ… Add meals or exercises
βœ… See calories consumed, burned, and net difference
βœ… View bar chart summary
βœ… Edit and delete existing records
βœ… Toggle between light and dark mode
βœ… Responsive design
βœ… LocalStorage data persistence (no backend required)

---

## πŸ“¦ Installation

```bash
1. Clone the repository
git clone https://github.com/guillevarelabarros/fittrack-calorie-manager.git
cd fittrack-calorie-manager

2. Install dependencies
yarn install

3. Run the development server
yarn dev

4. Build for production
yarn build
```

## πŸ§ͺ What This Project Demonstrates

This project showcases:

Global state management with React Hooks (without Redux)

Clean modular code architecture

Strong grasp of React + TypeScript + MUI

Real-world UI with responsive and accessible components

Usage of modern libraries and best practices

Clear separation of concerns and reusable components

## πŸ“« Contact

πŸ‘¨β€πŸ’» Built by Guillermo Ignacio Varela Barros πŸ“§ Email:
guillevarelabarros@gmail.com

## πŸ“ License

This project is licensed under the MIT License. Feel free to use, modify, or
adapt it for your own purposes.

"It’s not just about counting calories β€” it’s about taking control." β€” Guille πŸ’ͺ