Nitro Chatbot

Javascript
Web Applications
Security
Node.js
Cloud
Communication

Our project, Nitro Chatbot, is a chatbot that allows network administrators to change configurations on a piece of network hardware called a load balancer. A load balancer is a piece of network hardware that exists between the internet and a group of servers that work together to serve a webpage that you view. When you navigate to Google, you’re really asking a load balancer somewhere to route your request to one of many servers that Google operates. A load balancer something acts as a traffic signal at an intersection, directing traffic to their destination and reduction congestion. Load balancers need to be configured and monitored by the people responsible for them. At Oregon State University, this process can be fairly cumbersome. Our project streamlines this process by using a chat program called Microsoft Teams that all university employees have access to. With this, we can make sure only authorized employees can perform common tasks quickly and easily, saving them time and the university money. Given the sensitivity performing changes on such a critical piece of hardware, security was a primary focus of the project. Nitro Chatbot leverages the built-in authentication of Microsoft Teams to authenticate the identity of users without an extra step. Additionally, to separate the chatbot from interacting with the load balancer itself, a second component project was developed. This relay performs the sensitive task of querying the load balancer while assuring all its requests are only received from the chatbot component. Our project highly relies on AWS (Amazon Web Services). Both components are hosted in EC2 instances behind a domain (nitrochatbot.com), allowing for encrypted communication via HTTPS. Load balancer credentials are safely stored in AWS SecretsManager. Logs of all interactions are stores in AWS CloudwatchLogs to allow for simple auditing of user actions. Finally, the whole project stack can be deployed to AWS in a single step with the included Cloudformation Template.

0 Lifts 

Artifacts

Name Description
Overview & Beta Functionality Video This video provides a basic overview of the Nitro Chatbot project and demonstrates local functionality.   Link
Project Repository This is a link to the GitHub repository that contains the project.   Link
Full Final Report This is the full final report that was generated. If you really want to dig into the project, then this is the document for you.   Download