Skip to main content

Gerenciamento de Perfil

Esta seção detalha os endpoints para visualização e atualização de perfis de usuário na plataforma FitLocus.

Visão Geral do Perfil

O perfil de usuário no FitLocus contém informações pessoais, dados físicos, configurações de conta e detalhes de assinatura. Diferentes tipos de usuário (ALUNO e PERSONAL) têm campos específicos em seus perfis.

Obter Perfil do Usuário Autenticado

Endpoint

Este endpoint retorna o perfil completo do usuário autenticado.

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized

Obter Perfil de Usuário Específico

Endpoint

Este endpoint retorna o perfil de um usuário específico. Um personal trainer só pode acessar perfis de seus alunos vinculados.

Parâmetros de URL

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized
Código: 403 Forbidden
Código: 404 Not Found

Atualizar Perfil do Usuário Autenticado

Endpoint

Este endpoint permite atualizar o perfil do usuário autenticado.

Cabeçalhos da Requisição

Parâmetros da Requisição

O corpo da requisição deve conter um objeto JSON com os campos a serem atualizados:

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 400 Bad Request
Código: 401 Unauthorized

Atualizar Nome do Usuário

Endpoint

Este endpoint permite atualizar apenas o nome de um usuário específico.

Parâmetros de URL

Cabeçalhos da Requisição

Parâmetros da Requisição

O corpo da requisição deve conter um objeto JSON com o campo a ser atualizado:

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 400 Bad Request
Código: 401 Unauthorized
Código: 403 Forbidden
Código: 404 Not Found

Atualizar Foto de Perfil

Endpoint

Este endpoint permite atualizar a foto de perfil de um usuário.

Parâmetros de URL

Cabeçalhos da Requisição

Parâmetros da Requisição

A requisição deve ser enviada como multipart/form-data com o seguinte campo:

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 400 Bad Request
Código: 400 Bad Request
Código: 401 Unauthorized
Código: 403 Forbidden
Código: 404 Not Found

Obter Métricas do Usuário

Endpoint

Este endpoint retorna métricas e estatísticas do usuário autenticado.

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized

Implementação no Frontend

Componente de Perfil

Upload de Foto de Perfil

Considerações de Design

A página de perfil do FitLocus segue as diretrizes de design da plataforma:
  • Cores: Fundo escuro (#202020), elementos de destaque em verde (#B4ED00), texto em branco (#F9F9F9)
  • Tipografia: Hanken Grotesk para texto e SUPERINE para títulos
  • Layout: Design minimalista com espaçamento generoso e hierarquia clara
  • Componentes: Campos de formulário com bordas arredondadas, botões com feedback visual ao interagir
Para mais detalhes sobre o design, consulte as diretrizes de marca.

Considerações de Segurança

  1. Validação de Dados: Todos os dados de entrada são validados tanto no frontend quanto no backend para prevenir injeção de dados maliciosos.
  2. Controle de Acesso: Verificações rigorosas garantem que um usuário só possa acessar e modificar seu próprio perfil ou, no caso de personal trainers, os perfis de seus alunos vinculados.
  3. Validação de Arquivos: Uploads de imagem são validados quanto ao tipo, tamanho e conteúdo para prevenir ataques.
  4. Sanitização de Dados: Todos os dados de entrada são sanitizados antes de serem armazenados ou exibidos.
  5. HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS para proteger dados sensíveis durante a transmissão.

Troubleshooting

Problemas Comuns

  1. “Acesso negado”: Verifique se você está tentando acessar seu próprio perfil ou, se for um personal trainer, o perfil de um aluno vinculado a você.
  2. “Arquivo inválido”: Certifique-se de que a imagem está em um dos formatos permitidos (JPG, PNG, GIF) e não excede 5MB.
  3. “Erro ao carregar perfil”: Verifique sua conexão com a internet e se o token JWT é válido. Tente fazer login novamente.
  4. “Erro ao atualizar perfil”: Verifique se os dados fornecidos são válidos e estão no formato correto.

Depuração

Para depurar problemas com o perfil:
  1. Verifique os logs do console para mensagens de erro detalhadas
  2. Utilize ferramentas como o Postman para testar os endpoints diretamente
  3. Verifique se o token JWT está sendo enviado corretamente no cabeçalho Authorization
  4. Confirme que os dados enviados estão no formato correto e dentro dos limites permitidos