This is the code of hacken.in, an event calendar for geeks in and around Cologne, Ruhr area, Berlin, Hamburg and Munich. If you want to help us in extending the calendar to your city, please contact us in our Google Group.
If you find a bug, please report it on our tracker. We discuss features and problems in our Google Group. If you want to contribute to hacken.in, have a look at our Kanban Board at waffle.io. Just pick a card from the Pick One column and start hacking. This is our current activity level:
Scope of hacken.in
When you want to add an event to hacken.in please check with the following guidelines:
- Currently we only feature events in Cologne, Ruhr area, Berlin and Munich plus BIG events in Germany
- The following topics are allowed:
- Programming (in any language)
- Nerd-Culture (like Star Wars, Ponies, Gaming, Comics...)
- Software Development Methods and Software Engineering
- Electronics and Robots
If you want to work on hacken.in you have two options:
Use our Vagrant VM.
The best method if you haven't tried Rails before and don't want to install PostgreSQL on your computer.
Start hacken.in locally with Pow
If you already have Pow and a local PostgreSQL installation, you are good to go. Just skip to the section
Using the Vagrant VM
Hacken.in can also be started in a virtual machine with Vagrant. This might be the perfect fit if you cannot or don't want to install PostgreSQL or MySQL on your computer. To get started with Vagrant, install the latest version of Vagrant and VirtualBox, and check out your fork of the project (see Getting Started).
Once your checkout is ready, type the following command into your terminal and our friendly setup assistant should take over from there on:
Once it is done, point your browser to hacken.local. All the files you change in your local folder are synced to the virtual machines, so you can work on hacken.in right away.
If you use filesystem encryption, you might receive an error similar to
mount.nfs: mount to NFS server '.../' failed: timed out, giving up. In this case, edit the Vagrantfile and uncomment the line:
config.vm.synced_folder ".", "/opt/hacken.in", type: 'rsync', rsync__args: ['-a']
Afterwards local code can to be re-synced to the VM via
$ vagrant rsync-auto which you can run in the background.
If you run into any problems: Don't be afraid to tell us on Twitter or open a ticket.
- Fork the Project
- Check out your fork
cdinto the directory, install the bundler gem and run
- Now create a database configuration:
cp config/database.yml_example config/database.yml
- The example configuration requires PostgreSQL including a database and a user
- More information on the database configuration
- Now run
rake db:migrate db:seedto setup your database. You will now have an admin user
email@example.com the password
- To run your application locally you can now use
- Now visit http://localhost:3000 in your web browser and you are ready to go!
You can reach us on lots of ways. The most preferred one would be either to open an issue here or to use our Google Group. If you want to drink from the firehose (and see a lot of GIFs) join us in our Slack room. Just ping us on Twitter or send an email to firstname.lastname@example.org and we will add you.
If you are in the project directory, you can start Guard with
This will offer you the following comfortable features:
- Pow: Pow will get restarted automatically when necessary.
- Bundler: Bundler will run, when the Gemfile changes server running
- Specs: If you make changes to a spec or an application file, the according spec will be run and you will get feedback.
Hacken.in is developed in a test-driven way using RSpec and FactoryGirl. If you want to contribute to the project always add tests for your added functionality. If you find a bug it would be really helpful if you add a regression test that displays this misbehavior. Even better: Fix it afterwards
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
See CONTRIBUTING.md for details