Files
2026-08-31 14:10:20 -03:00

241 lines
6.2 KiB
Markdown

# Manual do Administrador
## Visão Geral
O painel de administrador permite gerenciar todos os aspectos da plataforma de cursos, incluindo usuários, turmas, provas, pagamentos e arquivos.
## Acesso
- **URL**: `/admin/dashboard`
- **Role Necessária**: `admin`
---
## Funcionalidades
### 1. Dashboard Principal
**Rota**: `/admin/dashboard`
Página inicial com cards de navegação para todas as funcionalidades administrativas.
---
### 2. Gerenciamento de Tipos de Turma
**Rota**: `/admin/dashboard/classTypes`
#### Funcionalidades
- Criar novos tipos de turma (ex: "Starters", "Movers")
- Definir faixa etária
- Definir preço mensal
- Gerenciar arquivos por tipo de turma
#### Como Testar
1. Acesse `/admin/dashboard/classTypes`
2. Clique em "Novo Tipo de Turma"
3. Preencha nome, idade mínima, idade máxima e preço
4. Salve
5. **Esperado**: Tipo de turma aparece na lista
#### Campos
- `name`: Nome do tipo de turma
- `minAge`: Idade mínima
- `maxAge`: Idade máxima
- `price`: Preço mensal
---
### 3. Gerenciamento de Turmas
**Rota**: `/admin/dashboard/class`
#### Funcionalidades
- Criar novas turmas
- Atribuir professores
- Definir horário e dias da semana
- Ativar/desativar turmas
- Gerenciar alunos matriculados
- Upload de materiais
#### Como Testar
1. Acesse `/admin/dashboard/class`
2. Clique em "Nova Turma"
3. Selecione o tipo de turma
4. Adicione professores (multi-select)
5. Defina os dias da semana
6. Salve
7. **Esperado**: Turma criada e visível na lista
#### Campos
- `classType`: Tipo de turma (obrigatório)
- `teachers`: Professores (pode ter vários)
- `schedule`: Horário das aulas
- `days`: Dias da semana
- `active`: Status ativo/inativo
---
### 4. Gerenciamento de Usuários
**Rota**: `/admin/dashboard/users`
#### Funcionalidades
- Visualizar todos os usuários
- Editar informações de usuários
- Gerenciar roles (admin, teacher, student, parent)
- Vincular responsáveis a estudantes
- Excluir usuários
#### Como Testar
1. Acesse `/admin/dashboard/users`
2. Clique no ícone de editar em um usuário
3. Altere as roles marcando/desmarcando checkboxes
4. Para vincular responsável, selecione na lista
5. Salve
6. **Esperado**: Roles atualizadas, vínculos criados
#### Roles Disponíveis
- `admin`: Acesso completo ao painel administrativo
- `teacher`: Acesso a turmas atribuídas
- `student`: Acesso a turmas matriculadas
- `parent`: Acesso a dados dos filhos vinculados
---
### 5. Gerenciamento de Pagamentos
**Rotas**:
- `/admin/dashboard/payments` - Visão geral
- `/admin/dashboard/payments/by-class` - Por turma
#### Funcionalidades
- Criar obrigações de pagamento para alunos
- Aprovar/rejeitar pagamentos
- Visualizar comprovantes
- Estatísticas de pagamentos
#### Como Testar - Criar Obrigação
1. Acesse `/admin/dashboard/payments`
2. Clique em "Nova Obrigação"
3. Selecione o aluno
4. Digite o valor e data de vencimento
5. Salve
6. **Esperado**: Obrigação aparece na lista do aluno
#### Como Testar - Aprovar Pagamento
1. Na lista de pagamentos, encontre um pendente
2. Clique para ver detalhes
3. Visualize o comprovante
4. Clique em "Aprovar" ou "Rejeitar"
5. **Esperado**: Status atualizado
#### Status de Pagamento
- `pending`: Aguardando aprovação
- `verified`: Pagamento aprovado
- `rejected`: Pagamento rejeitado
---
### 6. Provas e Tarefas
**Rotas**:
- `/admin/dashboard/exams` - Gerenciar provas
- `/admin/dashboard/exam-templates` - Templates de prova
- `/admin/dashboard/assignments` - Atribuir provas a turmas
- `/admin/dashboard/statistics/exams` - Estatísticas
#### Funcionalidades
- Criar templates de provas reutilizáveis
- Adicionar perguntas (múltipla escolha, texto)
- Atribuir provas a turmas
- Definir data/hora de início e fim
- Configurar tentativas permitidas
- Ver resultados e estatísticas
#### Como Testar - Criar Template
1. Acesse `/admin/dashboard/exam-templates`
2. Clique em "Novo Template"
3. Digite título e descrição
4. Adicione perguntas:
- Pergunta de múltipla escolha: adicione opções e marque a correta
- Pergunta de texto: apenas o enunciado
5. Salve
6. **Esperado**: Template criado
#### Como Testar - Atribuir Prova
1. Acesse `/admin/dashboard/assignments`
2. Clique em "Nova Atribuição"
3. Selecione o template
4. Selecione a turma
5. Defina data/hora início e fim
6. Configure tentativas permitidas
7. Salve
8. **Esperado**: Prova aparece para os alunos da turma
---
### 7. Categorias de Arquivos
**Rota**: `/admin/dashboard/categories`
#### Funcionalidades
- Criar categorias para organizar arquivos
- Ex: "Material de Aula", "Lição de Casa", "Provas Antigas"
#### Como Testar
1. Acesse `/admin/dashboard/categories`
2. Clique em "Nova Categoria"
3. Digite o nome
4. Salve
5. **Esperado**: Categoria disponível ao fazer upload de arquivos
---
### 8. Gerenciamento de Arquivos
**Rotas**:
- `/admin/dashboard/files` - Lista de arquivos
- `/admin/dashboard/files/add` - Upload de arquivo
- `/admin/dashboard/files/[id]` - Editar arquivo
#### Funcionalidades
- Fazer upload de arquivos
- Associar a turmas ou tipos de turma
- Categorizar arquivos
- Gerenciar permissões
#### Como Testar
1. Acesse `/admin/dashboard/files/add`
2. Digite o nome do arquivo
3. Selecione o arquivo no computador
4. Selecione a categoria
5. Associe a uma turma ou tipo de turma (opcional)
6. Salve
7. **Esperado**: Arquivo disponível para download na turma
---
## Checklist de Testes
- [ ] Criar tipo de turma
- [ ] Criar turma com professores
- [ ] Criar usuário com role student
- [ ] Criar usuário com role teacher
- [ ] Vincular responsável a estudante
- [ ] Matricular estudante em turma
- [ ] Criar obrigação de pagamento
- [ ] Aprovar pagamento
- [ ] Criar template de prova
- [ ] Atribuir prova a turma
- [ ] Fazer upload de material para turma
---
## Possíveis Problemas
### Usuário não acessa o admin
- **Verifique**: O usuário tem a role `admin`?
- **Solução**: Edite o usuário em `/admin/dashboard/users`
### Turma não aparece para o professor
- **Verifique**: O professor está atribuído à turma?
- **Solução**: Edite a turma em `/admin/dashboard/class`
### Aluno não vê a prova
- **Verifique**: Data/hora da atribuição está correta?
- **Verifique**: Aluno está matriculado na turma?
- **Solução**: Verifique a atribuição em `/admin/dashboard/assignments`