Skip to content

humbertodias/bank-elastic-stack

Repository files navigation

bank-elastic-stack

Elastic stack using :

  1. Docker - Compose
  2. Kubernetes - Native
  3. Kubernetes - Helm

Requirements

Front

  • Web - Cliente responsivo

Wallet/Income

Infra

  • Load Balance - Redirecionador de requisições
  • MongoDB - Persistência
graph TD
    A[fa:fa-mobile Client] -->|:3000/*| B[fa:fa-server FrontEnd]
    B -->|:3005/*| C[fa:fa-balance-scale Load Balancer]
    C -->|:8080/account| D[fa:fa-server Account]
    C -->|:8080/income| E[fa:fa-server Income]
    C -->|:8080/wallet| F[fa:fa-server Wallet]
    C -->|:8080/mq| I[fa:fa-server Message Queue]
    C -->|:8080/cm| J[fa:fa-server Cloud Messaging]
    D -->|tcp:27017| G[fa:fa-database NoSQL]
    E -->|tcp:27017| G
    F -->|tcp:27017| G
    I -->|tcp:5672 | H[fa:fa-database RabbitMQ]
    J -->|http:80  | K[fa:fa-database Firebase]
Loading

All Services

Service Network Port
Web Front 3001
SwaggerUI Front 3002
Load balance Front 3005
RabbitMQ Front 15672
Income Back 3005
Wallet Back 3005
Account Back 3005
Message Queue Back 3005
Cloud Messaging Back 3005
MongoDB Back 27017
RabbitMQ Back 5672

Backend

  • Income - Microsserviço responsável pela parte de rendimentos
  • Wallet - Microsserviço responsável pela parte de carteiras
  • Account - Contains methods to access the user account details and the checking account transactions and bills
  • Auth - Authentication operations
  • Card - Contains methods to retrieve the feed of transactions from the credit card
  • Payment - Contains methods to create payment requests
  • MQ - Message Queue with RabbitMQ
  • CM - Cloud Messaging with Firebase for push notifications

How to run

  1. Compose
  2. K8S
  3. Helm
  4. Message Queue
  5. Cloud Messaging

Ref