GithubHelp home page GithubHelp logo

sinnerschrader / digitalfoosball Goto Github PK

View Code? Open in Web Editor NEW
161.0 161.0 49.0 8.17 MB

⚽ Taking an analog foosball table into the digital age. See our League in action here: http://demo.s2.de

Home Page: http://digitalfoosball.com/

C++ 5.75% C 0.76% Processing 2.59% JavaScript 70.82% CSS 14.90% Shell 0.20% HTML 4.98%

digitalfoosball's Introduction

website sinnerschrader.com status

Made by SinnerSchrader Travis standard-readme compliant

🌍 Source project for https://www.sinnerschrader.com

Screenshot of sinnschrader.com

This repository contains

  1. The sources required to build the markup for sinnerschrader.com
  2. The generated content deployed to sinnerschrader.com
  3. Sources for a Continuous Integration setup on TravisCI

Static assets are placeholders. The unlicensable content assets are available at sinnerschrader/website-static

Install

This project uses node and npm. Go check them out if you don't have them locally installed.

$ git clone https://github.com/sinnerschrader/website.git
cd website
npm install

Usage

This serves as project to maintain sinnerschrader.com. To develop frontend sources you start the local development setup like this:

# In first terminal session
$ npm run watch

# In second terminal session
$ npm start
# Development server running on http://localhost:3000

Please note: To

Contribute

Feel free to dive in! Open an issue or submit a Pull Request. ❤️

website follows the Contributor Covenant Code of Conduct.

You do not need to be a techie to help out – there is the superawesome Github Interface to edit files! Learn about this at the Github Help.

Browser matrix

We do our best to make sinnerschrader.com work on all browsers. When you see something fishy with a OS / browser combination below, let us know.

  • Chrome last 2 version
  • Chrome Mobile last 2 versions
  • Edge last 2 versions
  • Firefox last 2 Versions
  • Internet Explorer 11
  • iOS Safari last 2 versions
  • Opera last 2 versions
  • Safari last 2 versions

Related things

We build all kinds of awesome stuff at SinnerSchrader. Be sure to check out our Github Org.

License

MIT (c) SinnerSchrader

digitalfoosball's People

Contributors

grundprinzip avatar helgri avatar nikuph avatar shoom avatar thereincarnator avatar tordans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

digitalfoosball's Issues

Why not just a couchapp?

Hi guys - Cool stuff! I'm looking at building CouchApps that interact with Arduinos and I was wondering why you guys decided to put a node.js server in between the Arduino and the Couchdb. Is it just so that the the node.js server can relay the score between the Arduino and the Scoreboard in the browser quickly using websockets or are there other reasons?

player statistics

We can't seem to get the player statistics to work, everything else is up and running (including the regular stats) and communicating with our raspberry pi.

Couchdb is throwing the following error:
"new TypeError: new_graph.reduce is not a function"
and
'GET' /kicker/_design/league/_list/user/players?name=playername 500

I'm guessing we're getting that TypeError because it's not getting any actual data.

Any clue where to start looking?
Thanks!

Add a licence

In the readme you reference a licence but I could not find it. So what is it? :-)

Cannot install league app!

Hello,

we are trying to install the league app and are getting multiple errors. I installed following ruby, gem and gems:

$ ruby --version
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]

$ gem --version
1.8.25

$ gem list
activesupport (3.2.13)
archive-tar-minitar (0.5.2)
bourne (1.4.0)
bundler (1.3.4)
chunky_png (1.2.7)
coffee-script (2.2.0)
coffee-script-source (1.6.1)
compass (0.12.2)
downlow (0.1.4)
execjs (1.4.0)
fakeweb (1.3.0)
fssm (0.2.10)
git (1.2.5)
i18n (0.6.1)
jeweler (1.8.4)
jim (0.3.1)
json (1.4.6)
leftright (0.9.1)
listen (0.7.3)
metaclass (0.0.1)
mime-types (1.21)
mocha (0.13.3)
multi_json (1.7.0)
mustache (0.99.4)
rack (1.5.2)
rack-test (0.6.2)
rake (10.0.3)
rdoc (4.0.0)
rubygems-bundler (1.1.1)
rubyzip (0.9.9)
rvm (1.11.3.6)
sass (3.2.7)
shoulda (3.4.0)
shoulda-context (1.0.2)
shoulda-matchers (1.5.4)
soca (0.3.0)
test-unit (2.5.4)
thor (0.14.6, 0.14.0)
typhoeus (0.3.3, 0.2.4)
version_sorter (1.1.0)
yajl-ruby (1.1.0)

----------------------- Error when trying to push league app ---------------------------------------------------------------
soca push -c config.soca.json
~/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': iconv will be deprecated in the future, use String#encode instead. ~/.rvm/gems/ruby-1.9.3-p392/gems/json-1.4.6/lib/json/common.rb:210:inencode': "\xC3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
from ~/.rvm/gems/ruby-1.9.3-p392/gems/json-1.4.6/lib/json/common.rb:210:in generate' from ~/.rvm/gems/ruby-1.9.3-p392/gems/json-1.4.6/lib/json/common.rb:210:ingenerate'
from ~/.rvm/gems/ruby-1.9.3-p392/gems/soca-0.3.0/lib/soca/pusher.rb:87:in push!' from ~/.rvm/gems/ruby-1.9.3-p392/gems/soca-0.3.0/lib/soca/cli.rb:111:inpush'
from ~/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.14.6/lib/thor/task.rb:22:in run' from ~/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.14.6/lib/thor/invocation.rb:118:ininvoke_task'
from ~/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.14.6/lib/thor.rb:263:in dispatch' from ~/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.14.6/lib/thor/base.rb:389:instart'
from ~/.rvm/gems/ruby-1.9.3-p392/gems/soca-0.3.0/bin/soca:5:in <top (required)>' from ~/.rvm/gems/ruby-1.9.3-p392/bin/soca:19:inload'
from ~/.rvm/gems/ruby-1.9.3-p392/bin/soca:19:in <main>' from ~/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:ineval'
from ~/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `

'

The current ruby (2.0.0) and soca version (0.3.3) doesn't work either.

Can you tell me what to do?

Cheers!

Soca alternative?

Hi, great work! We really like this idea and building our own table at the moment.

But i have some Problems with installing Soca. I depends on Ruby 1.9.3 and this is out of service, so it's not this easy to install it. Soca doesn't have any commit since 3 years now. Is there an alternative to deploy the league app?

startup.bash unrealiable

https://github.com/sinnerschrader/digitalfoosball/blob/master/mobileapp/lib/startup.bash uses the following technique to find out the application's base path (at least that's what I get from my own understanding of the script):

SCRIPT_NAME=`which $0`
SCRIPT_PATH=`dirname $SCRIPT_NAME`

The use of which doesn't really make any sense here. Let's assume we installed the application /some/path which is also our current working directory, and we're now executing bash startup.bash (which makes the script behave different compared with executing it as ./startup.bash). $0 will have a value of startup.bash in this case. Calling which has one important implication: It only works correctly if the directory the script resides in is on the current $PATH. If that's not the case, one of two totally different things will happen:

  • If there exists some startup.bash in some directory that is on the current $PATH, for example, /usr/bin/startup.bash, calling which $0 will return /usr/bin/startup.bash which is then trimmed down by dirname to /usr/bin - while we wanted to get /some/path. In fact this could lead to the start of a totally different application.
  • If there isn't any startup.bash in the $PATH, calling which $0 will print an error message and returns nothing. Calling dirname on nothing will print an error message and returns nothing. Startup of the application badly fails.

It all comes down to the fact that which is not a "full path qualifier" for any given relative path. The BashFAQ provides a couple of correct ways in its article How do I determine the location of my script? I want to read some config files from the same place..

Writing to APi

Hello

I was wondering if you would share the syntax & requirements for using POST to advance scoring (say using CURL or a python script rather than the sketch) . I would like to use digital scoring without using Arduino by using a debian based client/server built into the table.

Thanks

Arduino Uno SKU Link Out of Date

In the Wiki for the list of materials needed, it list the Arduino Uno board with a corresponding link to the SparkFun page.

This link now states that this board has been deprecated - http://www.sparkfun.com/products/9950
"The Arduino Uno has a new R3 version. It breaks out a few more pins, moves the reset button, and uses an ATMega16U2 instead of the 8U2. This page is for reference only."

Is it still recommended to use this specific Arduino Uno board or will the newer do fine? http://www.sparkfun.com/products/11021

I imagine it should but wanted to check. Wiki still should note it though I think

"Porting" to Raspberry Pi

Hi,

I wanted to try to put this on my rpi to cut the distance between the Arduino and the Webserver, but I am not quite getting it to run.

I set up mobileapp and league and can connect to couchdb like this:

curl -I http://127.0.0.1:5984/digitalfoosball/_design/league/
HTTP/1.1 200 OK

and it even gives me something that looks like valid HTML. However I am having problems connecting to the webapp. I have it running on these ports:

root@rpi:~/digitalfoosball/mobileapp/lib# netstat -apn | grep -i listen
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 933/beam
tcp 0 0 0.0.0.0:45862 0.0.0.0:* LISTEN 995/node
tcp 0 0 0.0.0.0:53237 0.0.0.0:* LISTEN 995/node
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 754/sshd
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 995/node
tcp 0 0 0.0.0.0:3001 0.0.0.0:* LISTEN 995/node

But I only get empty responses from the server after a long time of connecting (possibly a timeout). When requesting /, or /dialog ... on requesting anything that does not exist i get an instant 404.

curl -I http://127.0.0.1:3000/test
HTTP/1.1 404 Not Found

The only thing I had to change to the code is to make some minor changes to server.js in the mobileapp...to fit to express.js 3.x.x:

app.engine(".html", function(str, options) {
return function(locals){
return mustache.to_html(str, locals);
};
}
);

But that seems to at least be running...any idea on what I am doing wrong?

Cannot Start League App

I setup the complete stack and made sure that the communication between mobile web app and couch db works, however, when I deploy the league app using soca push and want to open the url given by soca url

http://192.168.30.126:5984/digitalfoosball/_design/league/index.htm

I always get the following 404 error:

{"error":"not_found","reason":"Document is missing attachment"}

I'm using CouchDB 1.0.3 and the current soca version. Any ideas why this happens?

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.