mateusmaso / reactive-bank

Reactive bank API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

reactive-bank

This is a modern implementation of a banking API based on the reactive manifesto and microservices architecture. Currently, these are the following services available:

  • Money: Holds balance and transactions of the general ledger.
Method Resource Description
POST /accounts Creates an account
GET /accounts/:id/balance Retrieves the account balance
POST /transfers Transfer money between accounts
POST /load Load money into the account
POST /unload Unload money from the account

Running

$ docker-compose up

Contributing

Keep in mind to follow these principles before contributing:

  • Try to solve the problems with a modern approach.
  • Choose any programming language although JVM is preferred. (eg: Java, Scala, Clojure)
  • Protect the business rules from the technology layer. (eg: hexagonal/clean/onion)
  • Every domain should be a module using the microservices principles.
  • Think how to solve the problems asynchronously.
  • Use the principles of reactive programming such as:
    • Message-driven.
    • Responsive.
    • Elastic.
    • Resilient.
  • Easy setup in the root project that runs all microservices.

About

Reactive bank API


Languages

Language:Java 99.8%Language:Dockerfile 0.2%