Tellerbot is a simple and intuitive way to make requests to your local bank, using a minimalistic chat ui, you could easily log in, check your account balance and make simple operations like deposits, withdrawals and check exchange rates, just type it and and the bot will do the rest.
This project was created using:
- (PHP) Laravel Framework 7
- (Javascript) node 12.3.1
- (Javascript) React 16.13.0
- (CSS) Bulma 0.8
- Mysql 5.7
- Docker 18.06.3
- Docker Compose 1.22.0
Or the easy way, this is the recommended way to install Tellerbot:
-
Clone this repository:
git clone git@github.com:GooseCoder/tellerbot.git
Install docker (18.06.3) and docker compose (1.22.0), here is a good guide to get docker up and running: https://docs.docker.com/install/ and for compose: https://docs.docker.com/compose/install/
-
From the project main folder just run:
docker-compose up -d
The previous step created the application environment but to run the project we need some data to get started, run the following commands:
docker exec -it tellerbot_tellerbot-api_1 bashphp artisan migratephp artisan db:seedphp artisan passport:install
One recommendation is to check that the first command starts a bash session inside the container, if not, neither of the following commands will execute the data setup
Is required an environment with:
- PHP >= 7.2 (https://laravel.com/docs/7.x#server-requirements)
- Mysql 5.7
- node 12.3.1
- composer package manager
Then configure the laravel api application from the tellerbot-api folder:
- Run
composer install - Create a database named: api-data
- Modify the .env file to modify the DB_HOST variable to point to the right database host, usually
localhost - Run
php artisan migrateto setup the required tables. - Run
php artisan db:seedto seed the database with the initial data - RUN
php artisan passport:installto install passport. - Run
php artisan serve --host=0.0.0.0 --port=8181to serve the api
To configure the react ui from the tellerbot-web folder:
- Edit the file
src/components/services/ConfigurationService.jsto change the api host address if required - Run
npm installto install dependencies - Run
npm startto start the ui server
Once finished the bot is ready for action. If there were no problems you could access the bot UI on this address:
localhost:3000
You can input certain phrases and dialog into the message box at the bottom to access certain features:
Here is a list of the available functions and some examples of how to use them:
You can type something like: "I want to login" or "I need to log". This should open a card:
You only need to add the email and password of a valid user the demo credentials are
email: admin@member.com
password: sample
You can type something like: "I want to sign" or "I need to sign"
This card need to be filled in order to create a new user. The last field is required to create a new account linked to this user, it will be created using that code to set the currency of the account.
You can type something like: "I want my balance", "I need my balance" or "I would like my account balance"
If you are a logged user or just created an account, you will be able to use more features like getting your account balance. This list will show you the number of deposits and withdrawals and the currency used in each case. Each transaction has the conversion info if the money was exchanged during the deposit or withdrawal
You can type something like: "I want to deposit", "I need to make a deposit" or "I would like to deposit some money"
It just need an amount and currency code to make the transaction. All transactions made in a currency different than tha account currency are converted into the account currency
You can type something like: "I want to withdraw", "I need to make a withdraw" or "I would like to withdraw some money"
It just need an amount and currency code to make the transaction. All transactions made in a currency different than tha account currency are converted into the account currency
You can type something like: "I want to make a exchange", "I need to exchange some money" or "I would like to calculate exchange rates."
The user needs to add two codes the orignal currency and the target currency the amount in the middle will be converted pressing the exchange button.
If you want to see this dialog info inside the chat, you could just type something like:
Could you help me?
A small help card should appear bellow the message.







