⚠️ LEIA O README ANTES DE VER AS ISSUES ⚠️

Introdução

O objetivo desse desafio é apresentar uma sequência de requisitos que são comumente utilizados no dia a dia de desenvolvimento de software na maioria dos projetos.

Esses requisitos não são avançados, mas são requisitos que são essenciais que todo desenvolvedor júnior deve saber lidar.

Instruções

Para realização desse desafio surta o máximo de efeito e você possa aprender da melhor forma possível, siga as instruções que virão a seguir. Lembre-se que o objetivo desse desafio é você aprender do melhor modo possível. Não seguir as instruções para obter algum tipo de vantagem é somente fazer com que você mesmo se engane tendo em vista que o único retorno desse desafio é o seu aprendizado. Então não se autossabote e aproveite bem o desafio que eu tenho certeza que você vai aprender coisas muito legais.

As instruções são:

  1. Faça um fork desse repositório para que seu código não fique disponível para quem ainda não fez o desafio
  2. Analise os requisitos das Issues uma por vez. NÃO veja o próximo requisito antes de ter terminado o anterior
  3. Durante o desenvolvimento de cada requisito, o objetivo primário deve ser atingir o requisito funcional pedido (regra de negócio) e posteriormente, caso deseje, refatorar o código para melhorar algum aspecto relacionado aos requisitos não funcionais (requisitos técnicos)
  4. O único critério para considerar o requisito como completo é que os critérios de aceite de cada requisito tenham sido cumpridos. A análise do código será feita somente para os projetos que estiverem com 100% dos requisitos completos.
  5. Crie uma branch nova para cada novo requisito com base na branch do requisito anterior.

Algo que é importante vocês terem em mente durante a execução dos requisitos:

"Nosso dever é sempre propor, mas nunca supor"

Bons estudos! =]