OneBody is open-source, web-based social networking, email list, online directory, and lightweight document management software for churches.
This software has been in production use at churches for over nine years. Every feature is built by actual church members to meet the need of their own church.
Visit our website at church.io or browse through our screenshots on Flickr to see more.
We ❤️ contributors! Just check out all these people who have helped make OneBody awesome!
To help fix a bug, first make sure it has a logged issue (if not, create one), then:
- Fork this repo on GitHub and clone your fork to your computer.
- Set up the software on your computer by following the directions in the next section.
- Fix the bug!
- Run the test suite (see the "Tests" section lower in this file) to make sure you didn't break something. (This is kind of optional, since Travis CI will run the test suite when you create your Pull Request anyway.)
- Submit a Pull Request to get your bug fix merged!
If you'd like to add an awesome new feature, please join our Slack chat to talk about what you want to do. We'd like to give you some guidance on approach, coding style, tests, etc.
FAQs for Contributors Code of Conduct
If you're a developer and want to get everything running locally, this is the easiest way.
Operating System: Windows, Mac, or Linux
- Install VirtualBox. It's free and it runs on Windows, Mac, and Linux.
- Install Vagrant on your host machine.
- Install Git.
- If you're on Mac, you can use GitHub for Mac.
- If you're on Windows, you can use GitHub for Windows.
- Clone the repository to your host machine:
git clone git://github.com/churchio/onebody.git
(If you forked the project, clone from your own fork.) - In your terminal, change to the project directory:
cd onebody
- Run vagrant:
vagrant up
Now visit the site running in development mode at http://localhost:8080.
You can use your favorite text editor to make changes inside the onebody
directory. Changes should show in your browser after refreshing.
Check out Using Vagrant on the wiki for further help and tips.
- Install Ruby 2.2.2 or higher (we recommend you use rbenv or RVM).
- Install MySQL.
- Install Git.
- Install ImageMagick.
- Install Node.js.
git clone git://github.com/churchio/onebody.git && cd onebody
mysql -uroot -e "grant all on onebody_dev.* to onebody@localhost identified by 'onebody';"
mysql -uroot -e "grant all on onebody_test.* to onebody@localhost identified by 'onebody';"
cp config/database.yml{.mysql-example,}
gem install bundler
bundle install
(If you get an error installing eventmachine, you might need to do this)cp config/secrets.yml{.example,} && vim config/secrets.yml
and add a random secret token to both the "development" and "test" sections (you can userake secret
to generate a new random secret).rake db:create db:schema:load db:seed
rails server
Now visit the site running in development mode at http://localhost:3000.
- Download the Ruby 2.2 package from http://railsinstaller.org and install.
- Download MariaDB stable from https://downloads.mariadb.org and install. Take note of what you enter for the root password.
- Download Git from https://git-scm.com/download/win and install.
- Download ImageMagick from http://imagemagick.org/www/binary-releases.html#windows and install.
- Download Node.js from https://nodejs.org/en/download/ and install.
- Open the "Git Bash" program, then run...
git clone git://github.com/churchio/onebody.git && cd onebody
mysql -uroot -pROOT_PASSWORD -e "grant all on onebody_dev.* to onebody@localhost identified by 'onebody';"
mysql -uroot -pROOT_PASSWORD -e "grant all on onebody_test.* to onebody@localhost identified by 'onebody';"
cp config/database.yml{.mysql-example,}
gem install bundler
bundle install
cp config/secrets.yml{.example,} && vim config/secrets.yml
and add a random secret token to both the "development" and "test" sections (you can userake secret
to generate a new random secret).rake db:create db:schema:load db:seed
rails server
Now visit the site running in development mode at http://localhost:3000.
To run tests:
rspec
If you don't have a test database yet, create it like you did the dev database:
RAILS_ENV=test rake db:create db:schema:load
Copyright (c) Tim Morgan
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This software is license under the GNU Affero General Public License, version 3. See LICENSE provided with this program for the entire text.
"Church.IO" is a trademark of our federation of developers and cannot be used for promotional purposes without express written permission.
Design is a derivative of AdminLTE, copyright (c) almasaeed2010, available here, licensed under MIT license. See LICENSE.