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.
- 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
Sphinx (searchd) must be installed. No need to configure and launch it separately, everything will be taken care of with rake ts:regenerate
.
- Fork this repository
- Configure the rails app
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
- Open http://0.0.0.0:3000 in your browser
- Start hacking
- Test your changes
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.
- 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.
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.
- Install Virtualbox (can be found in your OS package manager or here).
- Download and install the latest vagrant.
- Install vagrant-exec plugin:
vagrant plugin install vagrant-exec
. - 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 withvagrant halt
and removed withvagrant destroy
. - Remote connection to the Vagrant box is available with
vagrant ssh
, one can run single-shot remote commands likevagrant exec rake db:migrate
(will be run in the context of/vagrant
folder; no need to additionaly statebundle exec
). - Launch the application:
vagrant exec rails s
. It should be accessible at http://localhost:3000, as usual.