Funky World Cup
Funky World Cup is a match predictions website for the FIFA World Cup, that allows you to create groups so you can play with your friends defining prices.
To play on it, you just need an account on Facebook or Twitter. As stated in the disclaimer page, it uses your social network account just for log-in purposes. It doesn't play with your data nor posts in your behalf.
Funky World Cup is open source, so you can collaborate or base your work on it.
How to collaborate
There are two ways of collaboration:
Go to the issues list on Github and report a bug or a feature request.
We then will review it and fix it or add the feature request if fits the project.
When creating issues, please be specific and detailed about what your reporting. Keep in mind that the person that will work on it doesn't have the context you have, haven't seen what youve seen prior to reporting it, and might have no idea what you're talking about, so be clear and descriptive. Attach screenshots if necessary.
Getting your hands dirty and sumbitting patches
Fork the repo into your own account, create a branch with a relevant name that describes what the modifications in that branch do and send us a pull request.
If you work in some of issues from the backlog, the suggested branch name is:
This is a real use case, reported on its corresponding issue.
The gem dependency is handled by the dep gem, so the first thing you have to do is install it
gem install dep
Once installed, you need to install your dependencies, which are listed in the
You need two databases, one for tests and one for your development environment.
Create the databases using your preferred method, either using psql or some GUI tool like pgAdmin
CREATE ROLE funkywc WITH LOGIN CREATEDB PASSWORD 'funkywc'; CREATE DATABASE funky_wc_dev WITH OWNER funkywc ENCODING 'utf8'; CREATE DATABASE funky_wc_test WITH OWNER funkywc ENCODING 'utf8';
Once you have everything installed and your database created you need to set up the application.
First, copy the settings sample file:
Then edit the settings file to setup your database access with the database name and credentials you used in the Database step.
Once the database access is set, run the migrations to create the database structure:
Then, seed the database with the teams and matches for the FIFA World Cup 2014
Now you have everything you need to start the application:
This will put an app server up and running in port 9292 by default, open your browser and point it to http://localhost:9292, you should be able to run the application.
If your planning on playing around with the code, you might want to run the tests, for this you need to install the tests gem dependencies:
dep install -f .gems-test
Then, prepare the database:
This will clone the development database schema into the test database to keep it synchronized. Then run the tests:
You can also use the
shotgun gem to run the application which allows you to make changes and see them without having to restart the app server:
gem install shotgun shotgun -p 9292
shotgun gem will make the server to listen in the port
9393 by default, with the
-p flag you can specify the port of your preference.