A full-stack web application that leverages AI to help users seamlessly log food entries, track daily caloric intake, and gain personalized insights into their diet and progress.
- About the Project
- Key Features
- Tech Stack
- Project Structure
- Getting Started
- Running the Application
- Contributing
- License
Logging calories shouldn't be a chore. CaloriePal simplifies dietary tracking by combining an intuitive user interface with AI-powered food logging and insights. Whether you're trying to lose weight, maintain a healthy lifestyle, or track macros, CaloriePal provides dynamic dashboards, weekly progress charts, and smart logging capabilities to keep you on track.
- 🧠 AI-Powered Insights: Smart analysis of your daily diet and tailored recommendations.
- 📊 Interactive Dashboard: Visual progress tracking with concentric activity rings and weekly charts.
- 🍔 Effortless Food Logging: Quick database search and intelligent entry parsing.
- 🔐 User Authentication: Secure login and onboarding processes to safeguard user data.
- 🌓 Dark/Light Mode: Built-in theme toggling for an optimal viewing experience.
- 📱 Responsive Design: Seamless experience across mobile, tablet, and desktop devices.
- Framework: React + Vite
- Styling: Tailwind CSS
- Routing: React Router
- State Management: React Context API
- Language: Python
- API Framework: FastAPI / Flask (configurable via
app/main.py) - Database: SQLite / PostgreSQL (managed via SQLAlchemy/similar ORM)
- AI Integration: Custom AI services (
calorie_service.py)
ai_calorie_counter/
├── backend/
│ ├── app/
│ │ ├── api/ # API Route Controllers
│ │ ├── models/ # Database & Pydantic Schemas
│ │ ├── services/ # Business logic & AI Calorie Services
│ │ ├── auth.py # Authentication utilities
│ │ ├── config.py # Environment configuration
│ │ ├── database.py # Database connection setup
│ │ └── main.py # Application entry point
│ └── requirements.txt # Python dependencies
└── frontend/
├── src/
│ ├── components/ # Reusable UI components (Dashboard, Modals, etc.)
│ ├── context/ # Global state (Auth, Theme)
│ ├── pages/ # Application views (Login, Dashboard, Onboarding)
│ ├── services/ # API request handlers
│ ├── App.jsx # Root component
│ └── main.jsx # React entry point
├── package.json # Node.js dependencies
├── tailwind.config.js# Tailwind theme configuration
└── vite.config.js # Vite bundler config
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
Ensure you have the following installed on your system:
-
Clone the repository:
git clone https://github.com/akshat2635/CaloriePal.git cd CaloriePal -
Setup the Backend:
cd backend # Create a virtual environment python -m venv venv # Activate the virtual environment # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate # Install dependencies pip install -r requirements.txt
-
Setup the Frontend:
cd ../frontend # Install NPM packages npm install
Open a new terminal, activate your virtual environment, and run:
cd backend
python -m app.mainOpen another terminal and run:
cd frontend
npm run devThe frontend will be available at http://localhost:5173/ (or the port specified by Vite).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.