curl http://localhost:8000/api/v1/health-check.phpResposta esperada (200):
{
"success": true,
"api": "VIRTUS Talent Hub - API v1",
"status": "operational",
"database": "connected",
"timestamp": "2024-03-26T10:30:00+00:00"
}curl -X POST http://localhost:8000/api/v1/auth/register.php \
-H "Content-Type: application/json" \
-d '{
"email": "joao@ufcg.edu.br",
"password": "SeNha123",
"full_name": "João Silva",
"user_role": "user"
}'Resposta esperada (201):
{
"success": true,
"message": "Usuário registrado com sucesso",
"data": {
"user_id": 1,
"email": "joao@ufcg.edu.br",
"full_name": "João Silva",
"user_role": "user"
}
}Casos de erro esperados:
- Email vazio → 400 "Email é obrigatório"
- Email inválido → 400 "Email inválido"
- Domínio não permitido → 400 "Domínio '...' não é permitido"
- Senha < 8 caracteres → 400 "Senha deve ter no mínimo 8 caracteres"
- Email já existe → 409 "Email já está registrado"
curl -X POST http://localhost:8000/api/v1/auth/login.php \
-H "Content-Type: application/json" \
-d '{
"email": "joao@ufcg.edu.br",
"password": "SeNha123"
}'Resposta esperada (200):
{
"success": true,
"message": "Login realizado com sucesso",
"data": {
"user_id": 1,
"email": "joao@ufcg.edu.br",
"full_name": "João Silva",
"user_role": "user"
}
}Casos de erro esperados:
- Email ou senha vazio → 401 "Email e senha são obrigatórios"
- Credenciais inválidas → 401 "Email ou senha inválidos"
# COM SESSÃO ATIVA
curl http://localhost:8000/api/v1/auth/status.phpResposta esperada (200 - Autenticado):
{
"success": true,
"authenticated": true,
"data": {
"user_id": 1,
"email": "joao@ufcg.edu.br",
"full_name": "João Silva",
"user_role": "user"
}
}Resposta esperada (401 - NÃO Autenticado):
{
"success": false,
"authenticated": false,
"message": "Não autenticado"
}curl -X POST http://localhost:8000/api/v1/auth/logout.phpResposta esperada (200):
{
"success": true,
"message": "Logout realizado com sucesso"
}- ✅ Banco de dados criado e schema.sql executado
- ✅ Domínios permitidos inseridos na tabela
allowed_domains(ex: ufcg.edu.br, institution.edu.br) - ✅ PHP server rodando na porta 8000
- ✅ Arquivos copiados para pasta correta
- Abrir
index.html→ Clicar "Criar Conta" - Preencher formulário com dados válidos
- Verificar se usuário foi criado
- Fazer login com as credenciais
- Verificar se dashboard carrega dados do usuário
- Fazer logout
- Schema.sql executado no banco
- Tabela
allowed_domainspreenchida com domínios institucionais - 5 endpoints criados e testados
- Frontend consegue chamar endpoints
- Sessões funcionando corretamente
- Erros retornados com status HTTP corretos
- Verificar se PHP server está rodando:
php -S localhost:8000 - Verificar se arquivo existe:
ls /api/v1/auth/login.php
- Verificar credenciais em
includes/config.php - Verificar se MySQL está rodando
- Executar:
mysql -u root -p < db/schema.sql
- Verificar
allowed_domainstable:SELECT * FROM allowed_domains; - Inserir domínio se necessário:
INSERT INTO allowed_domains (domain, description) VALUES ('seu.dominio', 'Descrição');
- Verificar que
session_start()está no início dos endpoints - Verificar se cookies estão habilitados no navegador
- Verificar pasta de sessões tem permissão de escrita
- Criar endpoints de recuperação de senha (forgot-password.php, reset-password.php)
- Criar endpoints de usuário (GET/PUT /api/v1/users.php)
- Criar páginas de termos e privacidade
- Implementar logging LGPD
- Adicionar testes unitários