Releases: Equipe-Meta-Code/Backend-NutriMind-Xertica
Releases · Equipe-Meta-Code/Backend-NutriMind-Xertica
sprint-2
🏷️ Release Sprint 2 - Backend-NutriMind-Xertica
Tag: sprint-2
Período: 06/10/2025 a 26/10/2025
Data de Release: 26/10/2025
📋 Resumo
Esta release continua o desenvolvimento do backend com melhorias, padronizações e ajustes na estrutura do projeto.
✨ Principais Funcionalidades
🔧 Melhorias e Padronizações
- Padronização de nomes de pastas e estrutura do projeto
- Melhorias na organização do código
- Ajustes na documentação do Swagger
🐛 Correções e Melhorias
- Correção de DTOs duplicados
- Correção de erros no HealthProfileService
- Refatoração de campos para tipos enum (goal)
- Ajuste de idade para data de nascimento em todos os métodos
- Correção do Data Initializer (remoção de login admin inicial)
📊 Estatísticas
- Endpoints de estatísticas para análise de dados dos perfis
- Média de idade por gênero
- Média de peso por nível de atividade
- Contagem de perfis por gênero e nível de atividade
🧪 Testes
- Correções em testes existentes
- Melhorias na cobertura de testes
📝 Notas
Nota: Esta release focou principalmente em melhorias, correções e padronizações do código desenvolvido na Sprint 1.
sprint-1
🏷️ Release Sprint 1 - Backend-NutriMind-Xertica
Tag: sprint-1
Período: 08/09/2025 a 28/09/2025
Data de Release: 28/09/2025
📋 Resumo
Esta release marca a implementação inicial do backend do NutriMind, incluindo a estrutura base da API REST, sistema de autenticação JWT, e os principais endpoints para gerenciamento de dados médicos e nutricionais dos usuários.
✨ Principais Funcionalidades
🔐 Autenticação e Autorização
- Sistema de autenticação JWT implementado
- Endpoints de login, registro e logout
- Validação de tokens
- Alteração de senha
- Gerenciamento de roles e permissões
👤 Gerenciamento de Usuários
- CRUD completo de usuários
- Busca por email, CPF e nome
- Validação de existência de usuários
- Associação de usuários a roles
🏥 Perfil de Saúde (Health Profile)
- CRUD completo de perfis de saúde com 40+ endpoints
- Cálculo automático de idade baseado em data de nascimento
- Campos para gênero (enum), nível de atividade física (enum), peso, altura e objetivos (enum)
- Endpoints para busca por filtros:
- Por gênero (
/gender/{gender}) - Por nível de atividade (
/activity-level/{activityLevel}) - Por faixa de data de nascimento (
/birth-date-range) - Por faixa de peso (
/weight-range) - Por faixa de altura (
/height-range) - Por objetivo (
/goal/{goal})
- Por gênero (
- Estatísticas e métricas de perfis:
- Média de idade por gênero
- Média de peso por nível de atividade
- Contagem de perfis por gênero
- Contagem de perfis por nível de atividade
- Endpoints personalizados para o usuário autenticado (
/me) - Sistema de autorização baseado em roles (Admin, Nutricionista, Usuário)
- Validação de propriedade de perfil (usuários só podem acessar seus próprios perfis)
🦠 Dados Médicos
- Doenças (Diseases): CRUD para gerenciamento de doenças
- Alergias (Allergies): CRUD para gerenciamento de alergias
- Intolerâncias (Intolerances): CRUD para gerenciamento de intolerâncias
- Preferências Alimentares (Dietary Preferences): CRUD para preferências dietéticas
- Histórico Familiar (Family Health History): Gerenciamento de histórico de saúde familiar
🔗 Associações
- Vinculação de doenças aos perfis (
POST /{profileId}/diseases/{diseaseId}) - Vinculação de alergias aos perfis (
POST /{profileId}/allergies/{allergyId}) - Vinculação de intolerâncias aos perfis (
POST /{profileId}/intolerances/{intoleranceId}) - Vinculação de preferências alimentares aos perfis (
POST /{profileId}/dietary-preferences/{dietaryPreferenceId}) - Gerenciamento completo de histórico familiar por perfil:
- Criar histórico familiar (
POST /{profileId}/family-history) - Listar histórico familiar (
GET /{profileId}/family-history) - Remover histórico familiar (
DELETE /{profileId}/family-history/{historyId})
- Criar histórico familiar (
🛠️ Infraestrutura
- Documentação API: Configuração completa do Swagger/OpenAPI 3.0
- Documentação detalhada de todos os endpoints
- Descrições de operações, parâmetros e respostas
- Exemplos de requisições e respostas
- Tags organizadas por funcionalidade
- Suporte a autenticação Bearer Token no Swagger UI
- Segurança: Configuração robusta do Spring Security
- Autenticação JWT com filtros personalizados
- Autorização baseada em roles (Admin, Nutricionista, Usuário)
- Validação de propriedade de recursos
- CORS configurado para permitir requisições do frontend
- Data Initializer: Sistema de inicialização de dados
- Seed data para tabelas mestres (roles, doenças, alergias, etc.)
- Configuração de dados iniciais do sistema
- Tratamento de Exceções: Handler global de exceções
- Respostas padronizadas de erro
- Validação de campos com mensagens descritivas
- Tratamento de erros de autenticação e autorização
- Configuração JSON: Jackson configurado para serialização
- Formatação de datas
- Serialização de enums
- Tratamento de valores nulos