private member portal for churches, built with Ruby on Rails
Ruby HTML CSS CoffeeScript Shell ApacheConf
Latest commit 87d690e Aug 3, 2016 @seven1m seven1m Update nginx config
Permalink
Failed to load latest commit information.
.capistrano Update Capistrano config Jan 3, 2015
app Don't verify authenticity of post from mailgun Aug 4, 2016
bin Regenerate bin directory for Rails 4.1 Aug 2, 2014
build Update nginx config Aug 4, 2016
cache remove .empty files in favor of .gitignore, which is more standard Feb 25, 2009
config Another bunch of texts translated to Czech Jun 17, 2016
db Added alias to person, name_and_nick display method, updated director… Apr 6, 2016
doc Fix schedule (crontab) and added instructions for proper RVM setup. Mar 19, 2011
lib Simplify Site model and improve coverage Sep 7, 2015
log remove .empty files in favor of .gitignore, which is more standard Feb 25, 2009
plugins Plugins dropped in the plugins/ directory are auto-loaded. Nov 26, 2010
public Add remote printing capabilities to check-in Mar 25, 2015
script Remove Docker support from main repo. Feb 21, 2016
spec Update code style Apr 6, 2016
vendor/assets Don't collapse sidebar nav groups Apr 5, 2016
.editorconfig Add editorconfig file Oct 26, 2015
.gitignore Fix scripts for building deb package Sep 26, 2015
.hound.yml Release the hounds Feb 6, 2015
.pkgr.yml Move deb package building to docker, fix issues Sep 27, 2015
.powenv Add .powenv for using Pow with RVM. May 30, 2014
.rspec For #344 switched the specs over to the 'rails_helper' format. We hav… Dec 16, 2014
.rubocop.yml Import preview works Aug 25, 2015
.ruby-version removed rails version Oct 9, 2015
.travis.yml Fix travis config for pg Sep 3, 2015
.watchr Update watchr script Nov 10, 2015
CONDUCT.md Add code of conduct to project Sep 30, 2015
Capfile Add whenever to capistrano deploy [fixes #122] Jul 8, 2014
Gemfile Update Rails and other gems Mar 19, 2016
Gemfile.lock Update Rails and other gems Mar 19, 2016
LICENSE Changed license to AGPL v3 Oct 7, 2010
Procfile Add build script for deb package Sep 26, 2015
README.md Add dev instructions for Windows Mar 19, 2016
RELEASES.md Update changelog Apr 5, 2016
Rakefile Remove Rake::Task#abandon Jan 29, 2015
VERSION Bump version for ongoing development Mar 23, 2016
Vagrantfile Fix missing dependency in Vagrant provision script Oct 25, 2015
app.yml Fix reference to repo in app.yml Apr 9, 2016
circle.yml removed rails version Oct 9, 2015
config.ru Upgrade to Rails 4.2 Jan 25, 2015

README.md

screnshots

OneBody

Install on DigitalOcean Install on Amazon EC2 Install on a hypervisor Install elsewhere Chat with us

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.

Contributing to the Project

Build Coverage Code Climate Security Status

Stories Ready Stories in Progress

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:

  1. Fork this repo on GitHub and clone your fork to your computer.
  2. Set up the software on your computer by following the directions in the next section.
  3. Fix the bug!
  4. 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.)
  5. 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

Development Setup Using Vagrant

If you're a developer and want to get everything running locally, this is the easiest way.

Operating System: Windows, Mac, or Linux

  1. Install VirtualBox. It's free and it runs on Windows, Mac, and Linux.
  2. Install Vagrant on your host machine.
  3. Install Git.
  4. 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.)
  5. In your terminal, change to the project directory: cd onebody
  6. 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.

Manual Development Setup on Mac or Linux

  1. Install Ruby 2.2.2 or higher (we recommend you use rbenv or RVM).
  2. Install MySQL.
  3. Install Git.
  4. Install ImageMagick.
  5. Install Node.js.
  6. git clone git://github.com/churchio/onebody.git && cd onebody
  7. mysql -uroot -e "grant all on onebody_dev.* to onebody@localhost identified by 'onebody';"
  8. mysql -uroot -e "grant all on onebody_test.* to onebody@localhost identified by 'onebody';"
  9. cp config/database.yml{.mysql-example,}
  10. gem install bundler
  11. bundle install (If you get an error installing eventmachine, you might need to do this)
  12. cp config/secrets.yml{.example,} && vim config/secrets.yml and add a random secret token to both the "development" and "test" sections (you can use rake secret to generate a new random secret).
  13. rake db:create db:schema:load db:seed
  14. rails server

Now visit the site running in development mode at http://localhost:3000.

Manual Development Setup on Windows

  1. Download the Ruby 2.2 package from http://railsinstaller.org and install.
  2. Download MariaDB stable from https://downloads.mariadb.org and install. Take note of what you enter for the root password.
  3. Download Git from https://git-scm.com/download/win and install.
  4. Download ImageMagick from http://imagemagick.org/www/binary-releases.html#windows and install.
  5. Download Node.js from https://nodejs.org/en/download/ and install.
  6. Open the "Git Bash" program, then run...
  7. git clone git://github.com/churchio/onebody.git && cd onebody
  8. mysql -uroot -pROOT_PASSWORD -e "grant all on onebody_dev.* to onebody@localhost identified by 'onebody';"
  9. mysql -uroot -pROOT_PASSWORD -e "grant all on onebody_test.* to onebody@localhost identified by 'onebody';"
  10. cp config/database.yml{.mysql-example,}
  11. gem install bundler
  12. bundle install
  13. cp config/secrets.yml{.example,} && vim config/secrets.yml and add a random secret token to both the "development" and "test" sections (you can use rake secret to generate a new random secret).
  14. rake db:create db:schema:load db:seed
  15. rails server

Now visit the site running in development mode at http://localhost:3000.

Tests

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

Get Help

Copyright

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

Design is a derivative of AdminLTE, copyright (c) almasaeed2010, available here, licensed under MIT license. See LICENSE.