Git Product home page Git Product logo

hannahhackathon's Introduction

Hannah the Hackathon Helper

Who is She

Hannah was built to assist with hackathons! She has 3 main capabilities:

  • Handing out Azure Passes to students
  • Introducing students to the hack team members onsite
  • Answering questions about specific MS Technologies

Customize Her to Your Needs

You can customize the technologies and team members for each hackathon so Hannah can be more reusable.

Hannah's hackathon specific settings are in the data/hackSpecificData.js file. You can customize the data for each hackathon by modifying the data in the following format. Please make sure you keep the appropriate article preceding the hack prize and the appropriate preposition preceding the booth location for the bot's grammar to make sense. Each team member will be picked up by the app/dialogs/teamInfo dialog and added to the card of team members automatically.

{
  hackName: 'CalHacks',
  surveyLink: 'aka.ms/CalHacksSurvery',
  teamEmail: '[email protected]',
  prize: 'an XBox One',
  boothLocation: 'near the support desk on the first floor',
  teamMembers: [
    {
      name: 'Jane Doe',
      techFocus: ['Azure', 'Bot Framework'],
      photoLink: 'samplelink.com'
    },
    ...
  ]
}

You can also customize the technologies Hannah knows how to help with by edititng the data/techResources file. Add, delete or modify the technologies listed here to change how the bot responds in the app/dialogs/techHelp dialog.

[
  {
    name: 'ChatBots',
    prompt: 'You want to know how to build a bot like me? Head to https://docs.botframework.com/en-us/. You can also head to booth where various team members can help you!'
  },
  ...
]

Setup

Create an Azure Storage Account

Follow this guide to create your storage account. Once it is created, add two tables with the naming specified below. Changes to capitalization and spelling might break the existing code so be sure to create the correct tables.

Create a table to store all of the azure codes for the event.

  • Name: AzureCredits
  • Required Columns
    • Partition Key The values here will always be Credit
    • Row Key The azure code, it is primary key for the table
    • Used Boolean value to represent whether the credit has been given out or not
    • Timestamp

Create a second table to store the student information.

  • Name: AzureCreditStudents
  • Required Columns
    • Partition Key The values here will always be Student
    • Row Key The student's email, it is the primary key for the table
    • AzureCode The code that was assigned to the student
    • Name
    • University
    • PhoneNumber
    • ProjectDetails
    • Timestamp

Set up Your Environment Variables

There are several variables that need to be set in order for the app to run properly. For local testing, start by creating a .env file in the root directory, use the .env.example as a template for the values you need. When you deploy the bot to Azure be sure to enter these key value pairs in Application Settings to be configured as environment variables in your deployed app as the .env file only works locally.

  • APP_ID= The app id that you got after you register your bot on botframework.com
  • APP_PASS= The app password that you got after you register your bot on botframework.com
  • LUIS_ID= The id for your https://luis.ai model
  • LUIS_KEY= The subscription key for your https://luis.ai model
  • LUIS_ENDPOINT= The endpoint for your https://luis.ai model
  • EMAIL_PASS= The password for the email account you will send confirmation emails from
  • EMAIL_USERNAME= The email account you will send confirmation emails from
  • AZURE_STORE_CONNSTR= The primary connection string for your storage account (obtainment and setup info above)

hannahhackathon's People

Contributors

dwcares avatar gcrev93 avatar jcocchi avatar kevinleung23 avatar kottofy avatar

Stargazers

 avatar

Watchers

 avatar  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.