Skip to content

Repository files navigation

NutriPlan AI 🥗

NutriPlan AI é uma aplicação web que utiliza Inteligência Artificial para gerar planos de dieta semanais personalizados com base nos dados e objetivos do usuário.

✨ Funcionalidades

  • Geração de Dieta com IA: Cria um plano alimentar completo e personalizado.
  • Plano Semanal Detalhado: Oferece um plano para 7 dias, com 4 ou mais refeições diárias.
  • Cálculo de Metas: Estima as calorias e macronutrientes (proteínas, carboidratos, gorduras) para cada dia.
  • Dicas de Saúde: Fornece dicas e recomendações relevantes para o objetivo do usuário.
  • Interface Moderna: UI limpa, intuitiva e responsiva.
  • Exportação para Agenda: Permite adicionar as refeições à agenda pessoal (Google Agenda, Apple Calendar, etc.) através de um arquivo .ics.

⚙️ Como Funciona

O fluxo da aplicação é simples e robusto, separando o frontend da lógica de IA no backend.

  1. Coleta de Dados: O usuário preenche um formulário no frontend com seus dados (idade, peso, altura, nível de atividade e objetivo).
  2. Requisição à API: O frontend envia esses dados para uma API de backend (/api/analyze).
  3. Processamento com IA: O backend recebe a requisição, constrói um prompt detalhado e faz uma chamada para a API do Google Gemini. Para garantir a consistência dos dados, a chamada especifica um responseSchema, forçando a IA a retornar a resposta em um formato JSON estruturado.
  4. Exibição do Resultado: O backend retorna o JSON do plano de dieta para o frontend, que o exibe de forma organizada e amigável para o usuário.

🚀 Tecnologias Utilizadas

O projeto é um monorepo full-stack que utiliza tecnologias modernas de desenvolvimento web.

  • Frontend:

    • Framework: React 19
    • Linguagem: TypeScript
    • Build Tool: Vite
    • Estilização: Tailwind CSS
  • Backend:

    • Runtime: Node.js
    • Framework: Express.js (para o servidor de desenvolvimento local)
    • Deployment: Vercel Serverless Functions (para o ambiente de produção)
    • Linguagem: TypeScript
  • Inteligência Artificial:

    • Serviço: Google Gemini API
    • Modelo: gemini-2.5-flash
    • Biblioteca: @google/genai

🛠️ Configuração e Instalação

Siga os passos abaixo para rodar o projeto em seu ambiente local.

Pré-requisitos:

  • Node.js (v18 ou superior)
  • npm / yarn / pnpm
  • Uma chave de API do Google Gemini. Você pode obter uma no Google AI Studio.

Passos:

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/nutriplan-ai.git
    cd nutriplan-ai
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente:

    • Copie o arquivo de exemplo .env.example para um novo arquivo chamado .env.
      cp .env.example .env
    • Abra o arquivo .env e adicione sua chave da API do Google Gemini:
      GEMINI_API_KEY=SUA_CHAVE_DE_API_AQUI
  4. Rode o ambiente de desenvolvimento:

    • O comando a seguir iniciará o frontend (com Vite) e o backend (com Express) simultaneamente.
    npm run dev:full
  5. Acesse a aplicação:

    • Frontend: http://localhost:3000
    • Backend API: http://localhost:3001

☁️ Deploy

O projeto está pré-configurado para um deploy otimizado na Vercel.

  • O frontend (Vite + React) será compilado e servido estaticamente.
  • O arquivo em /api/analyze.ts será automaticamente implantado como uma Serverless Function, substituindo a necessidade do servidor Express em produção.
  • As variáveis de ambiente (como GEMINI_API_KEY) devem ser configuradas no painel de controle do projeto na Vercel.

⚠️ Aviso

Este aplicativo fornece sugestões geradas por Inteligência Artificial e não substitui o aconselhamento de um nutricionista ou médico profissional. Sempre consulte um profissional de saúde antes de iniciar qualquer nova dieta ou plano de exercícios.

Releases

Packages

Contributors

Languages