Java application that integrates two well-known free-to-use apps - Slack and Coinbase. This allows you to make online cryptocurrency transactions easily within Slack. All this functionality is served as a simple, intuitive and native for Slack user interface.
To begin with, please refer to the Manual on how to use the application.
As by design, this application is intentionally tighly coupled with coinbase mainly because transactions made between coinbase users are made off-the-blockchain - in brief without paying transaction fees. So be sure to sign up there if you haven`t done this already.
In order to use the app properly one should /configure [coinbase email address]
prior to start sending funds. One can change the email as many times as he/she wants. But keep in mind that one email is mapped to a single slack user (you can cannot have two or more emails configured at the same time).
After a successful configuration one should receive the following message: Coinbase email configured successfuly! You are now able to make transactions.
Afterwards, typing /transaction
in the slack's text box and filling all the all the required fields in the popped-up Transaction dialog will send the selected amount of funds to a selected user from this channel. If the transaction is successful one should see All good to go! You have sucessfuly created a transaction.
, otherwise an error message is displayed.
├── slack-blockchain // The parent maven project
| ├── commons // Contains common configurations, beans and constants for the whole project
| ├── slack-app // The core submodule. Interacts with slack and handles processing.
| ├── transaction-broker // Interacts with coinbase. Realiable for the authorization and processing of the transactions
The following prerequisites must be fulfilled:
- you need to be a contributor to the project. Otherwise you won`t be able to configure the app
- download ngrok allowing secure introspectable tunnels to localhost
- Clone this repo to your local machine using one of the links
- SSH
git@github.com:Nikola-Popov/slack-blockchain-app.git
- HTTPS
https://github.com/Nikola-Popov/slack-blockchain-app
- SSH
- Navigate to the cloned directory.
$ cd slack-blockchain
- In order to build the project and run all the tests execute.
$ mvn clean install
- After the build is successful we can run the project by navigating to the slack-app submodule and executing it from there,
$ cd slack-app
$ mvn spring-boot:run
- Open another terminal window and run the ngrok. By default the application runs on port 8080 so ngrok with map this port.
$ ngrok
- Finally, go to https://api.slack.com/apps and if you have the right acess you should see the app there. Manually configure the
Slash Commands
and theInteractive components
request urls with the url provided by ngrok.
TBD