Skip to content

guilhermealvess/guicpay

Repository files navigation

GuicPay Simplificado - Desafio PicPay Backend

Este projeto é uma implementação simplificada do backend do PicPay, desenvolvido como parte do desafio proposto pelo PicPay.

logo2

Stack 🔋

  • Golang: Linguagem de programação, compilada, rápida, multi-paradigmas e concorrente.
  • PostgreSQL: Banco de dados SQL utilizado para armazenar dados persistentes, usufruindo da capacidade de transações atômicas garantindo consistência.
  • Redis: Sistema de armazenamento em cache atuando como um serviço de lock distribuído.
  • DDD (Domain-Driven Design): Metodologia para organizar o código em torno das regras de negócio, onde a modelagem do problema é o mais importante.
  • Clean Architecture: Estrutura de código que enfatiza a separação de responsabilidades e a independência das camadas e não dependendo de framework.

Modelagem de Domínio

Modelagem de Domínio

A imagem acima ilustra a modelagem de domínio do GuicPay simplificado. Cada entidade e sua relação refletem a estrutura fundamental do sistema.

Arquitetura do Sistema

alt text

A arquitetura do sistema é projetada para ser modular e escalável. Cada camada tem uma responsabilidade específica, facilitando a manutenção e o desenvolvimento contínuo.

Clean Architecture

Clean Architecture

A implementação do GuicPay Simplificado segue os princípios da Clean Architecture. Essa abordagem enfatiza a separação de interesses, facilitando a compreensão do código, a manutenção e a evolução do sistema.

Como rodar o projeto 🚀

make docker-run

Health Check

curl http://localhost:8080/ping

Documentação

Para acessar a documentação OpenAPI basta acessar a rota /docs/ .