A JTech busca desenvolvedores frontend experientes capazes de construir aplicações robustas e escaláveis com arquitetura bem definida. Este desafio avalia sua competência em gerenciamento de estado complexo, arquitetura modular e implementação de sistemas multi-usuário.
Objetivo: Desenvolver uma aplicação frontend sofisticada que simule um sistema TODO List multi-usuário, demonstrando expertise em arquitetura de componentes, gerenciamento de estado avançado e boas práticas de desenvolvimento.
- Interface de Login: Tela de autenticação com validação de campos não vazios
- Autenticação Mock: Qualquer combinação válida de usuário/senha redireciona para a aplicação
- Persistência de Sessão: Manter dados do usuário logado no estado global da aplicação
- Múltiplas Listas de Tarefas: Usuário pode criar listas categorizadas (ex: "Trabalho", "Estudos", "Pessoal")
- CRUD Completo de Listas:
- Criar novas listas com nomes personalizados
- Renomear listas existentes com validação
- Excluir listas com confirmação e verificação de dependências
- Navegação entre Listas: Interface intuitiva para alternar entre diferentes listas
- Gerenciamento por Lista: Cada lista mantém suas próprias tarefas independentemente
- CRUD de Tarefas: Adicionar, editar, remover e marcar tarefas como concluídas dentro de cada lista
- Validações Avançadas: Prevenção de duplicatas, validação de campos obrigatórios
- Estado Persistente: Todo o estado (usuário, listas, tarefas) gerenciado pelo Pinia e persistido em
localStorage - Roteamento: Vue Router para separar autenticação da aplicação principal
- Guards de Rota: Proteção de rotas para usuários não autenticados
- Estrutura Modular: Projeto organizado com separação clara de responsabilidades (views, components, stores, utils)
- Componentização Avançada: Componentes reutilizáveis com props tipadas e eventos bem definidos
- Composables: Utilização de composition functions para lógicas reutilizáveis
- Design Responsivo Premium: Interface adaptável e consistente em todos os dispositivos
- Feedback Interativo: Notificações, loaders e animações para todas as ações do usuário
- Estados de Loading: Simulação de operações assíncronas com indicadores visuais
- Framework: Vue 3 (Composition API)
- Roteamento: Vue Router 4
- Gerenciamento de Estado: Pinia
- UI Framework: Material Design (Vuetify ou biblioteca equivalente)
- Testes: Vitest para testes unitários abrangentes
- TypeScript: Fortemente recomendado para tipagem robusta
- Qualidade Arquitetural: Código limpo, bem documentado e facilmente manutenível
- Aplicação de Boas Práticas: Demonstração de Clean Code, KISS e componentização eficaz
- Arquitetura Modular: Estrutura de projeto bem definida e organizada
- Gerenciamento de Estado: Uso correto e eficiente do Pinia para estado complexo
- Qualidade dos Testes: Cobertura abrangente testando componentes e stores
- Domínio da Stack: Utilização avançada das ferramentas do ecossistema Vue.js
- Experiência do Usuário: Interface intuitiva com excelente usabilidade
- Prazo: Até 3 dias corridos a partir do recebimento.
- Formato: Repositório Git com código-fonte completo e documentação detalhada.
- Visão Geral da Arquitetura: Descrição detalhada da estrutura e decisões arquiteturais
- Stack Tecnológica: Lista completa com justificativas para cada escolha
- Como Rodar Localmente: Instruções passo a passo para setup e execução
- Como Rodar os Testes: Comandos para executar suite completa de testes
- Estrutura de Pastas Detalhada: Mapeamento completo da organização modular do código
- Decisões Técnicas Aprofundadas: Justificativas detalhadas sobre escolhas arquiteturais, padrões e bibliotecas
- Melhorias e Roadmap: Propostas técnicas para evolução e escalabilidade da aplicação
Boa sorte! A JTech espera uma solução que demonstre maturidade em desenvolvimento frontend e visão arquitetural.