Skip to content
This repository has been archived by the owner on Mar 27, 2022. It is now read-only.

Latest commit

 

History

History
137 lines (96 loc) · 8.56 KB

README.md

File metadata and controls

137 lines (96 loc) · 8.56 KB

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.