/hackweek

SUSE Hack Week tools and data

Primary LanguageJavaScriptMIT LicenseMIT

Build Status Coverage Status Code Climate

HackWeek

A tool to nurture hack ideas into projects and then collaborate on them. It's used during SUSE's hackweek, a week where SUSE employees 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) and MariaDB must be installed and running. No need to configure and launch Sphinx separately, everything will be taken care of with rake ts:regenerate.

Hack it

You can run the development environment with foreman start -p 3000. As our project involves somewhat complicated setup (MySQL and Sphinx search) for a development environment, we have created a Docker Compose setup to get you up and running.

  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. Otherwise files created inside the container might not be writeable. If your user id (id -u) is something else than 1000, then copy the docker-compose.override.yml file and set your user id number in the variable CONTAINER_USERID.
    cp docker-compose.override.yml.example docker-compose.override.yml
    vi docker-compose.override.yml
    
  2. Set up the development environment:
    docker-compose run --rm hackweek bundle exec rake dev:bootstrap
    
  3. Start the development environment:
    docker-compose up --build
    
  4. Access the application as usual:
    xdg-open http://0.0.0.0:3000
    
  5. Start hacking
  6. Test your changes
    docker-compose exec hackweek rspec
    
  7. Send pull request
  8. $UCCE$$

"Remote" connection to the container is available with docker-compose exec hackweek /bin/bash. You can run single-shot remote commands like docker-compose exec hackweek rake db:migrate.

Resources

  • Design mockups of the Rails app are in the design directory.
  • There are some tools in the tool directory.
  • Data of past hackweeks is in the archive directory.