Skip to content

gwomack/aimealplanner

Repository files navigation

AI Meal Planner 🍽️

Meal Plan

🌟 Overview

A web application that generates meal plans using AI. The app takes user inputs including dietary restrictions, available ingredients, and nutritional goals to create customized daily or weekly meal plans with recipes and nutritional information.

✨ Features

  • 🤖 AI-Powered Meal Generation: Utilizes advanced AI models to create personalized meal plans
  • 🥗 Dietary Customization: Supports various diet types (Vegetarian, Vegan, Keto, Paleo, etc.)
  • 📊 Nutrition Tracking: Detailed macro and micronutrient information for each meal
  • 🏷️ Ingredient Management: Track your pantry and get recipes based on available ingredients
  • 📱 Responsive Design: Seamless experience across all devices
  • 🔐 Secure Authentication: Protected user data and preferences with configurable registration

🚀 Live Demo!

Try it out: Demo Link (Coming Soon)

🛠️ Tech Stack

  • Frontend:

    • Next.js 14 (App Router)
    • Tailwind CSS
    • shadcn/ui components
    • Zustand (State Management)
  • Backend:

    • Supabase (Authentication & Database)
    • PostgreSQL
  • AI Integration:

    • Advanced Language Models
    • Structured JSON Output
    • Intelligent Error Handling

💻 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Supabase account

Installation

  1. Clone the repository
git clone https://github.com/yourusername/ai-meal-planner.git
cd ai-meal-planner
  1. Install dependencies
npm install
# or
yarn install
  1. Set up environment variables
cp .env.example .env.local

Fill in your environment variables:

  • NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase anonymous key
  • VITE_REGISTRATION_ENABLED: Set to 'true' to enable user registration, 'false' to disable (default: false)
  1. Run the development server
npm run dev
# or
yarn dev

Visit http://localhost:3000 to see the application.

📖 Usage

  1. Sign Up/Login:
    • Create an account (if registration is enabled) or login to access personalized features
    • Registration can be enabled/disabled via the VITE_REGISTRATION_ENABLED environment variable
  2. Set Your Profile: Input your demographics and dietary preferences
  3. Add Ingredients: (Optional) List ingredients you have available
  4. Generate Meal Plan: Get AI-generated meal plans tailored to your needs
  5. View & Save: Save your favorite meal plans for future reference

🔒 Authentication Configuration

The application supports flexible authentication configuration:

User Registration

  • Control user registration through the VITE_REGISTRATION_ENABLED environment variable
  • When disabled:
    • Sign-up UI elements are hidden
    • Registration endpoints return appropriate error messages
    • Only existing users can log in
  • To enable/disable registration:
    1. Set VITE_REGISTRATION_ENABLED=true or false in your .env.local
    2. Restart the development server
    3. Changes take effect immediately

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Version Next.js Tailwind TypeScript Supabase shadcn/ui Zustand Node.js

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages