private member portal for churches, built with Ruby on Rails
Ruby HTML CSS CoffeeScript JavaScript Shell
Permalink
Failed to load latest commit information.
.capistrano Update Capistrano config Jan 3, 2015
.circleci Small tweak Sep 17, 2017
app Exclude password fields from authentication api Nov 13, 2017
bin Add webpacker and start converting coffeescript to ES6 Sep 17, 2017
build Update readme Sep 3, 2017
cache remove .empty files in favor of .gitignore, which is more standard Feb 25, 2009
config Locale updates Nov 25, 2017
db Remove postgres-specific stuff from schema.rb :-( Sep 17, 2017
lib Set belongs_to associations as required by default Sep 11, 2017
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 Rubocop stuff Aug 28, 2017
spec Fix bug submitting attendance from two screens at once Sep 22, 2017
vendor/assets Allow reordering of custom select field options Aug 14, 2017
.babelrc Add webpacker and start converting coffeescript to ES6 Sep 17, 2017
.editorconfig Add editorconfig file Oct 26, 2015
.eslintrc Build better custom select component using React Feb 25, 2017
.gitignore Add webpacker and start converting coffeescript to ES6 Sep 17, 2017
.hound.yml Release the hounds Feb 6, 2015
.pkgr.yml We depend on cron too Feb 24, 2017
.postcssrc.yml Add webpacker and start converting coffeescript to ES6 Sep 17, 2017
.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 Fix rubocop rule Jun 11, 2017
.ruby-version Bump ruby version to 2.3.3 Feb 23, 2017
.watchr Update .watchr for progress bar Aug 21, 2017
CHANGELOG.md Update changelog Apr 12, 2017
CONDUCT.md Add code of conduct to project Sep 30, 2015
Capfile Fix capistrano deploy Sep 26, 2017
Gemfile Update gems for security notices Mar 21, 2018
Gemfile.lock Update gems for security notices Mar 21, 2018
LICENSE Changed license to AGPL v3 Oct 7, 2010
Procfile Add build script for deb package Sep 26, 2015
README.md Fix reports Oct 11, 2017
Rakefile Remove Rake::Task#abandon Jan 29, 2015
VERSION Bump version for ongoing work Apr 13, 2017
Vagrantfile Fix vhost config for vagrant [fixes #652] Feb 17, 2017
app.yml Install in Ubuntu 16.04 in DigitalOcean Feb 9, 2017
config.ru Upgrade to Rails 4.2 Jan 25, 2015
package.json Add webpacker and start converting coffeescript to ES6 Sep 17, 2017
yarn.lock Add webpacker and start converting coffeescript to ES6 Sep 17, 2017

README.md

screnshot

OneBody

Install now 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 ten years. Every feature is built by actual church members to meet the need of their own church.

Visit our website at church.io to learn more.

Contributing to the Project

Build 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. 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.3.3 (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.3 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/script/binary-releases.php#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.