This is the code of hacken.in, an event calendar for geeks in and around Cologne, Berlin 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. You can find our backlog here.
When you want to add an event to hacken.in please check with the following guidelines:
- Currently we only feature events in Ruhr area, Berlin and Munich plus BIG events in Europe
- 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
- Networking
If you want to work on the Project, follow the steps described here:
- Fork the Project
- Check out your fork
cd
into the directory, install the bundler gem and runbundle install
- Now create a database config:
cp config/database.yml_example config/database.yml
- The example config requires PostgreSQL including a database and a user
- More information on the database config
- Create the Devise & Omniauth configuration
cp config/initializers/devise.rb_example config/initializers/devise.rb
and edit the keys - Now run
rake db:migrate
to setup your database - To run your application locally you can now use
rails server
- Now visit http://localhost:3000 in your webbrowser and you are ready to go!
If you want to add Events to your local page, you need an administrator:
- Run
rake setup:admin
- Now you can log in with your new administrator ;)
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).
In your working copy, run our bootstrap task, to install all required puppet modules (you only have to do this once):
$ bundle exec rake setup:vagrant
To start up the VM, type:
$ vagrant up
If the Vagrant exits successfully, you can access your local machine under the URL 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're experiencing problems do not hesitate to contact us or - even better - file an issue.
You can reach us on lots of ways. The most prefered one would be either to open an issue here or to use our Google Group.
We use waffle.io to manage our tickets. Everyhing in the "ready" state is ready to be implemented.
We use localeapp to translate everything. If you want to play with the code, you can deactivate it by removing the
initializer for it in the config/initializer
directory.
If we granted you access to localeapp, you will find the api key in the settings of the project.
Pow is a really comfortable way to run the application on your machine. You can learn everything about it here.
If you are in the project directory, you can start Guard with guard
.
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 misbehaviour. Even better: Fix it afterwards ;)
See CONTRIBUTING.md for details