Skip to content

deyvisonborges-portfolio/eshop-payment-service

Repository files navigation

Microserviço de Pagamentos

Esse projeto está sendo construindo enquanto estudo outras tecnologias. E mais, é um projeto no qual estou testando algumas formas diferentes de construir meus projetos. Logo, eu sei cada conceito que apliquei aqui, estou apenas pensando um pouco fora da caixa e testando. Afinal DDD, TDD, BBB (rsrs) e qualquer outra abordagem, NÃO SÃO BALAS DE PRATA!

Este é um microserviço dedicado ao gerenciamento de pagamentos para o seu e-commerce.

Dúvidas

  • Por que tu não usa módulos gradle?
    • Não vejo necessidade pra esse projeto.
  • Por que não usa: domain, infraestructure, e afins?
    • Não curto essa divisão.
  • E porque...
    • Como comentei acima, estou testando novas formas de codificar.

Funcionalidades Principais

  • Processamento de Pagamentos: O microserviço é responsável por processar os pagamentos recebidos pelo e-commerce, garantindo uma transação segura e confiável.

  • Integração com Banco de Dados: Utiliza o Spring Data para interagir com o banco de dados PostgreSQL, garantindo a persistência e recuperação dos dados de pagamento de forma eficiente.

  • Ambiente Dockerizado: Todo o ambiente do microserviço, incluindo banco de dados, está contido em containers Docker, facilitando a implantação e escalabilidade.

  • Ambiente de Desenvolvimento com Spring H2: Durante o desenvolvimento, é possível utilizar o banco de dados em memória H2 fornecido pelo Spring, facilitando o teste e desenvolvimento local.

  • Comunicação Assíncrona com RabbitMQ: Utiliza o Spring RabbitMQ para comunicação assíncrona entre microserviços, garantindo uma arquitetura resiliente e escalável.

Tópicos abordados nesse projeto

Tecnologias

  • Java
  • Spring Boot
  • Spring Profiles
  • Spring AMQP (WIP)
  • Spring Data JPA
  • Flyway / Migrations
  • Gradle
  • Docker
  • Kubernetes (WIP)
  • Postgres
  • H2 Database
  • RabbitMQ (WIP)
  • JUnit, Mockito
  • Rest Template (WIP)
  • TestContainers (WIP)
  • CI / CD (Github Actions, Docker Hub)
  • Keycloak / Custom Identity Service (WIP)
  • ElasticStack, DataDog, OpenTelemetry (WIP)
  • Spring Cloud Gateway (WIP)

Configuração

  1. Clone o repositório deste microserviço.

  2. Certifique-se de ter o Docker, PostgreSQL e RabbitMQ instalados e em execução.

  3. Configure as variáveis de ambiente necessárias, como credenciais de banco de dados e RabbitMQ, conforme necessário.

  4. Compile o projeto utilizando o Maven:

gradle
  1. Suba os containers:
docker compose up -d

Isso iniciará o microserviço de pagamentos juntamente com o banco de dados PostgreSQL e o serviço RabbitMQ.

Uso

Após a configuração e inicialização bem-sucedidas, o microserviço estará pronto para receber solicitações de pagamento do seu e-commerce. Certifique-se de integrar corretamente o seu e-commerce com este microserviço para processar pagamentos de forma eficaz.

Contribuição

Contribuições são bem-vindas! Se você encontrar problemas, bugs ou desejar adicionar novos recursos, sinta-se à vontade para abrir uma issue ou enviar um pull request.

Licença

Este projeto está licenciado sob a MIT License.


Este README oferece uma visão geral do seu microserviço de pagamentos e fornece instruções básicas sobre como configurar, executar e contribuir para o projeto. Certifique-se de personalizá-lo de acordo com as necessidades específicas do seu projeto e da sua equipe.

About

Microservice to process payments from my eShop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published