integração com o Nubank feito em Rust usando Actix-web e SurrealDB
O nubank não possui documentação pública sobre a API deles, existem apenas alguns projetos de programadores muito inteligentes que descobriram de alguma forma como utilizar a API do nubank, foi um bom desafio fazer essa integração, tive que ficar várias noites até de madrugada para deixar no ponto que está hoje e mesmo assim sei que dá para melhorar muito, vocês poderiam me ajudar? Dando dicas de como organizar o código, ou se tem alguma parte do código que está mal feita, qualquer feedback é bem-vindo.
Link do projeto:https://github.com/DevAzeredo/integracao_nubank
Muito top cara, parabens mesmo! só uma sugestão, se achar legal talvez ter um container ja subindo tudo, mas so para facilitar para vc e outros, mas so para facilitar mesmo. Tipo esse que fiz (https://github.com/danilosoftwares/BikeServerProcessador) onde so rodar o docker ele ja monta o servidor com banco de dados, roda o migrations com tudo pronto e ja rodando na porta. Mas é so uma sugestão, Ficou bem dahora, parabens!
1 - Pra mim o ponto principal é que você não implementou um teste de unidade sequer. O framework de tests do Rust é um dos mais fáceis e performáticos. No caso dos seus endpoints você poderia simular algumas requisições e comparar o resultado esperado, como um teste de integração.
2 - Na declaração dos módulos no main.rs, eu prefiro criar um arquivo mod.rs dentro de cada pasta e colocar essa declaração lá. A vantagem do mod.rs é que se vc quiser declarar alguma função ou tipo de dados daquele módulo, ele cabe certinho nesse arquivo.
3 - Não conheço muito bem o Surreal, mas dentro dos seus DAOs vc invoca 'unwrap' direto ao invés de usar 'if let' ou 'match'. Isso pode fazer que o seu programa gere um panic se a sua query falhar.
Abs.