Getting started with the OpenHatch code (moved)

To get your own instance of OpenHatch running, follow these five steps and then get in touch with us.

The code is written in Python. It uses the Django toolkit and tries to stick to good software testing practices. If you have Python experience, you should be able to get hacking pretty quickly even if you don't know Django or testing.

Clone our git repository
You will need to have the git version control system installed. Once you do, type this into a terminal:

$ git clone git://gitorious.org/openhatch/oh-mainline.git

It might take a while; it's kind of a big repository. (Like, a hundred megs.)

Read the README
The repository is called milestone-a so you have to "cd" into it:

$ cd milestone-a

There you'll find a README.mkd file. Give it a careful read.

$ less README.mkd

That is what we really keep up to date with the necessary things.

Run the tests
We have automated tests that help us know when we've broken functionality in the OpenHatch code. Running the tests is a good way to make sure your OpenHatch environment works properly! Try this:

$ ./bin/sqlite_mysite test missions

That runs the test suite for just the missions part of the code. It uses the sqlite-based test runner so it runs fast; the real website uses MySQL, not SQLite, but you'll discover that tests run about 10 times faster in the sqlite runner.

Want a website?
Once you've gone through these steps, just visit your own OpenHatch instance on the web. You can start the server with:

$ ./bin/mysite runserver

and load up http://localhost:8000/ in your web browser.

Want a shell?
You can get a shell from which you can play with database objects and the entire codebase. This uses "IPython", similar to "IRB" if you know Ruby.

$ ./bin/mysite shell_plus

Get in touch
The fifth mandatory step (okay, not quite mandatory) is that you say hello to us. There's always someone on the #openhatch IRC channel in freenode. And you can join our Devel mailing list.

Read more documentation
You can find more tips about hacking OpenHatch in other pages in the on this wiki.

You can find things to work on by browsing our bug tracker or asking us!