🙃 O que aprendi(e estou aprendendo) desenvolvendo a easypix!
Contextualizando
Estou trabalhando no desenvolvimento de uma biblioteca para lidar com pix em nodeJs que vai além do copia e cola, trazendo gateways de pagamento e fluxo completo e fácil de pagamento.
Você pode encontra-la aqui: https://github.com/eletroswing/EasyPix
A Ideia
Recentemente tenho tido várias ideias para apps, mais que precisavam de um setup complexo para obter a funcionalidade, mesmo sendo um app simples, como um bot de whatsapp, foi ai que surgiu a ideia de fazer esse boilerplate, associado a o incentivo nos comentários que tive no post sobre Boilerplate pra Mercado pago split.
Sem perca de tempo: feito é melhor que perfeito
Então, comecei a codar e vi que poderia facilmente transformar isso numa lib, apesar de código escrito rápido, afinal não tinha ideia se aquilo ia funcionar pra 1 provedor, quem dirá vários. Mas assim: Faz, se funcionar depois refatora. Faz de um jeito que funcione aqui quebrei a cara um pouquinho, vamos ver mais adiante
Então
Enquanto estava codando, pensei em apresentar a lib, e assim o fiz, e peguei o top 1 aqui no tabnews no dia(inclusive, obrigado por isso <3 ). Terminando o código(me levou 1 dia no máximo), abri no github, com o código feio mesmo.
O karma cobra
O codigo tinha ficado funcional, mas bagunçado, feio, dificil de se manter e contribuir, até foi apontado nos comentários por alguns, dai pensei: vamos a refatoração;
E não fomos(lol), o código estava tão ilegivel que mal sabia como refatorar isso de uma melhor forma, de deixar isso mais ”apetitoso”. Foi aqui que aconteceu.
Pull
Um pull, vindo de Brunohafonso concertava a estrutura do projeto. Mal sabia como reagir, pois nenhum projeto meu tinha ganhado um pull antes, estava ansioso e sem saber como continuar. Mas assim que mergeado e alguns detalhes corrigidos. A biblioteca está muito bem estruturada, e tem um facil fluxo de integração, graças ao pull!
Feito é melhor que perfeito.....MAS
As vezes, pensar a frente pode ser um pouco melhor que só sair codando... Não estou falando de overeenginiering, nem de pensar o projeto todo antes, mas vá por etapas, mesmo que no começo. Defina uma meta pra seguir para que se necessário, você entenda os passos que você percorreu. Não to falando de estruturar tudo, mas de entender o que você está construindo antes de macetar código.
As contribuições
As vezes, o mundo open source é maravilhoso por coisas assim! Eu não sabia como prosseguir, me afoguei no pensamento de faça rápido, so faça
, e então pessoas contribuem. Veem, se interessam pela ideia, e ajudam. Sem mais nem menos.
Então
Faça rápido, feito é melhor que perfeito, mas saiba o que está fazendo para quando necessário..
Contribua
Se você se interessou pelo projeto, acesse o github abaixo. De sua estrelinha e faça sua contribuição, seja ela como for.
Atualmente suporta Asaas e mercado Pago. Que tal implementar um novo provedor? 🙂