Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bredefk/cloud-assignment-3
Mirror from bitbucket. A bot that you can ask about currencies and covert them
https://github.com/bredefk/cloud-assignment-3
bot cloud currency discord go heroku webhook
Last synced: 28 days ago
JSON representation
Mirror from bitbucket. A bot that you can ask about currencies and covert them
- Host: GitHub
- URL: https://github.com/bredefk/cloud-assignment-3
- Owner: BredeFK
- Created: 2018-10-10T13:48:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-12T19:24:12.000Z (about 6 years ago)
- Last Synced: 2024-06-12T17:59:30.217Z (7 months ago)
- Topics: bot, cloud, currency, discord, go, heroku, webhook
- Language: Go
- Homepage: https://cloudtech3.herokuapp.com/
- Size: 159 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Assignment 3: Chat Bot, Currency Conversion, Docker
## Note:
[Fixer](http://fixer.io/) now require an API Access key, so this assignment can't return currency rates anymore.## Authors
| Name | Github | Email |
|-----------------------|---------------------------------------------------|-------------------------------------------------------|
| Brede Fritjof Klausen | [BredeFK](https://github.com/BredeFK) | [[email protected]](mailto:[email protected]) |
| Johan Aanesen | [JohanAanesen](https://github.com/JohanAanesen) | [[email protected]](mailto:[email protected]) |## Packages needed:
```
go get github.com/bwmarrin/discordgo
go get gopkg.in/mgo.v2
```## Root url:
https://cloudtech3.herokuapp.com/## Instructions
This assignment, Assignment 3, has two aspects, and builds on the services developed in Assignment 2.**Aspect 1:** Develop a service that allows users to interact with a bot on a instant messaging system of your choice (e.g. Slack), and provide currency conversions. The bot will form an interactive user-interface that relies on the currency conversion service that you have built in Assignment 2.
Note that the messaging system needs to be able to support both incoming and outgoing webhooks without any additional layer of complexity (e.g. authentication). Check https://dialogflow.com/docs/integrations/ for details.
**Aspect 2:** Assignment 3 functionality must be deployed on mLab (for database functionality) and on Heroku (for computational functionality) and on Dialogflow (for the bot integration). However, you are also required to prepare Dockerfiles and docker-compose configuration (for your code & MongoDB), such that the solution to Assignment 3 could potentially be re-deployed on an alternative cloud provider that supports Docker containers, i.e. not relying on mLabs or on Heroku.
## Service specification
### BotThe bot should be able to answer simple questions about the current currency conversion rates. Eg.
```
"What is the current exchange rate between Norwegian Kroner and Euro?"
"What is the exchange rate between USD and NOK?"
"What is the exchange rate between Euro and Norwegian kroner?"
```### Response
The bot should respond in English, with the current exchange rates.## Resources
- http://fixer.io/ Currency ticker data
- https://mlab.com/ MongoDB cloud hosting (choose the FREE plan)
- http://gopkg.in/mgo.v2 MongoDB Go driver
- Note: most likely we will use Heroku-based deployment, but, we need to test it first.
- https://dialogflow.com Tools and development console for developing the bot. The tutorial about Dialogflow will be posted online on BlackBoard.
- https://dialogflow.com/docs/integrations/ DialogFlow Integrations