{"id":17742871,"url":"https://github.com/bredefk/cloud-assignment-3","last_synced_at":"2026-04-28T11:31:36.128Z","repository":{"id":131012762,"uuid":"152431076","full_name":"BredeFK/Cloud-Assignment-3","owner":"BredeFK","description":"Mirror from bitbucket. A bot that you can ask about currencies and covert them","archived":false,"fork":false,"pushed_at":"2018-10-12T19:24:12.000Z","size":163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-12T17:59:30.217Z","etag":null,"topics":["bot","cloud","currency","discord","go","heroku","webhook"],"latest_commit_sha":null,"homepage":"https://cloudtech3.herokuapp.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BredeFK.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-10T13:48:23.000Z","updated_at":"2019-04-03T16:01:54.000Z","dependencies_parsed_at":"2023-05-25T09:45:23.965Z","dependency_job_id":null,"html_url":"https://github.com/BredeFK/Cloud-Assignment-3","commit_stats":{"total_commits":100,"total_committers":4,"mean_commits":25.0,"dds":"0.44999999999999996","last_synced_commit":"e44c9ac3d217368a7b337e631dc7ea62da218fb5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BredeFK%2FCloud-Assignment-3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BredeFK%2FCloud-Assignment-3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BredeFK%2FCloud-Assignment-3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BredeFK%2FCloud-Assignment-3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BredeFK","download_url":"https://codeload.github.com/BredeFK/Cloud-Assignment-3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246558114,"owners_count":20796696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","cloud","currency","discord","go","heroku","webhook"],"created_at":"2024-10-26T05:41:59.225Z","updated_at":"2026-04-28T11:31:36.043Z","avatar_url":"https://github.com/BredeFK.png","language":"Go","readme":"# Assignment 3: Chat Bot, Currency Conversion, Docker\n\n## Note:\n[Fixer](http://fixer.io/) now require an API Access key, so this assignment can't return currency rates anymore.\n\n## Authors\n| Name                  | Github                                            | Email                                                 |\n|-----------------------|---------------------------------------------------|-------------------------------------------------------|\n| Brede Fritjof Klausen | [BredeFK](https://github.com/BredeFK)             | [bredefk@stud.ntnu.no](mailto:bredefk@stud.ntnu.no)   |\n| Johan Aanesen         | [JohanAanesen](https://github.com/JohanAanesen)   | [johanaan@stud.ntnu.no](mailto:johanaan@stud.ntnu.no) |\n\n## Packages needed:\n```\ngo get github.com/bwmarrin/discordgo\ngo get gopkg.in/mgo.v2\n```\n\n## Root url:\nhttps://cloudtech3.herokuapp.com/\n\n## Instructions\nThis assignment, Assignment 3, has two aspects, and builds on the services developed in Assignment 2.  \n\n**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.\n\nNote 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.\n\n**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 \u0026 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.\n\n## Service specification\n### Bot\n\nThe bot should be able to answer simple questions about the current currency conversion rates. Eg.\n```\n\"What is the current exchange rate between Norwegian Kroner and Euro?\"\n\"What is the exchange rate between USD and NOK?\"\n\"What is the exchange rate between Euro and Norwegian kroner?\"\n```\n\n### Response\nThe bot should respond in English, with the current exchange rates.\n\n## Resources\n- http://fixer.io/  Currency ticker data\n- https://mlab.com/  MongoDB cloud hosting (choose the FREE plan)\n- http://gopkg.in/mgo.v2 MongoDB Go driver\n- Note: most likely we will use Heroku-based deployment, but, we need to test it first.\n- https://dialogflow.com Tools and development console for developing the bot. The tutorial about Dialogflow will be posted online on BlackBoard.\n- https://dialogflow.com/docs/integrations/ DialogFlow Integrations\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbredefk%2Fcloud-assignment-3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbredefk%2Fcloud-assignment-3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbredefk%2Fcloud-assignment-3/lists"}