ExBanking Made By | Anthony Gonzalez
Banking application made with Elixir/OTP with the following functionality:
-
Users can be created in the system with a string, a user will be a process in the system created with a registry, and a backup process to maintain the state when process interrupted or restarted.
-
Users can deposit money for any currency.
-
Users can withdraw money from any currency.
-
Users can get balance from any currency, balance will belong to a currency.
-
Users can send money from account to other users.
This solution was made with Elixir, to run locally the following is needed:
- Elixir 1.13 or later
- Erlang 22 or later
Fetch dependencies:
mix deps.get
To run the test:
mix test
** ExBanking **
Main public interface.
** AccountAccess **
Genserver to control access with rate limit to transactions.
** Account **
For account creation.
** AccountState **
To keep account state when process gets restarted.
** AccountDynamicSupervisor **
Dynamic supervisor to start account workers.
** Transactions **
To handle all users transactions.