Olá, seja bem-vindo ao desafio de frontend da Memudei. Este desafio tem como objetivo avaliar seus conhecimentos em HTML, CSS e Javascript e como você estrutura seu código.
- Faça um fork deste repositório.
- Crie uma branch com seu nome-sobrenome.
- Quando estiver pronto, faça um pull request para a branch master deste repositório.
- Não se esqueça de atualizar o README com as instruções para rodar o projeto.
- Envie um email para [email protected].
- Você tem até o dia 29/09/2023 para concluir o desafio.
- Enquanto estiver trabalhando no desafio, não se esqueça de fazer commits com mensagens claras e objetivas (lembre-se que o commit é a documentação do seu código).
- Enviaremos o feedback sobre o seu desafio por email em até 7 dias úteis após o envio do pull request.
- Caso tenha alguma dúvida, entre em contato comigo através dos canais de comunicação abaixo.
Vamos dar uma olhada na previsão do tempo? A meta é criarmos uma página simples, que consuma a API do Open Weather de previsão do tempo (https://openweathermap.org/api/one-call-3). Não se preocupe caso não consiga consumir a API, vamos avaliar o código, a estrutura do projeto e o layout. (Dica: você pode usar o https://www.mockapi.io/ para simular uma API). O layout final deverá ficar o mais próximo possível da versão abaixo (sim, vamos ter a versão responsiva mobile e a versão desktop):
Web:
Mobile responsivo:
- A consistência dos commits, com mensagens claras e objetivas (lembre-se que o commit é a documentação do seu código);
- A evolução do seu trabalho (vá fazendo commits conforme for progredindo no desafio);
- A estrutura do projeto (arquivos, pastas, etc);
- A estrutura do código;
- A aplicação de boas práticas de programação;
- O layout final (o mais próximo possível do layout proposto);
- A responsividade (o layout deve se adaptar para dispositivos móveis);
- TypeScript;
- variáveis de ambiente (dotenv, etc);
- criação de componentes reutilizáveis;
- Testes unitários e end-to-end (Jest, Cypress, etc);
- biblioteca web (React, Angular, Vue, etc);
- biblioteca de internacionalização (i18n, react-intl, etc);
- biblioteca de UI ou framework CSS (Material UI, Tailwind, Bootstrap, etc);
- aplique o conceito de mobile first;
- aplique o conceito de atomic design;
- aplique o conceito de clean architecture;
- ferramenta de linting (ESLint, Prettier, etc);
- state management (Redux, Mobx, Zustand, etc);
- validação de formulário (Formik, React Hook Form, etc);
- biblioteca de validação (Yup, Joi, Zod, etc);
- biblioteca de animação (Framer Motion, React Spring, etc);
- Deploy da aplicação (Heroku, Netlify, Vercel, etc);
- Deploy da aplicação em um container (Docker, etc);
- CI/CD (Github Actions, CircleCI, etc);
- analisadores de código (SonarQube, Code Climate, etc);
- biblioteca de tipagem (PropTypes, TypeScript, etc);
- biblioteca de gerenciamento de side effects (Redux Saga, Redux Thunk, etc);
- biblioteca de gerenciamento de rotas (React Router, Reach Router, etc);
Você pode entrar em contato comigo através dos canais abaixo caso tenha alguma dúvida ou queira agendar uma call para conversarmos sobre o desafio.
- Email: [email protected]
- Discord: urielguy
- WhatsApp: (43) 9 9152-2449