0% acharam este documento útil (0 voto)
0 visualizações2 páginas

2026 - FullStack Developer - Hiring Test

O teste de contratação para um desenvolvedor Full Stack envolve a construção de uma mini-aplicação de gestão de tarefas com um backend em Laravel 12 e um frontend em Vue 3. O backend deve incluir modelos, uma API RESTful, validação, filtros e testes, enquanto o frontend deve utilizar a Composition API, gerenciar estado com Pinia e incluir vistas responsivas. A entrega deve ser feita via repositório GitHub com um README detalhando instruções e decisões técnicas.

Enviado por

Davidson Souza
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
0 visualizações2 páginas

2026 - FullStack Developer - Hiring Test

O teste de contratação para um desenvolvedor Full Stack envolve a construção de uma mini-aplicação de gestão de tarefas com um backend em Laravel 12 e um frontend em Vue 3. O backend deve incluir modelos, uma API RESTful, validação, filtros e testes, enquanto o frontend deve utilizar a Composition API, gerenciar estado com Pinia e incluir vistas responsivas. A entrega deve ser feita via repositório GitHub com um README detalhando instruções e decisões técnicas.

Enviado por

Davidson Souza
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Full Stack Developer

Hiring Test

Contexto do Teste
O developer vai construir uma mini-aplicação de gestão de tarefas por projeto (task manager
simplificado).

Parte 1 - Backend com Laravel 12


Requisitos

Modelos e base de dados

●​ Project (id, name, description, status: active/archived, timestamps)


●​ Task (id, project_id, title, description, status: todo/in_progress/done, priority:
low/medium/high, due_date, timestamps)

API RESTful (JSON)

Método Endpoint Descrição

GET /api/projects Listar projetos com contagem de tarefas

POST /api/projects Criar projeto

GET /api/projects/{id}/task Listar tarefas do projeto (com filtros)


s

POST /api/projects/{id}/task Criar tarefa


s

PATCH /api/tasks/{id} Atualizar status/prioridade

DELETE /api/tasks/{id} Eliminar tarefa

Requisitos obrigatórios

1.​ Form Requests com validação completa em todos os endpoints de escrita


2.​ API Resources para formatar as respostas (sem expor campos desnecessários)
3.​ Filtros no GET de tarefas: ?status=todo&priority=high
4.​ Scope no modelo Task: scopeOverdue() para tarefas com due_date passada
5.​ Um Seeder com dados realistas para testar
6.​ Feature tests com PHPUnit para pelo menos 3 endpoints
7.​ Paginação com cursor ou offset
8.​ Rate limiting na API
9.​ Soft deletes nas tarefas

Parte 2 - Frontend com Vue 3 + Tailwind 4


Requisitos

Estrutura da aplicação

●​ Vue 3 com Composition API (obrigatório, sem Options API)


●​ Vue Router com pelo menos 2 rotas: lista de projetos e detalhe do projeto
●​ Pinia para gestão de estado

Vistas obrigatórias

1.​ Lista de Projetos - cards com nome, descrição, status e contagem de tarefas. Botão para
criar novo projeto (modal ou inline).
2.​ Detalhe do Projeto - lista de tarefas com possibilidade de filtrar por status e prioridade. Criar
nova tarefa. Mudar status de tarefa (drag-and-drop ou dropdown simples). Indicação visual
de tarefas em atraso.

Requisitos técnicos

1.​ Composable useProjects() e useTask() para encapsular lógica de API


2.​ Componente reutilizável TaskCard com props tipadas (TypeScript ou JSDoc)
3.​ Feedback visual em todas as ações: loading states, erros e sucesso
4.​ Layout responsivo (mobile-first)
5.​ Optimistic updates ao mudar status de tarefa
6.​ Debounce no filtro de tarefas
7.​ Transições/animações entre estados
8.​ Testes com Vitest para um composable

Entrega e Instruções para o Developer


Formato de entrega

●​ Repositório Github partilhado - nuno@[Link]


●​ README com: instruções de instalação, decisões técnicas relevantes e o que ficou por
implementar (e porquê)

Setup mínimo esperado

●​ php artisan migrate --seed deve funcionar sem erros


●​ npm run dev deve arrancar o frontend sem configuração adicional
●​ .[Link] preenchido com todas as variáveis necessárias

Você também pode gostar