Coder Social home page Coder Social logo

lionbot's Introduction

LionBot

About LionBot

LionBot is a Facebook Messenger bot that was originally created by The Lion (a campus publication)’s technology team. It's now being maintained by ADI through its ADI Labs program.

The bot allows people to ask questions and get answers 24/7. Its features range from checking what’s in the dining hall, getting mental health resources, to even checking if the laundry room in one’s dorm has open machines. It can currently be accessed at m.me/thecolumbialion. To add a feature, read our contributing document.

Structure

├── CONTRIBUTING.md   # Guide to adding to LionBot
├── README.md         # This file
├── requirements.txt  # Libraries used to build the bot
├── Procfile          # Used when deploying the bot to production
├── app.py            # The main bot code
└── packages/         # All supporting code used by app.py
    ├── academic/     # Features related to academic life
    ├── clubs/        # Features related to clubs
    ├── dining/       # Features related to Columbia/Barnard Dining
    ├── etc/          # Features that don't related to another folder 
    ├── housing/      # Features related to housing
    ├── internal/     # Features related to quick replies and postbacks
    ├── offcampus/    # Features related to off-campus activities
    ├── wellness/     # Features related to health/wellness

Technology Stack

Below are the core libraries used in building the bot.

PostgreSQL/Psycopg2

Bot data is saved and retrieving data using a database based on PostgreSQL. To interact with the database, the bot uses Psycopg2, a Python library that makes it easy for programmers to interact with Postgres tables.

SQL

To insert and query for data, the bot relies on SQL.

Python 3

LionBot is written in Python 3.

Flask

Flask is powerful micro web-framework that makes it easy to get a server-based Python app up and running quickly.

Dokku

Dokku is a platform as a service that makes it easy to deploy a website. This PaaS is used to deploy bot updates to all users.

FMBQ/Facebook Messenger API

To handle sending messages, the bot relies on FBMQ, an open-source bot library. More information about the library can be found on its Github page.

Dialogflow

Dialogflow is a powerful API owned by Google that is core to the bot. This tool uses NLP and ML to process the messages users send the bot and helps provide an estimate of the specific tasks and keywords a user is interested in.

Contributors

Thanks to the following people for their initial work in developing LionBot

Past & Current Product Managers

Cesar Ramos, Shazmin Mahmud, Lesley Cordero

Current Core Developers

Veronica Woldehanna, Shazmin Mahmud

Past Core Developers

Dagmawi Sraj, Monica Arbeit, Eleanor Murguia

Original Developers

Chang Liu, Christine Hsu, Will Essilfie, Eitan Kaplan, Eileen Gao, Salim M'Jahad, Carlo Salomon, Vivian Han, Jessy Han, and Malik Drabla

Designers

Remi Free

Campus Offices

Thank you to Barnard's Furman Counseling Center for providing resources for the Health/Wellness section of LionBot.

The Lion

Initial support for the bot is thanks to The Columbia Lion. To learn more about The Lion, visit their homepage.

lionbot's People

Contributors

clesleycode avatar cesareramosmedina avatar alexsissoko avatar cl3403 avatar lordcrawford avatar vocatwk1 avatar wessilfie avatar iamsusiep avatar emurguia avatar monicaarbeit avatar mahmuds2 avatar dravos 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.