Raybank é um sistema bancário digital desenvolvido para oferecer uma experiência completa de transações de sistemas financeiros reais. Raybank oferece uma ampla gama de funcionalidades, como transferências via Pix, cartões de débito e crédito, emissão e pagamento de boletos, depósitos e pagamentos diversos, além de uma interface de usuário intuitiva e responsiva.
O que você pode fazer com o Raybank?
- Crie, gerencie e exclua suas chaves Pix com facilidade.
- Faça transferências por QR Code, chave ou conta, sem complicações.
- Configure limites para manter o controle total das transações.
- Reembolse com apenas um clique, graças ao suporte completo para devoluções.
- Parcelamentos com faturas reais, prazos, atrasos e tudo o que o mercado exige.
- Pague suas faturas com facilidade gerando boletos ou com saldo da conta.
- Experiência de compras virtuais integrada via API.
- Controle total de limites, com ajustes automáticos conforme uso e pagamento.
- Crie e pague boletos em qualquer momento, para qualquer usuário.
- Realize depósitos utilizando boletos com simplicidade.
- Gerencie tudo por status e acompanhe os vencimentos como em bancos reais.
- Deposite como preferir: QR Code, boleto ou diretamente na conta.
- Pague faturas, QR Code, boletos e mais com total controle
- Realize transferências usando QR Code, chave Pix ou número da conta.
- Cada pagamento, transferência e movimentação são registrados em extratos detalhados.
- Proteção de dados garantida com OAuth2, Keycloak e Cognito para uma experiência confiável.
O design deste projeto foi pensado para oferecer uma ótima experiência em qualquer dispositivo, seja no computador ou no celular:
Preview.mp4
Raybank combina um backend sólido em Java com Spring Boot e PostgreSQL, com um frontend moderno utilizando React e Next.js. A infraestrutura é totalmente automatizada com Terraform e AWS, proporcionando escalabilidade e robustez. A mensageria é feita com SQS, e o processamento de imagens e thumbnails é otimizado com Python.
- Java com Spring.
- Banco de dados PostgreSQL.
- Mensageria com AWS SQS (opção para Kafka).
- TypeScript
- React com Next.js 14.
- TailwindCSS para estilização rápida e flexível.
- AWS (S3, Lambda, SQS, e mais).
- Terraform para automação de infraestrutura.
- Docker e Docker Compose para containerização.
- LocalStack para emulação local de serviços AWS.
- OAuth2 com Keycloak ou Cognito para controle de acesso seguro.
- Webhook para eventos de criação de usuário utilizando SQS para gerenciar eventos, com o Cognito disparando um trigger de "Post Confirmation Lambda" para escutar registros de usuários.
- Python para geração de thumbnails.
- Armazenamento em AWS S3.
A arquitetura do RayBank é projetada para alta escalabilidade, com utilização de AWS e mensageria.
Veja abaixo a arquitetura completa:
- Docker: Certifique-se de ter o Docker instalado em sua máquina.
- Docker Compose: Também é necessário ter o Docker Compose instalado para gerenciar múltiplos containers.
-
Clone o repositório
No terminal, clone o repositório com o seguinte comando:
git clone https://github.com/Rayllanderson/raybank.git
-
Acesse a pasta da infraestrutura: Navegue até a pasta onde o arquivo docker-compose.yml está localizado:
cd raybank/v2/infra -
Suba os containers Docker Execute o comando abaixo para subir os containers. Esse processo pode levar algum tempo, dependendo da configuração da sua máquina:
docker-compose up
-
Acesse o Frontend Após o Docker concluir a inicialização dos containers, o frontend estará disponível na seguinte URL: http://localhost:3000
Observação: O tempo de inicialização pode variar. Caso seja a primeira vez que os containers estão sendo executados, pode demorar alguns minutos, dependendo dos recursos da sua máquina.
- Faça um fork do projeto.
- Crie uma nova branch com as suas alterações:
git checkout -b my-feature - Salve as alterações e crie uma mensagem de commit contando o que você fez:
git commit -m "feature: My new feature" - Envie as suas alterações:
git push origin my-feature
Caso tenha alguma dúvida confira este guia de como contribuir no GitHub
Este projeto esta sobe a licença MIT.
Rayllanderson Gonçalves Rodrigues











