Tipos de Usuário
O FitLocus possui dois tipos principais de usuário, cada um com funções e permissões específicas dentro da plataforma.Visão Geral
Aluno
Usuários que buscam acompanhamento de treinos e monitoramento de progresso físico.
Personal Trainer
Profissionais de educação física que criam e gerenciam treinos para seus alunos.
Implementação Técnica
No backend, os tipos de usuário são implementados através do enumEnumUserType:
User para determinar o tipo de cada usuário registrado no sistema:
Perfil: Aluno
Características
- Usuário final da plataforma
- Foco em execução de treinos e acompanhamento de progresso
- Pode ter vínculo com um ou mais personal trainers
- Acesso via aplicativo móvel (iOS/Android)
Permissões
| Funcionalidade | Acesso |
|---|---|
| Visualizar treinos atribuídos | ✅ |
| Executar treinos | ✅ |
| Registrar progresso | ✅ |
| Visualizar histórico | ✅ |
| Acompanhar métricas | ✅ |
| Criar exercícios | ❌ |
| Criar treinos | ❌ |
| Gerenciar outros usuários | ❌ |
Fluxos Principais
-
Registro e Onboarding
- Cadastro via email/senha ou Google
- Preenchimento de perfil (dados físicos, objetivos)
- Escolha de plano (Freemium ou Premium)
-
Vinculação com Personal
- Recebimento de convite de personal trainer
- Aceitação do vínculo
- Acesso aos treinos criados pelo personal
-
Execução de Treinos
- Visualização de treinos disponíveis
- Execução passo a passo
- Registro de séries, repetições e cargas
- Marcação de conclusão
-
Acompanhamento de Progresso
- Visualização de histórico de treinos
- Acompanhamento de métricas (peso, medidas)
- Visualização de recordes pessoais
Perfil: Personal Trainer
Características
- Profissional de educação física
- Foco em criação e gerenciamento de treinos
- Pode ter vínculo com múltiplos alunos (dependendo do plano)
- Acesso via aplicativo móvel e plataforma web
Permissões
| Funcionalidade | Acesso |
|---|---|
| Criar exercícios | ✅ |
| Criar treinos | ✅ |
| Criar planos de treino | ✅ |
| Gerenciar alunos | ✅ |
| Visualizar progresso dos alunos | ✅ |
| Gerar relatórios | ✅ |
| Acessar dados de outros personals | ❌ |
| Modificar dados de sistema | ❌ |
Fluxos Principais
-
Registro e Onboarding
- Cadastro via email/senha ou Google
- Preenchimento de perfil profissional
- Escolha de plano (baseado na quantidade de alunos)
-
Gerenciamento de Alunos
- Envio de convites para alunos
- Visualização de lista de alunos
- Acompanhamento de progresso individual
-
Criação de Conteúdo
- Criação de exercícios personalizados
- Montagem de treinos
- Elaboração de planos de treino semanais
- Atribuição de treinos a alunos específicos
-
Análise de Desempenho
- Visualização de métricas dos alunos
- Acompanhamento de assiduidade
- Análise de evolução de cargas e repetições
- Geração de relatórios
Controle de Acesso
O sistema implementa controle de acesso baseado em funções (RBAC) para garantir que cada tipo de usuário tenha acesso apenas às funcionalidades pertinentes ao seu perfil:Registro de Usuários
O processo de registro de usuários inclui a definição do tipo de usuário:userType é automaticamente definido como PERSONAL, enquanto para registros via aplicativo móvel, o padrão é ALUNO.
Autenticação e Autorização
O sistema utiliza JWT (JSON Web Tokens) para autenticação, incluindo o tipo de usuário nas claims do token:Considerações de UI/UX
A interface do usuário é adaptada de acordo com o tipo de usuário:- Aluno: Interface focada em execução de treinos, com fluxos simplificados e visualização de progresso
- Personal: Interface com ferramentas de criação e gerenciamento, dashboards analíticos e visão consolidada de alunos
Evolução Futura
O sistema foi projetado para permitir a adição de novos tipos de usuário no futuro, como:- Administrador: Para gerenciamento da plataforma
- Nutricionista: Para integração com planos alimentares
- Academia: Para gerenciamento de múltiplos personals e alunos