Executando verificação de segurança...
6

Estou criando um sistema de doações e estou meio perdido

Pra contextualizar: sou estudante de ADS e tô usando todo meu tempo livre pra virar desenvolvedor. Hoje tô bem focado em back-end, já consigo fazer CRUDs com Java e Spring, e estudo Kotlin e desenvolvimento Android em paralelo.

Surgiu uma demanda paralela aqui no meu trampo, para criar um sistema de doações destinado a mesquitas. Como tenho bastante liberdade aqui na empresa, abracei o projeto. Não é algo com viés comercial, não pensamos em vender, e se não acontecer, tudo bem. Mesmo assim, quero muito que dê certo, porque pode ser um bom projeto no meu portfólio como dev.

Comecei a desenvolver com o conhecimento que tenho: fiz um back-end MVP e depois fui para a parte Android. Usei muita IA pra preencher lacunas deixadas pela minha alta de experiência e acabei me perdendo, tem muita coisa que eu codei e não tenho certeza se foi feita da melhor forma (provavelmente não, já que quando pedimos pra IA escrever muito de uma vez, o resultado costuma não ser positivo).

Tô aqui pedindo conselho: como achar conhecimentos específicos? Por exemplo, preciso integrar um gateway de pagamento e não faço ideia por onde começar. Como saber se minha classe/objeto/função foi escrita sem vulnerabilidades ou da melhor forma possível, existe uma forma de validar isso, mesmo sendo muito júnior?

Agradeço qualquer tipo de conselho. Não tenho mentor, os professores que tive sempre estiveram distantes (minha faculdade é EAD), então a maior parte do meu aprendizado foi solo, consumindo conteúdo online, livros e cursos.

E talvez esse projeto seja grande demais pra mim, no momento. Mas, a princípio vou levando, já que não tenho muito a perder, e com certeza eu vou aprender muita coisa colocando em prática.

Carregando publicação patrocinada...
4

Meus 2 cents,

Voce precisa de controle de quem fez a doacao (qual fiel) ?

  • NAO: entao so coloque o QRCode do PIX do templo e pronto

  • SIM: A pessoa digita um codigo (p.ex. telefone), gera o QRCode usando o telefone como ID, faz o pagamento e pronto. Depois so precisa de um cadastro associando fiel vs telefone.

Nem precisa de gateway de pagamento.

OBS: Mesmo usando a opcao 'NAO' da para saber o fiel cruzando os dados do PIX - mas nao eh tao automatico quanto gerar um PIX exclusivo.

Se precisa de gateway por alguma razao - recomendo:

  • Stripe: simples de implementar, mas so cartao (devem aceitar PIX em breve)

  • AbacatePay: simples de implementar, mas PIX

Para inspiracao, pesquise no github sistemas de dizimo:

https://github.com/search?q=dizimo&type=repositories&s=updated&o=desc

Saude e Sucesso

1

Legal, obrigado pelos conselhos! Acho que pra essa primeira versão só o PIX já resolve o meu problema, não precisaria de um gateway, posteriormente a gente gostaria de dar a opção de pagamento no débito e crédito, aí sim teria necessidade. Eu nem tinha pensado em dar uma olhada no GitHub, com certeza vai iluminar muito a minha cabeça, obrigado.

2

Ótima iniciativa.
Porém se não tem intenção de lucrar, não gerencia doações, ou seja, para doação, disponibilize diretamente o pix das pessoas / instituições.
Para lançar rapido, adicione botão para enviar campanha, que vai para um google form, e voce adiciona manualmente (no banco de dados / API).
Estuda sobre Supabase, pode ajudar bastante nesse inicio devido a facilidade dele .

2

Obrigado pelos conselhos! Realmente, poderia ser mais simples do que eu idealizei no início, a gente se inspirou em uma empresa do UK, eles usam um totem android para realizar os pagamentos, eu iniciei o projeto pensando com essa visão. Mas, vou avaliar e tentar simplificar o máximo possível. Vou dar uma estudada no Supabase tbm, valeu pela dica.

2

Bom, cara. Vamos por partes, a maioria dos gateways de pagamento possuem documentações, nelas estão contidas todas as informações necessárias para você utilizá-la como os endpoints e métodos http's, as formas de requisições e as possíveis respostas de como a API pode se comportar, muitas delas também disponibilizam ambientes e dados de testes para que você implemente e teste (obviamente) antes de subir para a produção.

Em relação da qualidade do seu código, existem diversas ferramentas, uma que eu já utilizei na CWI Crescer foi o SonarQube (te recomendo pesquisar mais sobre). Porém, no entanto, se eu fosse você não se cobraria tanto para escrever um objeto, classe e etc, "perfeitos", focaria em implementar, testar (você também poderia utilizar libs de testes da própria linguagem para validar o comportamento de seus métodos e classes) e ir melhorando seu projeto aos poucos, dessa forma você não se sente paralizado e com o decorrer do desenvolvimento você vai pegando mais confiança e etc. Também use a IA para tirar suas dúvidas, explicar os bugs que você não entendeu, seja curioso... por que funciona? e por que não funciona?..., peça a ela para te explicar a lógica de como resolver o problemas... não use-a só para gerar código.

Te desejo boa sorte, meu amigo, não desista e siga em frente. Tmj.

2

Muito obrigado pelas dicas! Com certeza vou pesquisar sobre o SonarQube e sobre as libs de teste da linguagem que eu tô utilizando. Vou tentar mudar minha mentalidade também, ao invés de enxergar esses obstáculos (e tópicos desconhecidos) como monstros, vou tentar encará-los como bons problemas a serem resolvidos.

2

Sobre qualidade de código você precisa de um quality gate, como o já citado SonarQube (ele é excelente pra Java e Kotlin).

Já sobre gateway de pagamento, voce tem a opção de usar a PagSeguro que tem uma funcionalidade justamente de doação (existem leis que se aplicam a doação e o PagSeguro garante o compliance disso).

Mas particularmente, se voce não precisa gerenciar as doações, apenas receber, então coloca o QR Code do Pix já pré gerado e pronto. Pra um MVP tá lindo.

1