Na Advanced, adoramos desafios e o que poderia ser mais desafiador do que caçar Pokémons?
Sim, você leu corretamente - vamos caçar Pokémons juntos!
Para se tornar um membro da equipe Advanced, demonstre sua habilidade em organizar seus Pokémons.
O Desafio: Criar um dashboard de cadastro.
O cadastro no dashboard deve solicitar as seguintes informações: nome completo, e-mail e endereço.
Além disso, sua aplicação deve conter um sistema de login e senha para garantir a segurança e controle de acesso.
Ao acessar o dashboard, quero a capacidade de caçar Pokémons. Isso pode ser realizado por meio de um botão que, ao ser acionado, me trará um Pokémon aleatório da PokeApi.
Além disso, desejo a funcionalidade de dar nomes aos meus Pokémons e a capacidade de organizá-los por tipo, em ordem alfabética e/ou data de captura.
Especificações Técnicas:
-
Backend (Node.js em TypeScript):
- Implemente o backend em Node.js usando TypeScript. Você pode escolher qualquer framework backend, como Express, Nest.js, ou outros.
- Deve conter um sistema de autenticação para login e senha.
- Será muito legal se tiver:
- Swagger para documentação de endpoints
- Testes unitários para garantir a estabilidade e a confiabilidade do backend.
- Utilize Docker para a containerização do backend.
-
Frontend (React em TypeScript):
- Desenvolva o frontend em React usando TypeScript para criar o dashboard.
- Implemente a funcionalidade de cadastro e login, permitindo ao usuário acessar o dashboard.
- Integre a funcionalidade de caça aos Pokémons e a capacidade de organizar e nomear os Pokémons capturados.
- Será muito legal se tiver:
- Testes unitários para o frontend em React.
-
Requisitos Adicionais: (Não obrigatório, mas contam pontos a mais)
- Configure o deploy da aplicação (tanto frontend quanto backend) em um ambiente de hospedagem à sua escolha (como Heroku, AWS, ou similares).
- Criação de um README esplicando como rodar a aplicação também contará pontos a mais
Observações Importantes:
- Certifique-se de que o dashboard seja intuitivo e de fácil navegação.
- Queremos ver sua habilidade em integração de API (NADA DE USAR WRAPPERS)
- O uso de TypeScript tanto no backend quanto no frontend é OBRIGATÓRIO.
- A entrega do desafio deve ser feita via GitHub: crie um fork deste repositório e abra um pull request.
- Backend e frontend devem ser entregues no mesmo repositório (não precisa configurar como monorepo, só separando as pastas já basta)
- As boas práticas de Git também serão avaliadas.
Critérios de Avaliação:
- Funcionalidades completas conforme especificado.
- Qualidade do código e boas práticas de programação.
- Organização e clareza na interface do usuário.
- Implementação eficiente do sistema de login e senha.
- Uso efetivo de testes unitários em ambos os lados, frontend e backend.
- Implementação de Docker para a containerização.
- Sucesso no deploy da aplicação.
- Práticas e boas condutas no versionamento com Git.
Documentação de apoio:
Boa sorte e estamos ansiosos para ver suas habilidades em ação!