GithubHelp home page GithubHelp logo

ivanmoore / extreme_startup Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rchatley/extreme_startup

0.0 0.0 0.0 246 KB

License: Other

Shell 0.35% JavaScript 21.79% Ruby 64.90% CSS 1.00% Dockerfile 0.33% Haml 5.44% Gherkin 6.19%

extreme_startup's Introduction

Welcome

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

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

Getting started

The simplest way to get Extreme Startup running is to run in Docker.

# The first time
docker build -t extreme_startup .         # ./build.sh
docker run -d -p 80:3000 extreme_startup  # ./run.sh

and for warmup round

docker run -d -p 80:3000 -e WARMUP=1 extreme_startup   # ./warmup.sh

You can even run the tests in Docker if you are making changes to the code

docker run --rm -it --entrypoint=rake extreme_startup   # ./test.sh

For more information on How to manage docker read Docker docs

See bottom for how to run this native (the hard way/the Rubyist way).

Notes for facilitators

  • Run the server on your machine. It's a Sinatra app that by default runs on port 3000 (the docker scripts typically map to port 80).

  • 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 the web server with the WARMUP environment variable set (note that the result of running with WARMUP=0 is undefined):

WARMUP=1 ruby web_server.rb  # or ./warmup.sh
  • In the warmup round, just make sure that everyone has something technologically working, you just get the same request repeatedly. @bodil has provided some nice sample players in different languages.

  • Real game: revert to using the full QuizMaster, and restart the server. 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. Visit /controlpanel and press the "Advance round" button. 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.

  • In case you want to 'stop the world' and reflect with the players during the game, you can use the "Pause Game" button in /controlpanel.

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

-- Robert Chatley and Matt Wynne 2011.

People Who've Run Extreme Startup Sessions

If you run this workshop, please write it up on the internet and send us a link to add to this list.

Running "natively" (without Docker)

If you want to run the workshop without Docker you need to get this running (not tested in a few years):

  • Install Ruby 1.9.3 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:\Ruby193)
    • ruby dk.rb install
  • (For Ubuntu 12.04 onwards)

  • (For Mac (Xcode 5.1 onwards))

  • Install dependencies:

cd ../<extreme startup dir>
gem install bundler
bundle install
  • Start the game server
bundle exec ruby web_server.rb

extreme_startup's People

Contributors

rchatley avatar mattwynne avatar jhannes avatar duksis avatar kjetiljd avatar peterbeewestmacott avatar fiqwrk avatar lenary avatar neomatrix369 avatar mlainez avatar mahnve avatar tyrcho avatar oc avatar tclavier avatar twillouer avatar anders88 avatar andyw8 avatar britter avatar ivanmoore avatar kytrinyx avatar kimjoar avatar magnars avatar neiltarrant avatar bryant1410 avatar seblm avatar mostalive avatar

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.