All Projects → alexandrebeato → Bankflix

alexandrebeato / Bankflix

Licence: mit
Aplicação que simula um banco digital, contendo a área do cliente e administrativa, permitindo depósitos e transferências entre contas do mesmo banco. | Application that simulates a digital bank, containing the customer and administrative areas, allowing deposits and transfers between accounts of the same bank.

Projects that are alternatives of or similar to Bankflix

Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (+59.76%)
Mutual labels:  mongodb, rabbitmq, dotnet-core, ddd, cqrs
Cqrs Clean Eventual Consistency
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
Stars: ✭ 247 (+201.22%)
Mutual labels:  redis, mongodb, rabbitmq, ddd, cqrs
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+93.9%)
Mutual labels:  mongodb, dotnet-core, ddd, cqrs
Run Aspnetcore Microservices
Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Ocelot API Gateway, MongoDB, Redis, PostgreSQL, SqlServer, Dapper, Entity Framework Core, CQRS and Clean Architecture implementation. Also includes Cross-Cutting concerns like Implementing Centralized Distributed Logging with Elasticsearch, Kibana and SeriLog, use the HealthChecks with Watchdog, Implement Retry and Circuit Breaker patterns with Polly and so on.. See Microservices Architecture and Step by Step Implementation on .NET Course w/ discount->
Stars: ✭ 406 (+395.12%)
Mutual labels:  rest-api, redis, mongodb, rabbitmq
Dotnetcore Microservices Poc
Very simplified insurance sales system made in a microservices architecture using .NET Core
Stars: ✭ 1,304 (+1490.24%)
Mutual labels:  rabbitmq, dotnet-core, ddd, cqrs
Stove
Domain Driven Design oriented application framework, meets CRUD needs
Stars: ✭ 160 (+95.12%)
Mutual labels:  redis, rabbitmq, ddd, cqrs
Messagebus
A MessageBus (CommandBus, EventBus and QueryBus) implementation in PHP7
Stars: ✭ 178 (+117.07%)
Mutual labels:  redis, rabbitmq, ddd, cqrs
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (+2220.73%)
Mutual labels:  rest-api, redis, dotnet-core, ddd
Hexagonal Architecture Acerola
An Hexagonal Architecture service template with DDD, CQRS, TDD and SOLID using .NET Core 2.0. All small features are testable and could be mocked. Adapters could be mocked or exchanged.
Stars: ✭ 293 (+257.32%)
Mutual labels:  mongodb, dotnet-core, ddd, cqrs
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: ✭ 414 (+404.88%)
Mutual labels:  dotnet-core, ddd, cqrs
Testcontainers Spring Boot
Container auto-configurations for spring-boot based integration tests
Stars: ✭ 460 (+460.98%)
Mutual labels:  redis, mongodb, rabbitmq
Kledex
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
Stars: ✭ 502 (+512.2%)
Mutual labels:  dotnet-core, ddd, cqrs
Netcoremicroservicessample
Sample using micro services in .NET Core 3.1 Focusing on clean code
Stars: ✭ 403 (+391.46%)
Mutual labels:  rabbitmq, dotnet-core, cqrs
All Things Cqrs
Comprehensive guide to a couple of possible ways of synchronizing two states with Spring tools. Synchronization is shown by separating command and queries in a simple CQRS application.
Stars: ✭ 474 (+478.05%)
Mutual labels:  mongodb, ddd, cqrs
Spring Samples For All
spring、spring-boot、spring-cloud 常用整合用例
Stars: ✭ 401 (+389.02%)
Mutual labels:  redis, mongodb, rabbitmq
Machinery
Machinery is an asynchronous task queue/job queue based on distributed message passing.
Stars: ✭ 5,821 (+6998.78%)
Mutual labels:  redis, mongodb, rabbitmq
Shriek Fx
An easy-to-use rapid development framework developed on the basis of.NET Core 2.0, following the constraints of domain Driven Design (DDD) specifications, combined with the CQRS architecture to provide the infrastructure for event-driven, event backtracking, responsiveness, and more. Let developers enjoy the true meaning of object-oriented design patterns brought by the aesthetic.
Stars: ✭ 644 (+685.37%)
Mutual labels:  dotnet-core, ddd, cqrs
Full Stack Notes
全栈工程师手册
Stars: ✭ 366 (+346.34%)
Mutual labels:  redis, mongodb, rabbitmq
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+7473.17%)
Mutual labels:  rest-api, ddd, cqrs
Mall Learning
mall学习教程,架构、业务、技术要点全方位解析。mall项目(40k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
Stars: ✭ 10,236 (+12382.93%)
Mutual labels:  redis, mongodb, rabbitmq

trivelum logo

Build status

Começando

Para executar a aplicação:

git clone https://github.com/alexandrebeato/bankflix.git
cd bankflix
docker-compose up --build -d

A aplicação angular (front-end) poderá ser acessada através do endpoint http://localhost:5001/ e a api (back-end) pode ser acessada via endpoint http://localhost:5002/.

Sobre

O projeto Bankflix simula um banco digital, contendo a área do cliente e administrativa, permitindo depósitos e transferências entre contas do mesmo banco..

Dê uma estrela! ⭐️

Se você gostou do projeto ou se ele te ajudou, por favor dê uma estrela ;)

Atenção

Este não é um projeto para ser utilizado em produção. Ele é apenas uma demonstração do uso das tecnologias e da arquitetura em que foi construído. Existem ajustes e melhorias a serem feitos.

Dados para acesso da agência

CNPJ: 03569262000160

Senha 123456

Informações importantes

  • Todos os valores internamente são tratados como centavos convertidos para R$ apenas na exibição ao cliente
  • Os eventos orquestrados por filas terão um delay de 30 segundos apenas para percepção do uso da fila.
  • O contexto de AGÊNCIA não possui CQRS para demonstrar que pode-se manter diferentes padrões conforme a necessidade.
  • É possível acompanhar o ACK manual com sistema de filas re-inserindo a transação na fila caso haja alguma falha.
  • Os containeres não estão utilizando volumes, portanto ao matá-los irá causar a perda dos dados.
  • A aplicação pode levar alguns segundos para iniciar pois o serviço de filas (RabbitMQ) leva alguns segundos para liberar para conexões. Existe uma política de Retry utilizando Polly para que a aplicação inicie apenas quando o serviço estiver funcionando corretamente.

Fluxo

  • Ao iniciar a aplicação pela primeira vez será cadastrado uma agência com um usuário administrador
  • Ao criar sua conta o cliente ficará com o status pendente até que o usuário administrador aprove seu cadastro.
  • Ao aprovar ou recusar, será disparado um evento de envio de e-mail (apenas simulando, não envia realmente) notificando o cliente.
  • Ao aprovar, será criada uma conta bancária automaticamente vinculada ao cliente com saldo zerado.
  • O cliente poderá realizar depositos online (simulado, pode-se colocar o valor que quiser) que ao cadastrado ficará como pendente, sendo adicionado na fila para ser efetuado.
  • O cliente poderá realizar uma transferência para outras contas que ao solicitar a transferência ela ficará como pendente, sendo adicionada na fila para ser efetuada ou cancelada.
  • Quando o depósito ou transferência forem efetuados/recusados (cancelado) será disparado um evento de envio de e-mail (apenas simulando, não envia realmente) notificando os clientes.
  • Quando o depósito ou transferência forem efetuados com sucesso, será registrada a movimentação.-

Autor 👦

Roadmap 🗺

Item Data
Testes TBD
Aplicativo Mobile (Flutter)

License 📃

This project is licensed under the MIT License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].