Documentação do Sistema

Sistema de Gestão Nutricional

Versão 2.0 - Atualizado em 30/08/2025 00:39

Sobre o Sistema

O Sistema de Gestão Nutricional é uma aplicação web completa desenvolvida em PHP para gerenciar consultas, pacientes, planos alimentares e acompanhamento nutricional.

🎯 Objetivos Principais

  • Gestão completa de pacientes e nutricionistas
  • Criação e acompanhamento de planos alimentares personalizados
  • Controle de consultas e agendamentos
  • Monitoramento de evolução através de bioimpedância
  • Sistema de logs para auditoria e segurança

🛠️ Tecnologias Utilizadas

  • Backend: PHP 7.4+
  • Banco de Dados: MySQL 8.0+
  • Frontend: Bootstrap 5.1.3
  • Ícones: Font Awesome 6.0
  • Servidor: Apache (XAMPP)
  • Arquitetura: MVC (Model-View-Controller)
  • Segurança: PDO, Password Hashing
  • Logs: Sistema próprio de auditoria
Status do Sistema

✅ Operacional

✅ Banco Conectado

✅ Relacionamentos OK

✅ Logs Ativos


📊 Estatísticas
Usuários: 6
Pacientes: 2
Planos: 3
Consultas: 1
Bioimpedância: 2

Estrutura do Banco de Dados

📋 Tabelas Principais

👥 USUARIOS

Armazena dados de login de nutricionistas e pacientes

id (PK), nome, email, senha, tipo, ativo, data_criacao, data_atualizacao
🏥 PACIENTES

Dados completos dos pacientes

id (PK), usuario_id (FK), nutricionista_id (FK), nome_completo, data_nascimento, sexo, altura, peso_atual, percentual_gordura, objetivo, condicoes_saude, observacoes
📏 HISTORICO_MEDIDAS

Evolução das medidas dos pacientes

id (PK), paciente_id (FK), peso, altura, percentual_gordura, data_medicao, observacoes
🍎 PLANOS_ALIMENTARES

Planos nutricionais personalizados

id (PK), paciente_id (FK), nutricionista_id (FK), tmb, gasto_calorico_diario, proteinas_g, carboidratos_g, gorduras_g, observacoes

🔗 Relacionamentos

USUARIOS → PACIENTES
usuarios.id → pacientes.usuario_id (1:1)
usuarios.id → pacientes.nutricionista_id (1:N)
PACIENTES → HISTORICO_MEDIDAS
pacientes.id → historico_medidas.paciente_id (1:N)
PACIENTES → PLANOS_ALIMENTARES
pacientes.id → planos_alimentares.paciente_id (1:N)
PLANOS_ALIMENTARES → REFEICOES
planos_alimentares.id → refeicoes.plano_id (1:N)
PACIENTES → AGENDAMENTOS
pacientes.id → agendamentos.paciente_id (1:N)
PACIENTES → BIOIMPEDANCIA
pacientes.id → bioimpedancia.paciente_id (1:N)
USUARIOS → LOGS_SISTEMA
usuarios.id → logs_sistema.usuario_id (1:N)

Funcionalidades do Sistema

👨‍⚕️ Para Nutricionistas

Gestão de Pacientes
  • Cadastro completo de pacientes
  • Histórico de medidas e evolução
  • Controle de objetivos e condições de saúde
  • Cálculo automático de TMB
Planos Alimentares
  • Criação de planos personalizados
  • Definição de macronutrientes
  • Organização por refeições
  • Geração de PDF para impressão
Agendamentos
  • Controle de consultas
  • Consultas presenciais e online
  • Status de acompanhamento
  • Histórico completo
Bioimpedância
  • Registro de exames completos
  • Análise de composição corporal
  • Relatórios de evolução
  • Comparação temporal

👤 Para Pacientes

Perfil Pessoal
  • Visualização de dados pessoais
  • Histórico de medidas
  • Acompanhamento de objetivos
  • Atualização de informações
Minha Dieta
  • Visualização do plano atual
  • Detalhes das refeições
  • Informações nutricionais
  • Download em PDF
Minhas Consultas
  • Visualização de agendamentos
  • Histórico de consultas
  • Status de acompanhamento
  • Informações de contato
Minha Evolução
  • Gráficos de progresso
  • Histórico de medidas
  • Comparação temporal
  • Metas e objetivos

Estrutura de Classes

🏗️ Classes Principais

Database
  • connect() - Conexão PDO
  • getConnection() - Retorna conexão
  • createTables() - Cria estrutura
Auth
  • login() - Autenticação
  • logout() - Encerrar sessão
  • isLoggedIn() - Verificar login
  • requireLogin() - Forçar login
Paciente
  • cadastrar() - Novo paciente
  • buscarTodos() - Listar pacientes
  • buscarPorId() - Buscar específico
  • atualizar() - Editar dados
  • calcularTMB() - Taxa metabólica
PlanoAlimentar
  • criar() - Novo plano
  • buscarPorPaciente() - Planos do paciente
  • adicionarRefeicao() - Nova refeição
  • gerarPDF() - Exportar plano
Agendamento
  • agendar() - Nova consulta
  • buscarPorPaciente() - Consultas do paciente
  • buscarPorNutricionista() - Agenda do profissional
  • atualizarStatus() - Alterar status
Bioimpedancia
  • registrar() - Novo exame
  • listarPorPaciente() - Histórico do paciente
  • gerarRelatorioEvolucao() - Relatório
  • atualizar() - Editar exame

Segurança do Sistema

🔐 Autenticação e Autorização

Sistema de Login
  • Hash de Senhas: password_hash() PHP
  • Sessões Seguras: session_regenerate_id()
  • Controle de Acesso: Por tipo de usuário
  • Timeout: Sessões expiram automaticamente
Proteção contra Ataques
  • SQL Injection: PDO com prepared statements
  • XSS: htmlspecialchars() em todas as saídas
  • CSRF: Tokens de validação
  • Sanitização: Validação de entrada

📋 Sistema de Logs

Auditoria Completa
  • Ações Registradas: CREATE, UPDATE, DELETE
  • Dados Capturados: Antes e depois das alterações
  • Informações de Contexto: IP, User-Agent, Timestamp
  • Rastreabilidade: Usuário responsável por cada ação
Controle de Acesso
  • Nutricionistas: Acesso completo ao sistema
  • Pacientes: Acesso apenas aos próprios dados
  • Validação: Verificação em cada página
  • Redirecionamento: Usuários não autorizados
Recomendações de Segurança
  • Mantenha o PHP e MySQL sempre atualizados
  • Use HTTPS em produção
  • Monitore os logs regularmente

Sistema de Gestão Nutricional - Desenvolvido com PHP, MySQL e Bootstrap

Última atualização: 30/08/2025 00:39:16