API para validação de cartões de crédito desenvolvida com NestJS, TypeScript e Test-Driven Development (TDD), com foco em qualidade de código, evolução incremental e clean architecture.
Este projeto foi iniciado com uma abordagem TDD, priorizando testes simples para validar o fluxo básico de cartões Visa e MasterCard, incluindo:
- Identificação da bandeira pelo número do cartão
- Validação de CVV
- Tratamento de erros para bandeiras não suportadas
Esses primeiros testes tiveram como objetivo garantir o comportamento inicial do sistema e servir como rede de segurança para refatorações futuras.
- NestJS
- TypeScript
- Jest
- Supertest
- TDD
- Clean Architecture
A estratégia adotada segue o ciclo clássico do TDD:
- Red: escrever testes simples que falham
- Green: implementar o mínimo para fazê-los passar
- Refactor: melhorar o design mantendo os testes verdes
Com a base inicial estabilizada, o projeto entra agora em uma nova fase de evolução técnica.
Próximos passos:
- Introdução de validações reais de cartão
- Separação clara entre domínio, casos de uso e infraestrutura
- Criação de testes de domínio mais robustos
- Refatoração guiada por testes, sem quebrar comportamento existente