Objetivo | Visão do produto | Cronograma | Backlog Produto | Documentação | Requisitos | Tecnologias | Como usar | Equipe
O objetivo do projeto é desenvolver uma aplicação web que ofereça um agente conversacional inteligente, baseado no modelo LLM medGemma, com foco em suporte personalizado na área de nutrição. A aplicação deverá interagir de forma natural com os usuários, coletando informações sobre saúde, hábitos alimentares, restrições e objetivos nutricionais, a fim de gerar recomendações adequadas e contextualizadas. O desenvolvimento será conduzido com práticas ágeis, garantindo entregas iterativas, melhorias contínuas e alinhamento às necessidades do público-alvo.
A visão do projeto é ser uma aplicação web inovadora em nutrição digital, oferecendo um agente conversacional inteligente que funcione como um assistente nutricional acessível e personalizado. A plataforma busca simplificar o acompanhamento alimentar, fornecer recomendações confiáveis e promover hábitos saudáveis, auxiliando tanto indivíduos quanto profissionais da área. A proposta é unir tecnologia e bem-estar em um ambiente responsivo e intuitivo, ampliando o acesso a orientações nutricionais de qualidade e incentivando maior engajamento no cuidado com a saúde.
| FASE | INÍCIO | FIM |
|---|---|---|
| Kick-off | 25/08/2025 | 29/08/2025 |
| Sprint 1 | 08/09/2025 | 28/09/2025 |
| Planning | 29/09/2025 | 03/10/2025 |
| Sprint 2 | 06/10/2025 | 26/10/2025 |
| Planning | 27/10/2025 | 31/10/2025 |
| Sprint 3 | 03/11/2025 | 23/11/2025 |
| Review | 24/11/2025 | 28/11/2025 |
Product Backlog
| ID | Prioridade | Descrição | Pontos | Sprint |
|---|---|---|---|---|
| US-01 | Alta | Como paciente, quero receber recomendações de dieta geradas pela IA com base no meu perfil, para que eu tenha planos personalizados que se encaixem na minha rotina e estilo de vida. | 9 | Sprint 1 |
| US-02 | Alta | Como administrador, quero visualizar a lista completa de pacientes cadastrados na plataforma, incluindo nome, e-mail e data de registro, para que eu possa gerenciar contas, promovê-las a administradores ou nutricionistas e excluir contas quando necessário. | 2 | Sprint 1 |
| US-03 | Baixa | Como paciente, quero visualizar a composição nutricional detalhada de cada refeição sugerida, para que eu possa tomar decisões informadas sobre o que consumir. | 6 | Sprint 1 |
| US-04 | Alta | Como paciente, quero selecionar entre diferentes agentes de IA especializados em Análise Nutricional e Recomendação de Dieta, onde cada agente utiliza diferentes bases de dados nutricionais, para receber respostas direcionadas e adequadas ao meu contexto. | 8 | Sprint 2 |
| US-05 | Alta | Como paciente, quero que a IA mantenha o contexto das minhas conversas anteriores, para que eu não precise repetir informações sempre que interajo com o chat. | 8 | Sprint 2 |
| US-06 | Média | Como paciente, quero visualizar, editar ou solicitar novas versões das minhas dietas semanais, para que eu tenha controle total sobre meu plano alimentar e possa ajustá-lo caso não esteja satisfeito ou prefira outras opções. | 5 | Sprint 2 |
| US-07 | Média | Como paciente, quero poder enviar as dietas geradas pela IA para um nutricionista, para garantir que meu plano alimentar seja seguro, adequado às minhas necessidades. | 5 | Sprint 2 |
| US-08 | Baixa | Como paciente, quero que a IA acompanhe minha evolução e ajuste automaticamente meus objetivos nutricionais, para que eu continue motivado e receba recomendações cada vez mais personalizadas e adequadas à minha rotina. | 8 | Sprint 2 |
| US-09 | Alta | Como nutricionista, quero fornecer feedback sobre as respostas geradas pela IA, para garantir que as recomendações fornecidas aos pacientes sejam confiáveis, precisas e seguras. | 8 | Sprint 3 |
| US-10 | Alta | Como paciente, quero ter controle total sobre minhas informações pessoais, físicas, de saúde e preferências alimentares, para que eu decida o que a IA poderá usar na geração de recomendações. | 3 | Sprint 3 |
| US-11 | Baixa | Como nutricionista, quero ter acesso às tabelas e referências nutricionais utilizadas pela IA e poder alterá-las quando necessário, para garantir que as informações fornecidas aos pacientes sejam corretas, confiáveis e atualizadas. | 4 | Sprint 3 |
| US-12 | Média | Como paciente, quero que a IA identifique automaticamente o agente mais adequado para responder minha dúvida, para que eu receba respostas precisas e relevantes mesmo sem saber de qual área da nutrição minha pergunta pertence. | 7 | Sprint 3 |
| US-13 | Média | Como paciente, quero que a IA sugira alterações nos meus dados com base nas informações que compartilho (como mudanças de peso, atividade física ou hábitos), para que meus registros fiquem sempre atualizados. | 4 | Sprint 3 |
| US-14 | Baixa | Como paciente, quero que todas as respostas geradas pela IA sejam revisadas por um agente de Conformidade e Ética, para garantir que as recomendações estejam em conformidade com princípios éticos e preservem a integridade das minhas informações, além de assegurar a segurança e adequação das dietas sugeridas. | 4 | Sprint 3 |
Este repositório contém a documentação organizada por sprints.
Abaixo você encontra os links para cada documentação detalhada:
| Sprint | Período | Documentação |
|---|---|---|
| Sprint 1 | 08/09 - 28/09 | Acessar Documentação |
| Sprint 2 | 06/10 - 26/10 | Acessar Documentação |
| Sprint 3 | 03/10 - 23/10 | Acessar Documentação |
- Manual de Instalação (requisito Fatec – obrigatório, no Git).
- Manual do Usuário (requisito Fatec – obrigatório).
- Modelos LLM de uso público via API (Hugging Face, Gemini, Grok, Llama, OpenAI) (requisito Fatec).
- Framework LangChain (Python) (requisito Fatec).
- Vue.JS para Frontend (requisito Fatec).
- SpringBoot para Backend (requisito Fatec).
- ADK Google (requisito sugerido Xertica).
Este projeto é composto por três serviços independentes, mas integrados: AIService_Junipy, Backend_Junipy e Frontend_Junipy. Siga os passos abaixo para configurar e executar todos os componentes corretamente.
Como utilizar
Certifique-se de ter instalado:
- Python 3.8+ e pip
- Java/JDK e Maven (mvn)
- Node.js e npm
- Docker (necessário para o banco de dados MongoDB)
O Backend requer uma instância do MongoDB. Use o Docker para iniciar um contêiner rapidamente.
- Crie e Inicie o Contêiner MongoDB:
docker run -d -p 27017:27017 --name junipymongo mongo:7
Este é o serviço de Inteligência Artificial.
-
Crie e Ative um Ambiente Virtual:
- Linux/macOS:
python -m venv venv source venv/bin/activate - Windows:
python -m venv venv venv\Scripts\activate
- Linux/macOS:
-
Instale as Dependências:
pip install -r requirements.txt
-
Configure o Modelo:
- Crie uma cópia do arquivo
.env.examplee renomeie-a para.envno diretório do projeto. - Preencha o arquivo
.envcom as chaves e configurações necessárias para a API de IA.
- Crie uma cópia do arquivo
- Rode o Servidor FastAPI:
uvicorn main:app --reload
- Acesso: O serviço estará disponível em
http://localhost:8000. A documentação Swagger pode ser acessada emhttp://localhost:8000/docs.
Este é o servidor de aplicação principal que se conecta ao Frontend, ao AIService e ao MongoDB.
- Configure a Conexão com o AIService:
- No arquivo de configurações (geralmente
application.propertiesouapplication.yml, ou variáveis de ambiente), verifique e ajuste a URL base do AIService parahttp://localhost:8000.
- No arquivo de configurações (geralmente
- Rode o Projeto (com Maven):
mvn spring-boot:run
- Acesso: O Backend estará disponível em
http://localhost:8080.
Esta é a interface do usuário.
- Instale as Dependências:
npm install
Recomendação: Use o VSCode com a extensão Volar para melhor experiência de desenvolvimento Vue.
- Rode em Modo Desenvolvimento:
npm run dev
- Acesso: A aplicação estará disponível em
http://localhost:5173.
- Gere os Arquivos Estáticos de Produção:
npm run build
- MongoDB (Docker)
- AIService (Python)
- Backend (Java/Spring Boot)
- Frontend (Node/Vue)