Git Product home page Git Product logo

oskibot's Introduction

OskiBot - An all-purpose chatbot for UC Berkeley students

Inspired by Oski, the best collegiate mascot in America

Created at CalHacks 6.0, won the Cisco API Challenge and Major League Hacking Transposit API Challenge

Devpost Project Link: https://devpost.com/software/oskibot-uc-berkeley-course-recommendation-chatbot

How to Deploy on the Web using Microsoft Azure

  1. From a Mac/Linux bash shell:

    git clone https://github.com/mbzhu1/oskibot
    cd oskibot
    npm install
  2. Create a Bot account at 'Webex for Developers', and copy your bot's access token to the clipboard. Set the ACCESS_TOKEN in the .env file to your bot's access token

  3. Set up a Azure Account and download Visual Studio Code

  4. Install the Azure App Service Extension in VS Code

  5. Follow the instructions at https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-nodejs#deploy-to-azure to deploy your app to azure.

  6. If you browse the URL given by Azure, you may find that there is an error page. Don't panic, this is expected. After recieving a URL from Azure, replace the PUBLIC_URL in the .env file with your web app's URL. Save the changes and redeploy your chatbot.

  7. The URL given to you by Azure should now display a JSON file with the health status report about the chatbot. If you are on Chrome, you can download JSON VIEWER to view the file in a more readable format

  8. Now you have your bot deployed onto the web and you can start talking with your bot in Cisco Webex Teams!

How to run locally

  1. From a Mac/Linux bash shell:

    git clone https://github.com/mbzhu1/oskibot
    cd oskibot
    npm install
  2. Launch ngrok to expose port 3000 of your local machine to the internet:

    ./ngrok http 3000

And keep this running in the background

  1. Change the PUBLIC_URL in the .env file to be the url given by ngrok and make sure to pick the HTTPS address that ngrok is now exposing. Note that ngrok exposes HTTP and HTTPS protocols, make sure to pick the HTTPS address.

  2. Create a Bot account at 'Webex for Developers', and copy your bot's access token to the {your bots access token}

    ACCESS_TOKEN={your bots access token} node bot.js
  3. Now you have your bot running!

  4. Go to the Cisco Webex Teams application, search up your chat bot using the Bot's username, and start chatting!

Features

OskiBot can currently give you course reccomendations, set Google Calendar reminders, and show online lecture videos

If you ask OskiBot to recommend courses, he will help you filter courses based on graduation requirments

If you ask OskiBot to set a reminder, he we direct you to https://midterm-reminders-s8d1h.transposit.io which uses Transposit to connect to the Google Calendar API

If you ask OskiBot to show you online lectures, he will direct you to https://mbzhu1.github.io/cs61a-eluvio-trial/ which is currently using the Eluvio API to deliver video content via blockchain technology.

oskibot's People

Contributors

michaelbzhu avatar dependabot[bot] avatar arthur322 avatar dongwon900 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.