Sobre este projeto
it-programming / web-development
Aberto
Desenvolver um microserviço responsável por gerenciar pagamentos, integrando-se com gateway de pagamento parceiro através de APIs. O microserviço deve contemplar as seguintes entidades e funcionalidades:
- Sellers: Implementado como "carteira digital" dentro da aplicação.
- Products: Itens vinculados a um seller, que podem ou não ter valor definido, e que estarão disponíveis para pedidos de pagamento.
- Customers: Clientes que se cadastrarão para efetuar pagamentos.
- Tokens: Representações seguras dos meios de pagamento cadastrados pelos clientes (por exemplo, cartões de crédito).
- Orders: Pedidos de pagamento gerados pelos customers para os products.
- Transactions: Movimentações financeiras decorrentes do processamento dos orders.
Implementação das Entidades:
- Modelar e implementar as entidades mencionadas acima no microserviço.
- Garantir relacionamentos adequados entre as entidades (por exemplo, um Product pertence a um Seller).
- Desenvolver endpoints para operações CRUD (Create, Read, Update, Delete) das entidades.
- Seguir boas práticas de design de APIs RESTful.
- Integrar o microserviço com o gateway de pagamento parceiro utilizando as APIs fornecidas.
- Implementar funcionalidades para processar pagamentos, gerenciar tokens e lidar com callbacks/webhooks.
- Implementar segurança nas APIs utilizando JWT.
- Garantir que apenas usuários autenticados e autorizados possam acessar os recursos apropriados.
- Documentar todas as APIs utilizando Swagger/OpenAPI para facilitar o entendimento e consumo dos serviços.
- Escrever testes unitários abrangentes para as principais funcionalidades e serviços.
- Utilizar frameworks como JUnit ou Mockito.
- Seguir princípios SOLID e padrões de projeto quando aplicável.
- Escrever código limpo, legível e bem estruturado.
- Documentar o código e fornecer comentários quando necessário.
Tecnologias:
- Linguagem: Java
- Framework: Spring Boot
- Banco de Dados: MongoDB
- Controle de Versão: Git
- Integração Contínua/Entrega Contínua (CI/CD): GitHub Actions (pipeline já existente)
Contexto Geral do Projeto
Estamos em busca de um desenvolvedor Java para criar um microserviço de pagamentos (payment-ms) que fará parte do módulo de gestão financeira do nosso SaaS voltado para igrejas evangélicas.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Payment Processor (Paypal, Stripe, etc)
Funções necessárias Desenvolvedor
Prazo de Entrega: 15 de Novembro de 2024
Habilidades necessárias