No description or website provided.
Ruby JavaScript
Pull request Compare This branch is 72 commits ahead, 107 commits behind rchatley:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
features Removed Cucumber tests for Withdraw link as this is now hidden May 5, 2012
public put the javascript in a separate file Jul 28, 2011
utils Verify that user registers a reasonable URL. Closes #12 Sep 15, 2011
views Verify that user registers a reasonable URL. Closes #12 Sep 15, 2011
.rvmrc spike: solved Apr 4, 2011
Gemfile.lock Add a realtime graph of scores. Jul 27, 2011 Updated instructions to reflect the fact that there are now several p… May 4, 2012
intense_web_server.rb Multiple startup scripts for multiple servers Dec 4, 2011
ntnu_web_server.rb Workshop for the students in Trondheim Feb 17, 2012
player_x.rb generate some simple "questions", pass them to the players, and check… Apr 6, 2011
player_y.rb generate some simple "questions", pass them to the players, and check… Apr 6, 2011
riga_web_server_warmup.rb Examples of workshops May 4, 2012


This is Extreme Startup. This software supports a workshop where teams can compete to build a software product that satisfies market demand.

This branch is dedicated to DateTimeQuestions.

NB don't show the players the code for this project until after the workshop as otherwise they can cheat.

Getting started

  • Install Ruby 1.9.2 and rubygems
  • (For Windows)
    • Install Ruby DevKit
    • Extract to (e.g.) c:\devkit
    • cd c:\devkit
    • ruby dk.rb init
    • Edit the file config.yml (Add the locations where ruby is installed e.g. c:\Ruby192)
    • ruby dk.rb install
  • cd ../
  • gem install bundler
  • bundle install
  • ruby web_server.rb

Basic development

  • Running unit tests (rspec)
    • gem install rspec
    • rspec spec
    • specs are maintained in the spec/extreme_startup directory
  • Running feature tests (cucumber)
    • gem install cucumber
    • cucumber
    • features are maintained in the features/ directory
  • For Windows users, to get colors in the console

Notes for facilitators

  • Run the server on your machine. It's a Sinatra app that by default runs on port 3000.
  • Everyone needs a computer connected to the same network, so that they can communicate. Check that everyone can see the leaderboard page served by the webapp running on your machine. Depending on the situation, we have used a local/ad-hoc network and that is ok for the game.
  • We have had trouble with things like firewalls, especially on some Windows laptops, so if there are problems, make sure you can ping clients from the server and vice versa.

  • Warmup round: Run ruby warmup_server.rb

  • In the warmup round, just make sure that everyone has something technologically working, you just get the same request repeatedly.

  • Real game: Kill the warmup server, and run ruby web_server.rb. This will clear any registered players, but that's ok.

  • As the game progresses, you can introduce new question types by moving to the next round (hit the /advance_round url). Do this when you feel like some of the teams are making good progress in the current round. Typically we've found this to be about every 10 mins. But you can go faster/slower as you like. There are 6 rounds available.

  • Set a time limit so you know when to stop the game, declare the winner, and retrospect.

  • If you run this workshop, please let us know how it goes.

-- Robert Chatley and Matt Wynne 2011.