O projeto consiste na criação de uma pequeno serviço para transferência de valores através de um sistema de validação de Hash.
- Python com Django Framework
- Banco de dados PostgreSQL
- Docker
O dominio pessoa será responsável pelo registro dos clientes que irão participar do processo de transferência. Cada pessoa deverá obrigatóriamente ter seus dados pessoais cadastrado no sistema: Nome, sobrenome, nome completo, email, telefone, nascimento, CPF, saldo (valor gerado randomico e fictico).
Para cada usuário que irá fazer uma transação, obrigatóriamente deverá existir uma chave única responsável que liga o usuário. O processo de transação poderá ser feita por email e ou chave única do usuário.
Para cada transação, é necessário salvar em um banco de dados um histórico da transação, seu status (FINALIZADO, EM PROCESSO, PENDENTE) juntamente com uma chave única de validação da transação. Certifique-se que o cliente possua saldo suficiente para realizar a transação e não se esqueça de descontar o saldo após processo de transação efetuada com sucesso.
Sugestão: Pesquise alguma biblioteca de geração de hash única no padrão SHA-256 .
O projeto deve conter testes em todas as etapas do desenvolvimento, não sendo necessário utilizar TDD para implementação. É importante a presença de testes de unidade e integração no projeto.
Gere um relatório listando o histórico de transações da pessoa a partir de um espaço de datas, podendo filtrar também pela pessoa através do CPF.
Plus: Utilizar managers do Django para criar modelos customizados
Ao final do projeto, dockerize o mesmo e documente através de um README como realizar o build, testes e iniciar o container Docker.
Plus: Documentação através do Swagger ou similar
O candidato deverá entregar a aplicação funcionando em até 3 dias úteis. Ao finalizar enviar o link do repositório para o e-mail: rafael@schoolofnet.com com o assunto: [DEV PYTHON] Teste