Ruby HTML JavaScript CSS Shell
Latest commit 85b42f6 Sep 13, 2017 @hennevogel hennevogel committed on GitHub Merge pull request #178 from dragotin/master
Adopt to Hack Week 16 aka 0x10
Permalink
Failed to load latest commit information.
app Adopt to Hack Week 16 aka 0x10 Sep 13, 2017
archive Initial Rails 4 port Sep 5, 2013
bin Added spring to bundle Mar 18, 2015
config Travis-ci: Use root DB user, enable searchd Jul 21, 2017
db Add slugs to Project Feb 21, 2017
design Update the screenshot for the README Sep 17, 2013
doc Initial commit of the rails app Apr 8, 2013
lib Travis-ci: Use root DB user, enable searchd Jul 21, 2017
log Initial commit of the rails app Apr 8, 2013
public Add a basic gallery because people don't want to use flickr *sigh* Oct 1, 2013
script Test searching with sunspot_search Sep 5, 2014
spec Travis-ci: Use root DB user, enable searchd Jul 21, 2017
sphinx/pids Final touch of deployment Mar 23, 2015
tools Add script to create CSV file from project wiki. May 3, 2013
vendor Initial commit of the rails app Apr 8, 2013
.gitignore Ignore sphinx db location Feb 21, 2017
.rspec Add RSpec config Feb 20, 2017
.rubocop.yml Make rubocop config reflect current version Feb 20, 2017
.rubocop_todo.yml Make rubocop config reflect current version Feb 20, 2017
.travis.yml Travis-ci: Use root DB user, enable searchd Jul 21, 2017
CREDITS.md Update CREDITS.md Mar 31, 2015
Gemfile Upgrade ruby-progressbar to version 1.8.1 Jul 21, 2017
Gemfile.lock Update font-awesome-rails to version 4.7.0.2 Jul 21, 2017
LICENSE Add a license Oct 14, 2013
Procfile Set up unicorn. Apr 11, 2013
README.md Revise README for vagrant dev setup Feb 20, 2017
Rakefile Don't require the solr rake tasks twice Mar 17, 2015
TODO Update todos. Apr 16, 2013
Vagrantfile [dist] Reorganize Vagrantfile and gitignore vendor/bundle Feb 17, 2017
bootstrap.sh Use dev:bootstrap while provisioning vagrant VM Feb 20, 2017
config.ru Initial commit of the rails app Apr 8, 2013

README.md

Build Status Coverage Status Code Climate

HackWeek

A tool to nurture hack ideas into projects and then collaborate on them. It's used during SUSEs hackweek, a week where SUSE engineers can experiment without limits and get their opportunity to innovate, collaborate across teams, and learn.

Features

  • Admins can add hackweeks
  • Users create ideas for a hackweek
  • Users can like and comment on ideas
  • Users can join ideas turning them into projects
  • Users can supplement projects with files, links, agenda items and "needs"
  • Users can supplement themselves with "haves"
  • Ideas/Projects "needs" are matched to Users "haves"
  • Admins can rate project results

Requirements

Sphinx (searchd) must be installed. No need to configure and launch it separately, everything will be taken care of with rake ts:regenerate.

Hack it

cp config/database.yml.example config/database.yml
cp config/application.yml.example config/application.yml
cp config/secrets.yml.example config/secrets.yml
  • Install the ruby gem bundle
bundle install
  • Create the database
rake db:setup
  • Create Sphinx configuration, start the search daemon and index existing DB contents
rake ts:regenerate ts:index
  • Run the rails server
rails server
rspec spec

To make this more convenient for you, we have a rake task that executes the above steps:

bundle exec rake dev:bootstrap

Also, consider developing using Vagrant, documented below.

Resources

  • Design mockups of the rails app are in the design directory.
  • The project list for HackWeek9 is in the Wiki.
  • There are some tools in the tool directory.
  • Data of past hackweeks is in the archive directory.
  • The source of the old webpage is in the gh-pages branch.

Development with Vagrant

As our project involves somewhat complicated setup (MySQL and Shpinx search) even for development environment, we've created Vagrantfile to get you up and running.

  1. Install Virtualbox (can be found in your OS package manager or here).
  2. Download and install the latest vagrant.
  3. Install vagrant-exec plugin: vagrant plugin install vagrant-exec.
  4. Start Vagrant box: vagrant up. It will set up and start an OpenSUSE 13.2 VirtualBox VM in the background. VM will have an autosynced folder /vagrant with your code, and can always be shut down with vagrant halt and removed with vagrant destroy.
  5. Remote connection to the Vagrant box is available with vagrant ssh, one can run single-shot remote commands like vagrant exec rake db:migrate (will be run in the context of /vagrant folder; no need to additionaly state bundle exec).
  6. Launch the application: vagrant exec rails s. It should be accessible at http://localhost:3000, as usual.