Skip to content

jvcalassio/fc-payment-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Pagamentos Fincycle

Desenvolvido durante a Imersão Full Stack && Full Cycle.

Neste projeto, é implementada uma solução para um sistema de pagamentos com o objetivo de aprender um pouco mais sobre conceitos de microsserviços, containers, kubernetes, clean architecture, e diferentes linguagens e ferramentas.

No sistema, há uma interface web para consulta das ordens de pagamento. Essa interface se comunica com um backend através de uma API REST. O servidor backend salva cada ordem e se comunica com um serviço que é responsável por processar cada pagamento (como uma operadora de cartão de crédito) e retornar se foi aprovada ou não.

Diagrama do sistema

Tecnologias

Todo o sistema é baseado em microsserviços, e foram desenvolvidos utilizando containers Docker.

Kubernetes é utilizado para orquestração dos containers em produção.

Frontend

O frontend do sistema foi desenvolvido em React, utilizando o framework Next.js. Há um serviço para realizar a renderização em servidor.

Backend

O backend foi desenvolvido em Nest.js e é responsável por disponibilizar a API REST e armazenar todas as ordens de pagamento.

Processamento do pagamento

Cada pagamento é processado através de um serviço desenvolvido em Golang, que analisa a transação, valida e comunica o resultado ao backend.

Comunicação

Os serviços se comunicam entre si através do Apache Kafka, fora a já citada API REST.


Execução em desenvolvimento:

Para execução em modo de desenvolvimento, é utilizado o Docker Compose.

É necessário clonar este repositório, e também o repositório de cada microsserviço.

    git clone https://github.com/jvcalassio/fc-payment-system.git
    cd fc-payment-system
    git clone https://github.com/jvcalassio/fc-payment-gateway.git
    git clone https://github.com/jvcalassio/fc-backend.git
    git clone https://github.com/jvcalassio/fc-frontend.git

E então, executar o docker compose deste repositório, que irá subir os containers de todos os serviços:

    docker-compose up -d --build

Se tudo ocorrer como esperado, será possível acessar o frontend no endereço http://host.docker.internal:3001

Para o correto funcionamento, é necessário que o endereço host.docker.internal aponte para 127.0.0.1 no arquivo hosts de seu sistema.

About

Sistema de pagamentos baseado em microsserviços

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published