Descrição do Desafio:
O projeto consiste em uma aplicação web que exibe uma lista de produtos em uma única página, com algumas funcionalidades básicas de front e back-end, buscando demonstrar entendimento de conceitos básicos e organização de código. Uma sugestão de layout pode ser obtida neste link.
- Front-end: Uma interface de usuário que lista produtos de um catálogo. Cada produto deve ter uma imagem, descrição, e preço.
- Back-end: Uma API simples em NodeJS para servir os dados dos produtos. Os produtos podem ser armazenados em um array estático (não é necessário banco de dados).
- Funcionalidades:
- Listagem de produtos.
- Filtragem por categoria.
- Pesquisa por nome do produto.
- Requisitos Técnicos:
- Sugerimos utilizar NextJS com Typescript para o desenvolvimento do back-end e front-end.
- Estilizar a aplicação utilizando TailwindCSS.
- Implementar testes unitários utilizando Jest.
Critérios de Avaliação:
- Qualidade do código (limpeza, uso de padrões, organização).
- Funcionalidade das características implementadas.
- Design e usabilidade da interface do usuário.
- Cobertura e qualidade dos testes escritos com Jest.
Entrega:
- O código deve ser disponibilizado em um pull request neste repositório.
- Incluir um README detalhado com instruções sobre como executar o projeto localmente e rodar os testes.
Estimativa de Tempo: Você pode realizar o projeto no seu tempo no decorrer de mais de um dia se achar necessário. O tempo total estimado para realizar o desafio é de aproximadamente 8 horas.