guicpay

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2024 License: MIT

README

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/ .

Directories

Path Synopsis
cmd
api
Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT This file was generated by swaggo/swag
Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT This file was generated by swaggo/swag
domain
infra
interface
internal
pkg
pb

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL