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.
- Host: GitHub
- URL: https://github.com/guillevarelabarros/fittrack-dev
- Owner: guillevarelabarros
- Created: 2025-05-03T22:57:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-03T23:03:56.000Z (about 1 year ago)
- Last Synced: 2025-05-04T00:18:25.876Z (about 1 year ago)
- Topics: calorie-tracker, context-api, fitness-app, frontend, localstorage, material-ui, react, responsive-design, state-management, typescript, usereducer
- Language: TypeScript
- Homepage: https://fittrack-dev.netlify.app/
- Size: 201 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π₯ FitTrack - Calorie Manager

**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 |
| -------------------------------- | -------------------------------- | -------------------------------- |
|  |  |  |
---
## ποΈ 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 πͺ