Licensed under the Eclipse Public License -v 1.0 (see LICENSE.txt
).
originally made by Michael Whittaker / http://www.michael-whittaker.de
see http://pingo.upb.de/humans.txt for a contributor list.
This project was made for a university project with the Chair for Information management and E-Finance of the University of Paderborn. / http://www.upb.de/winfo2
-
Ruby 1.9.3, RubyGems, Bundler (not tested with Windows or JRuby; newer Rubies work, but are not tested for high performance.)
-
Gems: Bundler, for dependencies see
Gemfile
-
MongoDB (tested with 2.x)
-
Thin Webserver (recommended for high performance, not neccessary)
-
Memcache or Redis for Caching (optional)
-
Juggernaut (Github: maccman/juggernaut) and Redis (www.redis.io) optional, required for push support. Push support is enabled by default in production mode.)
-
for Heroku: SimpleWorker account (optional, you can use Resque instead. Use of SimpleWorker is disabled by default.)
-
run
bundle install
-
start MongoDB (see http://www.mongodb.org/display/DOCS/Quickstart) and create an user eclickr:eclickr for database eclickr:
[on command-client:] mongo [ENTER] use eclickr [ENTER] db.addUser("eclickr", "eclickr") [ENTER] exit
-
run
bundle exec rake secret
and enter the generated key inconfig/initializers/secret_token.rb
; or setup an environment variable namedPINGO_RAILS_SECRET_TOKEN
that contains the value from therake secret
command. Do not publish your secret token in the public! -
bundle exec rails server
orbundle exec foreman start
(see Procfile for foreman setup) -
surf to http://localhost:3000/ (or http://localhost:5000/ if you used forman). View from smartphone to see mobile view for participants.
-
sign up as a user and run the following to become an admin:
bundle exec rails runner 'User.first.update_attribute(:admin, true)'
or runbundle exec rake db:seed
to create a default admin user named user@example.com. (Warning: running db:seed empties your database!) -
start Redis and Juggernaut and set URL in
environments/development.rb
(and restart server) for push support.
See the stylesheepts/custom_bootstrap/variables.less
for more info. Some information can also be found in the Github Wiki.
This varies from setup to setup. However, we have good experience using NGINX as a reverse proxy. For high performance, make sure you run the Rails app with the Thin webserver and in production mode, i. e. running the server command with the prefix RAILS_ENV=production
(you can also set ENV vars in your OS). Use TLS/SSL to protect your user data and backup your database regurarily.
Setup the config/environments/production.rb
file and check the config/initializers
-files.
Precompile your assets and serve them with a webserver.
Also, add a link to an imprint in the app/views/layouts/application.html.erb
.
eClickr is localized with default Rails I18n. It uses a rack middleware to set the locale according to the viewer's browser. Files are in config/locales/
.
You can configure most settings in the envireonments-files (i. e. config/environments/{development|production}.rb
) and at config/initializers/*
. The settings are split up because the environment on a developer's machine probably never is the same as the one for production (Caching, Juggernaut, Database, ...).
The settings are named straight-forward and some are also commented.
Run bundle exec cucumber
to run our integration tests (files at features/*
).
Run bundle exec rspec
to run our specs (files at spec/*
).
- Rails Guides at http://guides.rubyonrails.org/v3.2.22/
- http://www.trypingo.com for more information about features and the team
- http://www.upb.de/pingo (our more detailed project website) and http://blog.pingo-projekt.de (our blog)
- if you need support, please open an issue at GitHub: https://github.com/PingoUPB/PINGOWebApp/issues/new
- (or contact us at pingo-support…ät…uni-paderborn.de if you cannot post a publicly visible ticket)
- If you would like to contribute, please fork and create a pull request on Github.