Ebanx Financial Service

A micro REST api written in elixir using only plug & cowboy

Features

  1. Account creation

  2. Get account balance

  3. Account Deposit

  4. Account withdraw

  5. Transfer between accounts

Setup

Local Setup

  • $ make setup

Docker Compose

Assuming you already have Docker and Docker Compose installed, run the command below.

  • $ make build_container

Tests

Tests can be be executed:

Local:

  • $ mix test

Docker:

  • $ docker-compose run app mix test

Execution

Local:

  • $ make run

Docker:

  • $ docker-compose run app mix run --no-halt

External libs

  • Poison -> decode map to json to json

  • Credo -> Code static code analysis;

  • plug_cowboy -> A Plug Adapter for the Erlang Cowboy web server.

  • Dialyzer -> Code static code analysis.

  • con_cache -> Concurrent Cache to hold state

External suit test

address suit test