Skip to content

aquashift/hackweek

 
 

Repository files navigation

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.

About

SUSE Hack Week tools and data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 58.7%
  • HTML 27.5%
  • JavaScript 9.0%
  • CSS 3.8%
  • Shell 1.0%