O projeto proposto foi construir uma API assíncrona simples, com apenas um modelo de classe, que escolhi, como tema livre, uma API para registro de Jogadores de Futebol, tendo como atributos, nome, idade, valor de mercado, e um booleano para aposentado ou não, contendo um desafio final ao final da construção.
Foi feita de forma simples, pois o foco não seria a construção da API em si, o foco deste projeto foi a aplicação do método TDD no desenvolvimento da mesma, na qual expliquarei abaixo:
TDD é a sigla para Test Driven Development, ou seja, Desenvolvimento Orientado a Testes, que consiste em três passos:
-
Criar testes reais da aplicação, que primeiramente falharão pois as implementações não estarão completas.
-
A partir destes testes, desenvolver o que é necessário para o teste funcionar.
-
Após o teste estar funcional, realizar a refatoração do código, para que não fique ambiguidades ou linhas de código desnecessárias.
Com esse método de desenvolvimento, seu projeto tende a finalizar com mais qualidade, pois seus testes estarão feitos, falhas já terão sido encontradas e corrigidas, e seu código estará limpo!
Após criar meu venv, e terminar a API, parti para os desafios finais para testar meu conhecimento e praticar mais, desafios esses que foram:
-
Mapear exceções e capturá-las na controller, caso encontre erros na criação, inserção ou atualização de um Jogador, com sua devida mensagem de feedback.
-
Atualizar o updated_at do Jogador ao atualizá-lo com sucesso.
-
Atribuir filtros ao campo VALOR do Jogador, e garantir que não haja mais de um Jogador com o mesmo valor, optei por filtrar da seguinte forma, (15 < valor < 180)
Após um árduo e longo caminho para a conclusão do projeto, aprendi muito sobre o método TDD, aprefeiçoei minhas habilidades de programação, correção de erros e também a utilização do FastAPI, aprendi novas tecnologias que foram utilizadas, e me sinto orgulhoso do trabalho que fiz, me sinto melhor e mais preparado do que quando terminei meu último projeto e vejo minha evolução cada dia mais.