VotesApp

WhatsApp Bot that helps you and your friends to organize Votes in WhatsApp groups

[ON AIR] until 17.01.2015 - √ote for s2

The project is started for the Spring Boot Contest. To support us please

  • "Star" the Repository and/or
  • Tweet about it using the #VotesApp HashTag

It is submitted by @d0x (Christian Schneider) and @walery (Walery Strauch). If you have any ideas or feedback, contact us on Twitter or open a ticket on github.

During the contest we write a small diary and maintain a Trello board for this project. If you are really interested in recent updates, you could add this crontab :)

crontab -l | { cat; echo "0 13 * * * firefox http://votesapp.de/articles.html"; } | crontab -

Thank you for any kind of support! - s2.

About VotesApp

VotesApp is a WhatsApp Bot that helps you and your friends to organize Votes in WhatsApp groups.

As WhatsApp User the probability that you have a group together with some friends is quite huge. If not try it, it's a great feature. And when you are in a group like, it will happend that someone asks a question like, Who likes to join Karting on Saturday?, or Whats about pizza today after work?. Maybe you have such voting once a week for a fixed event like playing soccer in the evinig? Then it becomes quite hard to manage this.

Now you just invite VotesApp into your WhatsApp group. Once joined, VotesApp will listen to the Keywords, in, out, yes, no to count votes and status to give the names of the people which voted for this keyword.

Technology Stack

VotesApp is divided into the following three major backend stacks:

  • VotesApp: It's purpose is to communicate via ReST with the Yowsup-Rest backend to send and receive WhatsApp messages. Inside the Application we put our logic behind an own Plugin API (blue). That enables us to add more and more features over the time. We utilize Reactor (gray) to pass messages forth and back to the Plugins. As persistance layer we choose mongodb. This layer can runs as Standalone Application by default. To integrate it with the others the Yowsup-profile needs to be active.

  • Yowsup-Rest: Thats a Spring Boot ReST-Service which abstracts all the Yowsup communication behind the two Resources /inbox and /outbox.

  • Yowsup: Yowsup is a really cool 3rd Party Framework to communicates with WhatsApp. On-Top of yowsup we put a "File" Layer to controll it from Yowsup-Rest. Why Files? See our diary.

We submit the VotesApp stack to the SpringBoot Content only.

Recent diary entries

This project was triggered because of the Spring Boot Contest. To keep the judges up to date and show them why we decided like this on some points, we try to keep the diary up to date. So if you are interested in the huzzle we had, have a look :)

  • *Ring, Ring* ..... "Oh, i've got some message"
  • Make it fucking Delightful! - Michael Ducy
  • It's deployed!
  • view all articles