Giter Club home page Giter Club logo

keg.io's People

Contributors

crcastle avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

keg.io's Issues

LED light updates

LED should follow the following sequence during Arduino boot:

  • Solid green for 500ms when power is turned on
  • Flashing yellow while booting, connecting to wifi, and making /hello request
    • Flashing red if wifi does not associate with an AP
    • Alternating red and yellow if /hello request returns != 200
    • Solid green if /hello request returns 200

On card scan:

  • Solid yellow if card is scanned successfully and GET request made to server
    • Back to solid green if no response is received from server within 5 seconds
    • Solid red for 500ms if non-200 response is received from server (and make bad sound)
    • Solid blue if 200 response received from server (and open solenoid)
  • Back to solid green if no flow for > 5 seconds (and close solenoid)

Handle time zones properly

The keg.io server is UTC so when I pour a beer at 5pm pacific I get an early bird badge because keg.io thinks I'm pouring a beer before noon.

Create stats page

Some stats suggestions:

  • consumption by keg
  • consumption all-time
  • keg popularity (ranked by gallons/day consumption or something)
  • punchcard (something like this)

Arduino doesn't reconnect to internet and/or server when it temporarily loses connectivity

Comcast connection died for about 10 minutes. When the internet came back, the Arduino didn't reconnect and start sending temp requests again.

After pushing the reset button, it rebooted and started sending requests again.

In fact, I think the Arduino should a) indicate with the LED when it has lost connection to its server and b) try to fix the problem (by resetting itself?)

Web page should know whether a kegerator is "connected"

Right now the web page shows the connection status to the nodejs server. This is pretty much websocket connection status. That's useful. But what would also be useful is the server's connection status to the kegerator.

This could be achieved with a couple steps.

  1. Every kegerator/arduino needs to check-in periodically. This is effectively achieved with temp requests right now. It could also be achieved with "hello" requests. Basically, the arduino should never go for 30s without making a request to the server and getting a 200.
  2. The server should keep track of the last time it has heard from every kegerator/arduino. It could either report the last seen time to the GUI or report connection status of connected/disconnected to the GUI. With the former, the GUI would determine connection status. With the latter the server would determine connection status.
  3. The GUI should then display kegerator connection status. If a kegerator is not connected then the user knows something is wrong. Right now if the arduino can't talk to the server, the user just scans a card and gets no response. Instead the GUI could say in big letters: CONNECTION TO KEGERATOR DOWN. PLEASE RESET ARDUINO. or something like that.

Pouring animation doesn't ever stop

It should update to the volume poured once the pour is finished.

This happened because the pour volume calculation was moved to be managed by the Arduino instead of by the Node.js server.

Add more coasters

One thing that gets non-technical people excited about keg.io is the coaster achievement functionality. Users can earn different coasters (like foursquare badges) based on their drinking activity. For example

Party starter (first drinker of the day)
Party Starter

Early bird (have a beer before noon)
Early Bird

You can see all current ones we've though of here. Some are implemented. Some are placeholders.
https://github.com/dcarney/keg.io/blob/develop/lib/models/coaster.coffee

Please add some more!

Make a pull request that updates coaster.coffee, keg.coffee, and provide a new coaster image. If you only have the skills to do either the coding or the graphics, I'm sure someone else can help you out!

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.