Ruby HTML CSS JavaScript Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app Modify Project Visibility Jul 31, 2018
archive Initial Rails 4 port Sep 5, 2013
bin Update bin and application boot to 5.2 Jul 16, 2018
config Add Impressionist gem Jul 31, 2018
db Modify Project Visibility Jul 31, 2018
design Update the screenshot for the README Sep 17, 2013
lib Adopt to new ThinkingSphinx rake tasks Jul 16, 2018
public Update error pages Jan 29, 2018
spec Modify test cases Jul 31, 2018
storage gitkeep -> keep Jul 16, 2018
tools Add script to create CSV file from project wiki. May 3, 2013
vendor gitkeep -> keep Jul 16, 2018
.gitignore Introduces container based development environment Jun 15, 2018
.rspec Add RSpec config Feb 20, 2017
.rubocop.yml Fix rubocop and regenerate rubocop_todo file Jun 15, 2018
.rubocop_todo.yml Fix rubocop and regenerate rubocop_todo file Jun 15, 2018
.travis.yml Use ruby 2.5.0 in Travis Jun 16, 2018
CREDITS.md Update CREDITS.md Mar 31, 2015
Dockerfile Use an Rails 5.2 adopted version of devise_ichain_authenticatable Jul 16, 2018
Gemfile Add Impressionist gem Jul 31, 2018
Gemfile.lock Add Impressionist gem Jul 31, 2018
LICENSE Add a license Oct 14, 2013
Procfile foreman/rails server to run on :3000 by default Jul 16, 2018
README.md Update Readme Jun 17, 2018
Rakefile Update bin and application boot to 5.2 Jul 16, 2018
TODO Update todos. Apr 16, 2013
Vagrantfile Update vagrant box to 42.3 Nov 14, 2017
bootstrap.sh Some bundle changes to make it build on leap 15 Jun 15, 2018
config.ru Update bin and application boot to 5.2 Jul 16, 2018
docker-compose.override.yml.example Introduces container based development environment Jun 15, 2018
docker-compose.yml foreman/rails server to run on :3000 by default Jul 16, 2018
package.json Adopt application config to rails 5.2 Jul 16, 2018

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

As our project involves somewhat complicated setup (MySQL and Shpinx search) for a development environment, we have created docker and vagrant files to get you up and running.

Docker

  1. Since we mount the hackweek repository into our container we need to map your local user id to the one of the container user. To do that copy the docker-compose.override.yml file and enter your user id (id -u) as CONTAINER_USERID.
cp docker-compose.override.yml.example docker-compose.override.yml
vi docker-compose.override.yml
  1. Set up the development environment:
docker-compose run --rm hackweek bundle exec rake dev:bootstrap
  1. Start the development environment:
docker-compose up --build

Vagrant

  1. Install VirtualBox and vagrant
  2. Install vagrant-exec plugin:
vagrant plugin install vagrant-exec
  1. Start our openSUSE 42.3 based virtual machine with vagrant
vagrant up
  1. Launch the application
vagrant exec foreman start
  1. Access the appliaction as usual
xdg-open http://localhost:3000
  1. Start hacking
  2. Test your changes
vagrant exec rspec
  1. Send pull request
  2. $UCCE$$

Remote connection to the virtual machine is available with vagrant ssh. You can run single-shot remote commands like vagrant exec rake db:migrate. If you are done hacking you can stop the virtual machine with vagrant halt and remove all traces of it with vagrant destroy.

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.