Bem-vindo ao desafio técnico para frontend da Ubistart!! 🙌
Para a resolução deste desafio, esperamos que você desenvolva uma interface que contemple as estórias de usuário abaixo. O endpoint a ser utilizado será o TheCocktailDB.
-
Como um usuário eu quero visualizar as categorias de bebidas existentes.
- A aplicação deve guardar as categorias para evitar uma nova busca a API;
- Dado que escolhi uma categoria eu posso visualizar a lista das bebidas pertencentes a essa categoria.
-
Como um usuário eu quero ver os detalhes da bebida.
- A aplicação deve apresentar as imagens da bebida escolhida;
- A aplicação deve apresentar ingredientes e suas medidas da bebida escolhida.
-
Como um usuário eu quero pesquisar uma bebida específica através de um campo de busca.
-
Como um usuário eu posso favoritar uma bebida para facilmente acessá-la no futuro.
- A aplicação deve armazenar a bebida favoritada.
- Disponibilizar documentação para a execução e apresentação do projeto no README;
- Utilizar typescript;
- Escolher um nome para a aplicação (ex.: favicon e título);
- Como é um endpoint que você não tem controle o tratamento de erros é imprescindível;
- Tratamento de rotas não existentes (ex.: página 404);
- Aplicação deve ser responsiva;
- Publicar a aplicação (ex.: Vercel ou Netlify).
- Escrever testes;
- Documentar decisões tomadas durante o desafio técnico.
- Paleta de cores única do desafio;
- UX agradável;
- Criar commits semânticos (ex.: não criar um único commit
inital-commit
).
Você pode utilizar frameworks (ex.: NextJS, ViteJS).
O objetivo principal deste desafio é avaliar as capacidades do candidato em:
- Escrever código limpo;
- Estruturar, armazenar e apresentar dados de forma performática;
- Apresentar criatividade na criação do layout.
- Ao terminar o desafio, encaminhe o link do repositório para o email
rh@ubistart.com
- Caso você não conclua o desafio no tempo combinado, encaminhe a sua solução para nós com uma seção de
dificuldades
no projeto. O importante é vermos o que você conseguiu construir ✌️ 😁 - Caso não existir a seção
dificuldades
iremos entender que você não entregou o necessário.