-
Notifications
You must be signed in to change notification settings - Fork 3
Contributing to Loomio
Loomio is being developed in Ruby on Rails by a team of dedicated volunteers. We are passionate about agile methodology and we favour rapid iteration and continual improvement over trying to do everything perfectly the first time. We have a strong focus on user-centered design. We operate with a “flat” structure, meaning at the end of the day there’s no single person calling the shots. We all work together and decide collectively what the best decisions are. And we make these decisions using Loomio itself.
If you want to start contributing code to Loomio and you're not sure where to start, send a message to the Loomio Developers mailing list at loomio-dev@googlegroups.com. Just mention what your skills/interests are and someone can point you in the right direction.
If you're interested in seeing what the rest of the team is working on, check out our Current Development Trello Board. We currently use Trello (a project/list management tool) to manage our project. For more information on how we organize our tasks, have a read through Loomio Trello Workflow.
Loomio is a Ruby on Rails app, so if you haven't installed Rails on your computer yet, you'll need to do that. Unfortunately, installing Rails is not a trivial task! However, we know you can succeed! Once you've installed Rails follow the instructions for Installing Loomio.
Here is the easiest way to submit code contributions to Loomio:
- Fork the repository - https://github.com/enspiral/loomio
- Make some changes and then push your changes to a branch on your fork
- Submit a pull request - this will notify others that your code is waiting to be reviewed
- Check back on your pull request to see if there are any comments - different people from the team may have comments about the code, and you can talk about potential improvements/changes before it is accepted into the codebase
We're big on the whole "test-driven development" thing. We use rspec to write our tests. If you're making changes to any Rails code, you should be writing tests. If you haven't already, Google "rails rspec" and do some reading. Then have a look in our spec directory to see some examples of how we write our tests.
To run the tests, simply execute bundle exec guard
inside your Loomio project directory. 0 failing tests == a good thing.
Note: we use Jasmine to test our javascript. If you haven't already, you'll need to install PhantomJs (a dependency of Jasmine) to get the javascript tests to run.