Giter VIP home page Giter VIP logo

brobot's Introduction

Bro Bot


Table of Contents

Problem

In my fraternity, at the end of the chapter each week we would nominate a member of the chapter as the Delt of the week. This was done by taking into account the good deeds done by the nominees and voting for who we thought was most deserving of this post for the week. However, since this nomination was only done at the end of the week, it often meant that deeds might be forgotten over the week and thus the system encouraged greater deeds at a low frequency.

Solution

Brobot lives on our fraternity's slack and is called into action when a member pings for it. A member can ping for it whenever they think another member should be recognized for a good deed. Therefore, this solution encourages members to do good deeds frequently as opposed to greater deeds infrequently. As members ping the bot as soon as good deed was recognized, it also means that these deeds won't be forgotten over the week. Finally, at the end of each week, before the chapter begins, the bro bot will calculate and announce the Delt of the week.

The backend is run on Sinatra where Mongodb is used to store the points. A URL is exposed to the Slack bot (BroBot), which will add a good deed to the database. A cron job is run at the end of each week to calculate the Delt of the Week and is pushed onto the Slack via the BroBot.

Technologies

Usage

  1. Install dependencies
bundle install
  1. Create a Slack Bot and add its token to the environment variable SLACK_BOT_TOKEN
  2. Setup database
bundle exec rake db:create
bundle exec rake db:setup
  1. Seed with random data (optional)
bundle exec rake db:seed
  1. Run the backend
rackup 
  1. Navigate to localhost:9292

brobot's People

Contributors

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